اپلیکیشن اندرویدی فلشکارت آموزشی اصول تست برای قابلیت اطمینان (Reliability) در فرانتاند
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره اصول تست برای قابلیت اطمینان (Reliability) در فرانتاند
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای دوره
- 1. مقدمهای بر قابلیت اطمینان (Reliability) در نرمافزار
- 2. چرا تست فرانتاند برای قابلیت اطمینان حیاتی است؟
- 3. هزینههای عدم تست: از باگ تا از دست دادن کاربر
- 4. هرم تست (Testing Pyramid) و تروفی تست (Testing Trophy)
- 5. انواع تستهای فرانتاند: واحد، یکپارچهسازی، سرتاسری
- 6. معرفی تستهای غیرعملکردی: کارایی، دسترسپذیری، بصری
- 7. انتخاب ابزارهای مناسب: Jest, RTL, Cypress, Playwright
- 8. راهاندازی محیط توسعه برای تستنویسی
- 9. مفاهیم پایه: Assertion, Matchers
- 10. درک تفاوت Mock, Stub و Spy
- 11. اولین تست واحد شما: یک تابع ساده
- 12. ساختار یک فایل تست: Arrange, Act, Assert
- 13. مقدمهای بر Jest به عنوان Test Runner
- 14. نوشتن و اجرای اولین تست با Jest
- 15. گروهبندی تستها با `describe` و `it`
- 16. هوکهای Jest: `beforeEach`, `afterEach`, `beforeAll`, `afterAll`
- 17. متداولترین Matcherها در Jest
- 18. تست توابع آسنکرون: Promises, async/await
- 19. آشنایی با React Testing Library (RTL) و فلسفه آن
- 20. رندر کردن کامپوننتها در تست با RTL
- 21. انواع کوئریها در RTL و اولویتبندی آنها
- 22. تست وجود المانها در کامپوننت
- 23. شبیهسازی رویدادهای کاربر با `fireEvent` و `user-event`
- 24. تفاوت `fireEvent` و `user-event` و چرایی ارجحیت دومی
- 25. تست state و props در کامپوننتها
- 26. تست کامپوننتهای شرطی (Conditional Rendering)
- 27. تست لیستها و رندر شدن آیتمها
- 28. آشنایی با Mocking در Jest: `jest.fn()`
- 29. Mock کردن ماژولها و وابستگیها
- 30. تست هوکهای سفارشی (Custom Hooks)
- 31. استفاده از `waitFor` برای مدیریت بهروزرسانیهای آسنکرون DOM
- 32. پوشش کد (Code Coverage) چیست و چگونه آن را تحلیل کنیم؟
- 33. تستنویسی مبتنی بر ویژگی (Property-Based Testing)
- 34. اسنپشات تستینگ (Snapshot Testing): مزایا و معایب
- 35. مدیریت و بهروزرسانی اسنپشاتها
- 36. تست یکپارچهسازی چیست و چه زمانی به آن نیاز داریم؟
- 37. تست تعامل بین چندین کامپوننت والد و فرزند
- 38. شبیهسازی یک جریان کاربری ساده (Simple User Flow)
- 39. چالشهای تست یکپارچهسازی: وابستگیهای خارجی
- 40. مقدمهای بر Mock Service Worker (MSW)
- 41. راهاندازی MSW برای Mock کردن درخواستهای API
- 42. نوشتن تست برای کامپوننتهایی که داده fetch میکنند
- 43. تست حالتهای مختلف API: موفقیت، خطا، در حال بارگذاری
- 44. تست فرمها و اعتبارسنجی ورودیها
- 45. تست یکپارچهسازی با سیستمهای مدیریت وضعیت (State Management)
- 46. تست با Redux Toolkit: تست slice ها و selector ها
- 47. تست تعامل کامپوننت با Redux store
- 48. تست مسیریابی (Routing) با React Router
- 49. شبیهسازی ناوبری کاربر بین صفحات مختلف
- 50. تست پارامترهای URL و Query Params
- 51. تست کامپوننتهای محافظتشده (Protected Routes)
- 52. استراتژیهای تست برای میکر وفرانتاندها
- 53. جداسازی تستهای واحد از تستهای یکپارچهسازی
- 54. مقدمهای بر تست سرتاسری (End-to-End)
- 55. انتخاب ابزار: Cypress در مقابل Playwright
- 56. نصب و راهاندازی Cypress
- 57. ساختار یک تست E2E در Cypress
- 58. نوشتن اولین تست E2E: باز کردن صفحه و بررسی عنوان
- 59. انتخاب المانها (Selectors) در Cypress
- 60. تعامل با المانها: کلیک، تایپ، انتخاب
- 61. Assertion ها در Cypress
- 62. مدیریت انتظار (Waiting) و Timeouts
- 63. تست جریانهای کاربری پیچیده: لاگین، خرید
- 64. استفاده از Fixtures برای مدیریت دادههای تستی
- 65. استفاده از دستورات سفارشی (Custom Commands)
- 66. Mock کردن درخواستهای شبکه در Cypress با `cy.intercept()`
- 67. تست واکنشگرایی (Responsiveness) با تغییر Viewport
- 68. مدیریت کوکیها، Local Storage و Session
- 69. اجرای تستها در مرورگرهای مختلف (Cross-browser E2E)
- 70. ضبط ویدئو و اسکرینشات از تستهای ناموفق
- 71. آشنایی با Playwright به عنوان جایگزین Cypress
- 72. مقدمهای بر تستهای غیرعملکردی و اهمیت آنها
- 73. تست دسترسپذیری (Accessibility - a11y) چیست؟
- 74. ابزارهای تست a11y: `jest-axe` و `cypress-axe`
- 75. تست خودکار کنتراست رنگ و برچسبهای ARIA
- 76. تست کارایی (Performance) در فرانتاند
- 77. معرفی Core Web Vitals و نحوه اندازهگیری آنها
- 78. استفاده از Lighthouse برای تحلیل کارایی
- 79. یکپارچهسازی تست کارایی در CI/CD
- 80. تست رگرسیون بصری (Visual Regression Testing)
- 81. ابزارها: Storybook و Chromatic, Percy
- 82. چگونگی تحلیل و تایید تغییرات بصری
- 83. اصول اولیه تست امنیت در فرانتاند (XSS, CSRF)
- 84. تست سازگاری بین مرورگرها (Cross-Browser Compatibility)
- 85. استراتژیهای تست برای برنامههای پیشرونده وب (PWA)
- 86. فرهنگ تستنویسی: چگونه تیم را همراه کنیم؟
- 87. توسعه مبتنی بر تست (TDD) در فرانتاند
- 88. توسعه مبتنی بر رفتار (BDD) با ابزارهایی مانند Cucumber
- 89. نوشتن تستهای خوانا، قابل نگهداری و قابل اعتماد
- 90. اصل DRY در تستنویسی: چگونه از تکرار کد جلوگیری کنیم؟
- 91. معرفی Continuous Integration (CI) و Continuous Deployment (CD)
- 92. راهاندازی یک پایپلاین CI با GitHub Actions
- 93. اجرای خودکار تستها در هر Pull Request
- 94. گزارشدهی نتایج تست و Code Coverage در CI
- 95. استراتژیهای اجرای موازی تستها برای افزایش سرعت
- 96. دیباگ کردن تستهای ناموفق: تکنیکها و ابزارها
- 97. مدیریت دادههای تستی (Test Data Management)
- 98. تست در محیطهای مختلف: Staging, Production
- 99. مانیتورینگ و تست در محیط Production (Smoke Testing)
- 100. جمعبندی: ساخت یک استراتژی تست جامع برای قابلیت اطمینان
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.