دوره راهنمای جامع تست فرانتاند با تمرکز بر توسعه حرفهای همراه با فلشکارت آموزشی — ارائه روی فلش مموری
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره راهنمای جامع تست فرانتاند با تمرکز بر توسعه حرفهای
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای دوره
- 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)
محتویات بسته آموزشی
🌐 سامانه آنلاین فلشکارت؛ مرور هدفمند و هوشمند
اکانت ارائهشده، دسترسی به نسخه تحت وب سامانه فلشکارت ویژه این دوره را فراهم میکند. این سامانه از الگوریتم زمانبندی مرور SM-2 استفاده میکند و بر اساس ارزیابی شما از میزان یادآوری هر کارت، زمان مرورهای بعدی را تنظیم میکند.
به این ترتیب، کارتهای دشوارتر میتوانند زودتر مرور شوند و برای تثبیت مطالب در حافظه، برنامه مرور متناسبتری داشته باشید.
مدتزمان معادل آموزشی بر اساس برآورد این دوره در گواهی درج میشود.
گواهی دوزبانه با استعلام آنلاین
پس از تکمیل فعالیتهای لازم و تأیید درخواست، گواهی پایان دوره به زبان فارسی و انگلیسی صادر میشود. گواهی دارای لینک اختصاصی و QR Code برای بررسی و استعلام آنلاین است.
این گواهی صرفاً بهعنوان گواهی اتمام دوره آموزشی صادر میشود و معادل مدرک دانشگاهی، آکادمیک یا مدرک رسمی مورد تأیید نهادهای دولتی نیست. صدور آن منوط به تکمیل شرایط دوره و تأیید نهایی درخواست است.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.