اپلیکیشن اندرویدی فلشکارت آموزشی راهنمای جامع تست فرانتاند با تمرکز بر امنیت و عملکرد
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره راهنمای جامع تست فرانتاند با تمرکز بر امنیت و عملکرد
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای دوره
- 1. مقدمهای بر تست نرمافزار و اهمیت آن
- 2. چرا تست فرانتاند مهم است؟
- 3. انواع تست در فرانتاند: واحد، یکپارچهسازی و سرتاسری
- 4. معرفی هرم تست (Testing Pyramid) و کاربرد آن
- 5. آشنایی با مفاهیم پایه: Test Runner, Assertion Library, Mocking
- 6. مروری بر ابزارها و اکوسیستم تست جاوا اسکریپت
- 7. آمادهسازی محیط توسعه برای تستنویسی (Node.js, npm/yarn)
- 8. ذهنیت صحیح برای نوشتن تستهای مؤثر
- 9. مقدمهای بر تست واحد (Unit Testing)
- 10. آشنایی با فریمورک Jest به عنوان Test Runner
- 11. نوشتن اولین تست واحد با Jest
- 12. ساختار یک فایل تست: describe, it, test
- 13. آشنایی با Matcherهای پرکاربرد در Jest
- 14. تست توابع خالص (Pure Functions)
- 15. استفاده از beforeEach, afterEach, beforeAll, afterAll
- 16. تست کدهای ناهمگام (Asynchronous): Promises و Async/Await
- 17. مفهوم Mocking و Spying در تست واحد
- 18. شبیهسازی (Mock) توابع و ماژولها با Jest
- 19. آشنایی با مفهوم Code Coverage و نحوه تحلیل گزارش آن
- 20. معرفی تست اسنپشات (Snapshot Testing) و کاربردهای آن
- 21. تست کامپوننتهای UI به صورت واحد
- 22. بهترین شیوهها در نوشتن تستهای واحد
- 23. مقدمهای بر تست یکپارچهسازی (Integration Testing)
- 24. فلسفه کتابخانه React Testing Library (RTL)
- 25. راهاندازی React Testing Library به همراه Jest
- 26. آشنایی با انواع کوئریها در RTL (getBy, queryBy, findBy)
- 27. شبیهسازی تعاملات کاربر با fireEvent و user-Event
- 28. تست فرمها و ورودیهای کاربر
- 29. شبیهسازی (Mock) فراخوانیهای API در تستهای یکپارچهسازی
- 30. معرفی ابزار Mock Service Worker (MSW)
- 31. تست کامپوننتهایی که از Context API استفاده میکنند
- 32. تست هوکهای سفارشی (Custom Hooks)
- 33. تست کامپوننتهای مرتبط با مسیریابی (Routing)
- 34. تست کامپوننتهای متصل به State Management (مانند Redux)
- 35. بهترین شیوهها در نوشتن تستهای یکپارچهسازی
- 36. مقدمهای بر تست سرتاسری (End-to-End Testing)
- 37. مقایسه ابزارهای E2E: Cypress در مقابل Playwright
- 38. راهاندازی و پیکربندی اولیه Cypress
- 39. آشنایی با معماری و رابط کاربری Cypress Test Runner
- 40. نوشتن اولین تست E2E با Cypress
- 41. انتخاب عناصر DOM و تعامل با آنها در Cypress
- 42. دستورات و Assertionهای پرکاربرد در Cypress
- 43. مدیریت انتظار و کدهای ناهمگام در تستهای E2E
- 44. رهگیری و شبیهسازی درخواستهای شبکه (Network Requests)
- 45. استفاده از Fixtures برای مدیریت دادههای تست
- 46. نوشتن دستورات سفارشی (Custom Commands)
- 47. الگوی Page Object Model (POM) برای سازماندهی تستها
- 48. تست واکنشگرایی (Responsiveness) در Viewportهای مختلف
- 49. دیباگ کردن تستهای E2E در Cypress
- 50. اجرای تستها به صورت Headless در خط فرمان
- 51. مقدمهای بر تست رگرسیون بصری (Visual Regression Testing)
- 52. کاربرد Storybook برای توسعه و تست ایزوله کامپوننتها
- 53. استفاده از ابزارهایی مانند Percy یا Chromatic برای مقایسه بصری
- 54. مقدمهای بر تست دسترسپذیری (Accessibility Testing - a11y)
- 55. استفاده از ابزار axe-core برای شناسایی مشکلات دسترسپذیری
- 56. ادغام تستهای دسترسپذیری در Jest با jest-axe
- 57. چکلیست تست دستی دسترسپذیری
- 58. مقدمه ای بر اهمیت عملکرد (Performance) در فرانتاند
- 59. معرفی معیارهای Core Web Vitals (LCP, FID, CLS)
- 60. استفاده از ابزار Lighthouse برای ممیزی عملکرد
- 61. تحلیل گزارش Lighthouse و یافتن گلوگاههای عملکردی
- 62. اتوماسیون اجرای Lighthouse در CI/CD
- 63. مقدمهای بر ابزار WebPageTest برای تحلیل عمیقتر
- 64. تحلیل نمودار آبشاری (Waterfall Chart) برای بهینهسازی بارگذاری منابع
- 65. اندازهگیری عملکرد رندرینگ با Performance Tab در DevTools
- 66. تحلیل حجم باندل (Bundle Size) و روشهای کاهش آن
- 67. شناسایی و رفع نشت حافظه (Memory Leaks) در جاوا اسکریپت
- 68. تعریف بودجه عملکرد (Performance Budgets) و نحوه پایش آن
- 69. مقدمهای بر امنیت در فرانتاند
- 70. معرفی OWASP Top 10 از دیدگاه توسعهدهنده فرانتاند
- 71. آسیبپذیری Cross-Site Scripting (XSS): شناسایی و تست
- 72. آسیبپذیری Cross-Site Request Forgery (CSRF): شناسایی و تست
- 73. تست پیادهسازی صحیح Content Security Policy (CSP)
- 74. تست نحوه مدیریت توکنهای احراز هویت (JWT) در کلاینت
- 75. تست برای جلوگیری از Clickjacking
- 76. بررسی امنیتی وابستگیها (Dependencies) با npm audit
- 77. استفاده از لینترهای امنیتی (Security Linters)
- 78. مقدمهای بر ابزارهای اسکن امنیتی دینامیک (DAST)
- 79. بهترین شیوهها برای کدنویسی امن در فرانتاند
- 80. مفهوم یکپارچهسازی و تحویل مداوم (CI/CD)
- 81. ادغام تستها در پایپلاین CI/CD (مثال: GitHub Actions)
- 82. اجرای خودکار تستها پس از هر Commit
- 83. تولید و انتشار گزارشهای تست و پوشش کد
- 84. استراتژیهای تست: چه چیزی را، چگونه و چه زمانی تست کنیم
- 85. توسعه مبتنی بر تست (Test-Driven Development - TDD) در فرانتاند
- 86. توسعه مبتنی بر رفتار (Behavior-Driven Development - BDD) با Cucumber.js
- 87. استراتژیهای تست بین مرورگری (Cross-Browser Testing)
- 88. استفاده از پلتفرمهای تست ابری (مانند BrowserStack)
- 89. مدیریت و کاهش تستهای ناپایدار (Flaky Tests)
- 90. جمعبندی دوره و گامهای بعدی برای تسلط بیشتر
- 91. **تست کامپوننتها با Storybook و Chromatic:** تست بصری و تعاملی کامپوننتها
- 92. **تست Accessibility (A11y) برای اطمینان از دسترسپذیری:** استفاده از ابزارها و تکنیکها برای شناسایی مشکلات دسترسی
- 93. **تست Performance: ارزیابی سرعت بارگذاری و رندرینگ صفحات:** بررسی شاخصهای کلیدی عملکرد و بهینهسازی آنها
- 94. **تست Security در فرانتاند: جلوگیری از XSS و CSRF:** شناسایی و مقابله با آسیبپذیریهای رایج امنیتی
- 95. **تست Visual Regression: شناسایی تغییرات بصری ناخواسته:** مقایسه تصاویر قبل و بعد از تغییرات کد
- 96. **تست End-to-End با Cypress و Playwright:** تست سناریوهای کاربری در مرورگر واقعی
- 97. **پیادهسازی Continuous Integration (CI) و Continuous Deployment (CD) برای تست خودکار:** اتوماتیکسازی فرآیند تست و دیپلوی
- 98. **تست موبایل و Responsiveness:** اطمینان از عملکرد صحیح در دستگاههای مختلف
- 99. **استراتژیهای Mocking پیشرفته برای تست ایزوله:** مدیریت وابستگیهای پیچیده در تستها
- 100. **گزارشگیری و مانیتورینگ تستها:** تحلیل نتایج تست و بهبود مستمر کیفیت
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.