کتاب راهنمای جامع تست فرانتاند با تمرکز بر توسعه حرفهای با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره جامع تست فرانتاند: از مبتدی تا توسعهدهنده حرفهای کدنویسی بینقص: راهنمای جامع تست فرانتاند با تمرکز بر توسعه حرفهای آیا از باگهای غیرمنتظرهای که کاربران پس از انتشار محصول پیدا میکنند، خس...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره راهنمای جامع تست فرانتاند با تمرکز بر توسعه حرفهای
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای دوره
- 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)
تگها:
Automated Frontend Testing
end-to-end testing
Front-End Development
frontend testing
Frontend Testing Frameworks
Frontend Testing Tools
Professional Frontend Development
Web Programming
آموزش تست فرانتاند
ابزارهای تست فرانتاند
برنامه نویسی وب
تست E2E
تست UI
تست خودکار فرانتاند
تست رابط کاربری
تست فرانتاند
توسعه حرفهای فرانتاند
توسعه فرانتاند
فریمورکهای تست فرانتاند
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.