کتاب راهنمای جامع تست فرانتاند با تمرکز بر کیفیت کد با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره جامع تست فرانتاند با تمرکز بر کیفیت کد راهنمای جامع تست فرانتاند: متخصص کیفیت کد شوید با اعتماد به نفس کد بزنید، با خیال راحت دیپلوی کنید! آیا تا به حال پیش آمده که پس از ساعتها کدنویسی و انتش...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره راهنمای جامع تست فرانتاند با تمرکز بر کیفیت کد
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای دوره
- 1. چرا تستنویسی در توسعه فرانتاند حیاتی است؟
- 2. مفاهیم پایه تست نرمافزار: تعریف و انواع تست
- 3. سیکل توسعه نرمافزار و جایگاه تست فرانتاند
- 4. اهداف اصلی تست فرانتاند: اطمینان از کیفیت، قابلیت اطمینان، تجربه کاربری
- 5. انواع تست در فرانتاند: Unit, Integration, E2E, Visual, Performance, Accessibility
- 6. هرم تست (Test Pyramid) و استراتژیهای پیادهسازی آن
- 7. نقش کیفیت کد در تستپذیری (Testability)
- 8. مقدمهای بر ابزارهای تست فرانتاند: اکوسیستم و انتخاب صحیح
- 9. مفاهیم کلیدی JavaScript برای تستنویسی: Closure, Scope, Prototype
- 10. کار با DOM در JavaScript: انتخابگرها و دستکاری عناصر
- 11. رویدادها (Events) و Event Handling در مرورگر
- 12. عملیات Asynchronous در JavaScript: Callbacks, Promises, Async/Await
- 13. ماژولها و سازماندهی کد در پروژههای فرانتاند
- 14. محیطهای اجرا (Runtime Environments): مرورگر و Node.js در تست
- 15. انتخاب فریمورک تست: Jest، Vitest، Mocha، Jasmine
- 16. معرفی و نصب Jest: شروع به کار با Jest
- 17. نوشتن اولین تست Unit با Jest: `describe`, `it`, `expect`
- 18. Matcherهای پایه Jest: `toBe`, `toEqual`, `not`, `toBeTruthy`, `toBeFalsy`
- 19. تنظیمات اولیه پروژه تست: `package.json` و فایلهای پیکربندی
- 20. تست توابع خالص (Pure Functions) در JavaScript
- 21. تست کامپوننتهای فرانتاند بدون فریمورک خاص (Vanilla JS)
- 22. معرفی کتابخانههای کمکی: React Testing Library (RTL) vs Enzyme
- 23. نصب و راهاندازی React Testing Library
- 24. اصول RTL: "The more your tests resemble the way your software is used..."
- 25. Querying در RTL: `getBy`, `findBy`, `queryBy` و انواع Selectorها
- 26. Interaction با کامپوننتها در RTL: `fireEvent`, `userEvent`
- 27. تست State و Props در کامپوننتهای React با RTL
- 28. تست Custom Hooks در React
- 29. تست Render Conditional و لیستها در کامپوننتها
- 30. Mocking و Spying با Jest: `jest.fn()`, `jest.spyOn()`
- 31. Mocking ماژولها و سرویسها در Jest
- 32. مدیریت Side Effects در تستهای Unit
- 33. بهترین شیوهها برای نوشتن تستهای Unit موثر و قابل نگهداری
- 34. تفاوت Unit Test و Integration Test در فرانتاند
- 35. چرا تستهای Integration مهم هستند؟
- 36. استراتژیهای تست Integration برای کامپوننتها و ماژولها
- 37. تست تعامل بین کامپوننتهای والد و فرزند
- 38. تست فرمها و اعتبارسنجی (Validation) با RTL
- 39. تست ارتباط با APIها: Mocking API calls با MSW (Mock Service Worker)
- 40. تست Redux/Zustand/Context API (State Management)
- 41. تست روترها (React Router, Vue Router)
- 42. مدیریت دادههای تست (Test Data Management)
- 43. Refactoring برای تستپذیری: اصول SOLID و Dependency Injection
- 44. مفهوم Test Doubles: Stubs, Mocks, Spies, Fakes, Dummies
- 45. تکنیکهای پیشرفته Mocking برای سناریوهای پیچیده
- 46. تست Asynchronous Code با Jest: `async/await`, `waitFor`, `waitForElementToBeRemoved`
- 47. تست Error Boundaries و مدیریت خطا در UI
- 48. تست کامپوننتهای شخص ثالث (Third-Party Libraries)
- 49. مقدمهای بر Test-Driven Development (TDD) در فرانتاند
- 50. پیادهسازی چرخه TDD: Red, Green, Refactor
- 51. مزایای TDD در بهبود کیفیت کد و طراحی
- 52. معرفی تست End-to-End: اهداف و چالشها
- 53. انتخاب ابزار E2E: Cypress، Playwright، Selenium
- 54. نصب و راهاندازی Cypress: اولین تست E2E
- 55. معماری Cypress و نحوه کار با آن
- 56. Selectorها در Cypress: انتخاب عناصر به روش Robust
- 57. Interaction با عناصر UI در Cypress: `click`, `type`, `select`
- 58. Assertions در Cypress: `should`, `expect`
- 59. مدیریت Waitها و Synchronization در Cypress
- 60. Mocking API Calls در Cypress (Cypress Intercept)
- 61. تست فلوهای کاربری پیچیده با Cypress
- 62. مدیریت دادههای تست در تستهای E2E
- 63. تست Login و Authentication Flow با Cypress
- 64. بهترین شیوهها برای نوشتن تستهای E2E پایدار (Reliable)
- 65. معرفی Playwright: مزایا و تفاوت با Cypress
- 66. نصب و راهاندازی Playwright: شروع به کار
- 67. تست چند مرورگر (Cross-Browser Testing) با Playwright
- 68. تست ریسپانسیو بودن UI با Playwright (Viewport)
- 69. تست Accessibility در E2E با ابزارهای کمکی (مانند Axe)
- 70. گزارشگیری و Dashboards در Cypress و Playwright
- 71. مقایسه Cypress و Playwright: انتخاب صحیح بر اساس نیاز پروژه
- 72. مقدمهای بر Visual Regression Testing: چرا و چگونه؟
- 73. ابزارهای Visual Regression Testing: Storybook، Percy، Chromatic، Happo
- 74. راهاندازی Storybook برای توسعه کامپوننت و تست بصری
- 75. نوشتن Storyها برای کامپوننتها در Storybook
- 76. یکپارچهسازی Visual Regression Testing با Storybook (مثال Percy)
- 77. مدیریت خطاهای Visual Regression و Baseline Images
- 78. مقدمهای بر Performance Testing در فرانتاند
- 79. معیارهای عملکردی (Performance Metrics): FCP, LCP, TBT, CLS
- 80. ابزارهای تست عملکرد: Lighthouse، WebPageTest، Chrome DevTools
- 81. نوشتن تستهای عملکردی با ابزارهای E2E (مثال Playwright Performance API)
- 82. اهمیت Accessibility (A11y) در توسعه فرانتاند
- 83. استانداردهای WCAG و چکلیستهای A11y
- 84. تست Accessibility با ابزارهای خودکار: Axe Core، Pa11y
- 85. تست دستی Accessibility: استفاده از Screen Readerها و کیبورد
- 86. Integration تستهای Accessibility در CI/CD
- 87. اصول کدنویسی تمیز (Clean Code) برای فرانتاند
- 88. مفهوم Refactoring و چگونگی بهبود کد برای تستپذیری
- 89. Code Review با تمرکز بر کیفیت و تستپذیری کد
- 90. اصول DRY (Don't Repeat Yourself) در تستها
- 91. مدیریت بدهی فنی (Technical Debt) مرتبط با تستها
- 92. یکپارچهسازی تستها با CI/CD: Jenkins، GitHub Actions، GitLab CI
- 93. پیکربندی CI/CD برای اجرای تستهای Unit, Integration, E2E
- 94. گزارشگیری پیشرفته از نتایج تست در CI/CD
- 95. استراتژیهای تست موازی (Parallel Testing) برای سرعت بخشیدن به تستها
- 96. مدیریت Secretها و Environment Variables در CI/CD برای تست
- 97. تستهای Snapshot با Jest برای جلوگیری از تغییرات ناخواسته UI
- 98. چالشها در تستنویسی فرانتاند و راهحلها
- 99. نگهداری و بروزرسانی تستها در پروژههای بزرگ
- 100. آینده تست فرانتاند: AI در تست و ابزارهای نوین
تگها:
code quality
end-to-end testing
frontend testing
Integration Testing
Programming
UI testing
آموزش تست فرانت اند
برنامه نویسی
تست E2E
تست Frontend
تست رابط کاربری
تست فرانت اند
تست یکپارچگی
راهنمای تست Frontend
فرانت اند
کیفیت کد
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.