اپلیکیشن اندرویدی فلشکارت آموزشی اصول تست برای قابلیت اطمینان (Reliability) در فرانتاند
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره اصول تست برای قابلیت اطمینان (Reliability) در فرانتاند
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای دوره
- 1. مقدمهای بر قابلیت اطمینان (Reliability) در نرمافزار
- 2. چرا تست فرانتاند برای قابلیت اطمینان حیاتی است؟
- 3. هزینههای عدم تست: مطالعه موارد واقعی
- 4. هرم تست (Testing Pyramid) و تروفی تست (Testing Trophy)
- 5. انواع تست: واحد (Unit)، یکپارچهسازی (Integration)، انتها به انتها (End-to-End)
- 6. آشنایی با ابزارهای اصلی: Jest و Vitest
- 7. آشنایی با کتابخانههای کمکی: Testing Library
- 8. راهاندازی محیط توسعه برای تست
- 9. نوشتن اولین تست واحد (Unit Test)
- 10. ساختار یک فایل تست: describe, it/test, expect
- 11. مفاهیم Assertions و Matchers
- 12. تستنویسی به عنوان مستندات زنده (Living Documentation)
- 13. پوشش کد (Code Coverage) چیست و چرا اهمیت دارد؟
- 14. پیکربندی ابزارهای گزارشگیری پوشش کد
- 15. درک گزارشهای پوشش کد و نحوه بهبود آن
- 16. تست توابع خالص (Pure Functions)
- 17. تست توابع با عوارض جانبی (Side Effects)
- 18. مقدمهای بر Mocking، Stubbing و Spying
- 19. استفاده از Jest/Vitest Mocks برای شبیهسازی ماژولها
- 20. شبیهسازی توابع و متدها (Function Mocking)
- 21. مقدمهای بر تست کامپوننتهای UI
- 22. رندر کردن کامپوننتها در محیط تست با Testing Library
- 23. پیدا کردن المانها: متدهای `getBy`, `findBy`, `queryBy`
- 24. بهترین شیوهها برای انتخاب سلکتورها (Queries)
- 25. شبیهسازی رویدادهای کاربر (User Events) با `fireEvent`
- 26. استفاده از `user-event` برای شبیهسازی واقعیتر تعاملات
- 27. تست وضعیت اولیه (Initial State) کامپوننت
- 28. تست تغییرات وضعیت پس از تعامل کاربر
- 29. تست Props و تاثیر آن بر رندر کامپوننت
- 30. تست کامپوننتهای شرطی (Conditional Rendering)
- 31. تست لیستها و رندرینگ تکراری
- 32. استفاده از Snapshot Testing: مزایا و معایب
- 33. مدیریت و بهروزرسانی Snapshotها
- 34. تست هوکهای سفارشی (Custom Hooks)
- 35. تست Context و Providerها در کامپوننتها
- 36. تفاوت تست واحد و یکپارچهسازی در عمل
- 37. سناریوهای کلیدی برای تست یکپارچهسازی
- 38. تست تعامل بین دو یا چند کامپوننت
- 39. تست فرمها و اعتبارسنجی ورودیها
- 40. تست ناوبری و مسیریابی (Routing)
- 41. شبیهسازی API: چرا و چگونه؟
- 42. معرفی Mock Service Worker (MSW)
- 43. راهاندازی MSW برای تستهای یکپارچهسازی
- 44. نوشتن تست برای کامپوننتهایی که داده از API دریافت میکنند
- 45. تست حالتهای بارگذاری (Loading)
- 46. تست حالتهای خطا (Error States) در ارتباط با API
- 47. تست عملیات POST، PUT، DELETE
- 48. تست مدیریت وضعیت سراسری (Global State Management)
- 49. تست اکشنها و ردیوسرها (Redux/Zustand)
- 50. تست سلکتورها و تاثیرشان بر کامپوننت
- 51. تست تعامل کامپوننت با استور سراسری
- 52. تست فرآیندهای چند مرحلهای (Multi-step flows)
- 53. ایزوله کردن تستهای یکپارچهسازی از وابستگیهای خارجی
- 54. سازماندهی فایلهای تست یکپارچهسازی
- 55. اشکالزدایی (Debugging) تستهای یکپارچهسازی
- 56. مقدمهای بر تست انتها به انتها (E2E) و نقش آن در قابلیت اطمینان
- 57. انتخاب ابزار مناسب: Cypress در مقابل Playwright
- 58. راهاندازی اولین پروژه E2E با Cypress
- 59. ساختار یک تست E2E: بازدید، تعامل، ارزیابی
- 60. نوشتن اولین تست E2E برای یک سناریوی کاربر
- 61. بهترین شیوهها برای انتخاب سلکتورها در تست E2E
- 62. استفاده از `data-testid` برای تستهای پایدار
- 63. مدیریت عملیات آسنکرون و انتظار (Waiting)
- 64. استفاده از Commands و Custom Commands در Cypress
- 65. تست سناریوهای لاگین و احراز هویت
- 66. مدیریت کوکیها و Local Storage در تستها
- 67. استفاده از Fixtures برای دادههای تستی
- 68. رهگیری درخواستهای شبکه (Network Intercepting)
- 69. اجرای تستهای E2E در حالت Headless
- 70. گرفتن اسکرینشات و ویدئو از تستهای ناموفق
- 71. تست رگرسیون بصری (Visual Regression Testing) چیست؟
- 72. پیادهسازی تست بصری با ابزارهایی مانند Storybook و Chromatic
- 73. مقدمهای بر تست دسترسپذیری (Accessibility - a11y)
- 74. تست خودکار دسترسپذیری با `axe-core`
- 75. ادغام تستهای a11y در روند توسعه
- 76. مقدمهای بر تست کارایی (Performance Testing) در فرانتاند
- 77. سنجش معیارهای Core Web Vitals
- 78. استفاده از Lighthouse برای تحلیل خودکار کارایی
- 79. تست بار (Load Testing) برای کامپوننتهای پیچیده
- 80. اصول تست امنیت در فرانتاند (XSS, CSRF)
- 81. ابزارهای اسکن امنیتی خودکار
- 82. تست طراحی واکنشگرا (Responsive Design)
- 83. استراتژیهای تست Cross-Browser
- 84. استفاده از سرویسهای ابری برای تست Cross-Browser
- 85. تست حالت آفلاین و برنامههای وب پیشرونده (PWA)
- 86. مهندسی آشوب (Chaos Engineering) در فرانتاند
- 87. تست مدیریت خطا و نمایش پیامهای مناسب به کاربر
- 88. رصد خطاها در پروداکشن با ابزارهایی مانند Sentry
- 89. تست Internationalization (i18n) و Localization (l10n)
- 90. تست بر اساس ویژگی (Property-Based Testing)
- 91. ساختن فرهنگ تست در تیم توسعه
- 92. توسعه مبتنی بر آزمون (TDD) در فرانتاند
- 93. توسعه مبتنی بر رفتار (BDD) و ابزار Cucumber/Gherkin
- 94. تعریف استراتژی تست برای یک پروژه جدید
- 95. مقدمهای بر یکپارچهسازی مداوم (CI) و تحویل مداوم (CD)
- 96. ادغام تستها در CI Pipeline با GitHub Actions
- 97. اجرای موازی تستها برای افزایش سرعت
- 98. مدیریت و بازبینی (Refactoring) تستهای قدیمی
- 99. تحلیل نتایج تست و تصمیمگیری بر اساس آنها
- 100. جمعبندی: نقشه راه برای دستیابی به قابلیت اطمینان پایدار در فرانتاند
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.