اپلیکیشن اندرویدی فلشکارت آموزشی راهنمای جامع تست فرانتاند با تمرکز بر توسعه حرفهای
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره راهنمای جامع تست فرانتاند با تمرکز بر توسعه حرفهای
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای دوره
- 1. مقدمه و اهمیت تست در توسعه فرانتاند
- 2. چرا باید فرانتاند را تست کنیم؟
- 3. انواع تست در فرانتاند: مروری جامع
- 4. هرم تست (Test Pyramid) و جام تست (Test Trophy)
- 5. چرخه عمر توسعه نرمافزار و نقش تست
- 6. مفاهیم پایه تست: Assertion، Mock، Stub، Spy
- 7. محیط توسعه، ابزارهای مورد نیاز و مروری بر فریمورکهای تست فرانتاند
- 8. اصول کدنویسی تمیز برای تستپذیری بهتر
- 9. آشنایی با JavaScript و ES Modules برای تستنویسی
- 10. معرفی Unit Test و جایگاه آن در تست فرانتاند
- 11. انتخاب فریمورک Unit Test: Jest، Vitest و Rspack/Webpack
- 12. نصب و پیکربندی Jest برای پروژههای React/Vue/Angular
- 13. نوشتن اولین Unit Test ساده
- 14. Assertion در Jest: `expect` و Matcherها
- 15. تست توابع خالص (Pure Functions)
- 16. تست توابع با وابستگی خارجی: Mocking
- 17. مفهوم Mocking و Stubbing در Unit Test
- 18. Mock کردن ماژولها و توابع با Jest
- 19. Mock کردن API Call ها در Unit Test
- 20. Spying در Jest برای رصد توابع
- 21. استفاده از `beforeEach` و `afterEach` برای Setup/Teardown
- 22. Grouping Tests با `describe`
- 23. بهترین شیوهها در نوشتن Unit Test: Readable, Maintainable
- 24. تستهای TDD با Unit Test: چرخه قرمز-سبز-بازآرایی
- 25. تست توابع ناهمگام (Asynchronous Functions) با Unit Test
- 26. معرفی Component Testing و تفاوت آن با Unit Testing
- 27. انتخاب کتابخانه Component Testing: React Testing Library (RTL) vs. Enzyme
- 28. نصب و پیکربندی React Testing Library (RTL)
- 29. فلسفه و اصول React Testing Library: تست رفتار کاربر
- 30. پیدا کردن المانها: Query Selectorها در RTL
- 31. تعامل با المانها: `fireEvent` و `userEvent`
- 32. Assertions در RTL: `expect` با `jest-dom` Matcherها
- 33. تست Props و State در کامپوننتها
- 34. تست رویدادها (Events) در کامپوننتها
- 35. تست Form ها و Input ها در کامپوننتها
- 36. Mock کردن وابستگیهای کامپوننتها (Context, Redux, Routers)
- 37. تست کامپوننتهای شرطی و لیستها
- 38. تست سفارشی سازی هوکها (Custom Hooks)
- 39. تست کامپوننتهای Higher-Order (HOCs) و Render Props
- 40. تست کامپوننتهای پیچیده با وابستگیهای زیاد
- 41. تست دسترسپذیری (Accessibility) در Component Testing
- 42. ابزارهای کمکی برای Component Testing (Storybook Integration)
- 43. تست Styled Components و CSS-in-JS
- 44. تست کامپوننتها در فریمورکهای دیگر (Vue Test Utils / Angular Testing utilities)
- 45. بهترین شیوهها در Component Testing
- 46. رفع خطای `act()` در React Testing Library
- 47. تست مدیریت خطا و Error Boundaries
- 48. معرفی Integration Testing در فرانتاند
- 49. تفاوت Integration Testing با Unit و Component Testing
- 50. استراتژیهای Integration Testing
- 51. تست تعامل بین کامپوننتها
- 52. تست ادغام با APIهای بکاند (Mock Service Worker - MSW)
- 53. نصب و پیکربندی Mock Service Worker (MSW)
- 54. Mock کردن درخواستهای REST API با MSW
- 55. تست Flowهای کاربری پیچیده در Integration
- 56. تست Router و Navigation در اپلیکیشنهای تکصفحهای (SPA)
- 57. بهترین شیوهها در Integration Testing
- 58. مدیریت و تولید دادههای تست در Integration Tests
- 59. معرفی E2E Testing و اهمیت آن
- 60. انتخاب ابزار E2E: Cypress vs. Playwright vs. Selenium
- 61. نصب و پیکربندی Cypress
- 62. معماری Cypress و نحوه عملکرد آن
- 63. نوشتن اولین E2E Test با Cypress
- 64. Selection، Interaction و Assertions در Cypress
- 65. مدیریت Data و State در E2E Tests: `cy.request`, `cy.intercept`
- 66. Workflows پیچیده: Login، Form Submission
- 67. بهترین شیوهها برای نوشتن E2E Test پایدار (Stable)
- 68. مقابله با Flakiness در E2E Tests
- 69. Parallelization و Load Balancing در E2E Tests
- 70. گزارشدهی و Screenshot/Video Recording در E2E Tests
- 71. مقدمهای بر Playwright و قابلیتهای آن
- 72. مقایسه Cypress و Playwright: انتخاب ابزار مناسب
- 73. تست ریسپانسیو بودن (Responsive Design) با E2E Tools
- 74. تست دسترسپذیری (Accessibility Testing) خودکار و دستی
- 75. ابزارهای A11y Testing (axe-core, Lighthouse)
- 76. تست پرفورمنس فرانتاند: مفاهیم و ابزارها (Lighthouse, WebPageTest)
- 77. تست Visual Regression با ابزارهایی مانند Chromatic یا Percy
- 78. Visual Regression Testing: پیادهسازی و مدیریت تغییرات
- 79. تست امنیت فرانتاند: XSS, CSRF, Injection (در حد فرانتاند)
- 80. تست بینالمللیسازی (Internationalization - i18n)
- 81. تست فریمورکهای مدیریت حالت (State Management): Redux, Zustand, Vuex
- 82. تست GraphQL Clients (Apollo, Relay)
- 83. تست WebSockets و Real-time Applications
- 84. تست Service Workers و Progressive Web Apps (PWAs)
- 85. تست در محیطهای مختلف (Cross-Browser Testing)
- 86. تست مرورگرهای موبایل (Mobile Browser Testing)
- 87. مفهوم Code Coverage و ابزارهای آن (Istanbul/c8)
- 88. تحلیل و بهبود Code Coverage
- 89. ادغام تستها در خط لوله CI/CD (GitHub Actions, GitLab CI)
- 90. اجرای خودکار تستها در هر Commit/Pull Request
- 91. گزارشدهی نتایج تست در CI/CD
- 92. تحلیل و مصورسازی گزارشهای Code Coverage
- 93. مدیریت محیطهای تست و دادههای تست
- 94. استراتژیهای تست برای پروژههای Legacy
- 95. Refactoring Tests: بهبود کیفیت کد تست
- 96. Debugging تستها: روشها و ابزارها
- 97. فرهنگ تست و همکاری با تیم QA
- 98. اتوماسیون تست: افزایش بهرهوری تیم
- 99. مستندسازی تستها و استراتژیهای تست
- 100. آینده تست فرانتاند و ترندهای جدید (AI-powered testing, Low-code testing)
این اپلیکیشن فارسی برای یادگیری و مرور محتوای آموزشی از طریق فلشکارت طراحی شده است. کارتها را یکییکی مرور کنید، پاسخ پرسشها را به یاد بیاورید و نتیجه هر پاسخ را ثبت کنید. محتوای دوره پس از نصب درون برنامه در دسترس است تا برای مطالعه روزمره معمولاً به اتصال مداوم اینترنت نیاز نداشته باشید.
محتوای آموزشی در قالبهای متنوع ارائه میشود تا هم برای یادگیری مفاهیم جدید و هم برای تثبیت آموختهها قابل استفاده باشد.
- رابط کاربری فارسی و راستچین با فونت وزیر.
- تم روشن و تیره مطابق تنظیمات سیستم.
- صفحهبندی ساده برای انتخاب دوره و شروع مرور.
- نمایش تعداد دفعات مرور هر فصل.
- انتخاب چند فصل برای مرور همزمان.
- امکان تمرکز بر فصلهایی که هنوز مرور نشدهاند.
این اپلیکیشن برای دانشآموزان، دانشجویان، داوطلبان آزمونها و علاقهمندان به یادگیری طراحی شده است؛ بهویژه کسانی که میخواهند مطالب آموزشی را در زمانهای کوتاه مرور کنند، دانستههای خود را بسنجند و مطالعه منظمتری داشته باشند.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.