کتاب راهنمای جامع تست فرانتاند با تمرکز بر کیفیت کد با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
دوره جامع تست فرانتاند با تمرکز بر کیفیت کد راهنمای جامع تست فرانتاند: از مبتدی تا حرفهای با تمرکز بر کیفیت کد آیا از باگهای پیشبینینشده در اپلیکیشن خود خسته شدهاید؟ آیا هر بار قبل از دیپلوی کر...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره راهنمای جامع تست فرانتاند با تمرکز بر کیفیت کد
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای دوره
- 1. مقدمهای بر تست فرانتاند: چرا تست میکنیم؟
- 2. انواع تست در توسعه فرانتاند: Unit, Integration, E2E
- 3. هرم و جام تست (Test Pyramid & Test Trophy)
- 4. مفاهیم کلیدی تست: Assertion, Fixture, Test Suite
- 5. کیفیت کد و نقش آن در تستپذیری
- 6. تنظیم محیط توسعه برای تست: Node.js, npm/yarn
- 7. معرفی Jest: چارچوب تست پیشفرض
- 8. معرفی React Testing Library (RTL): تست رفتار کاربر
- 9. اصول "تست از دیدگاه کاربر" با RTL
- 10. اولین تست Unit با Jest و RTL
- 11. نوشتن Assertionهای موثر با Jest
- 12. سازماندهی Test Suiteها و Test Caseها
- 13. تست کامپوننتهای ساده با RTL
- 14. Mocking توابع و ماژولها در Jest
- 15. Stubbing و Spying: تفاوتها و کاربردها
- 16. تست منطق Pure Functionها
- 17. تست Custom Hookها در React
- 18. تست Utility Functionها
- 19. کار با Jest Watch Mode و `--coverage`
- 20. اندازهگیری پوشش کد (Code Coverage) و معیارهای آن
- 21. هدفگذاری برای پوشش کد منطقی
- 22. بهترین الگوها در نوشتن Unit Testها
- 23. Anti-Patterns در Unit Testing و چگونگی اجتناب از آنها
- 24. تست کامپوننتهایی با state داخلی
- 25. تست رویدادهای کاربری (Click, Change, Submit)
- 26. تفاوت Unit Test و Integration Test
- 27. تست تعامل بین کامپوننتها
- 28. تست کامپوننتهای تو در تو (Nested Components)
- 29. Mocking درخواستهای API در Integration Test
- 30. استفاده از `msw` (Mock Service Worker) برای شبیهسازی API
- 31. تست کامپوننتهایی که با Redux/Context API کار میکنند
- 32. تست فرمها و اعتبارسنجی آنها
- 33. تست مسیریابی (Routing) در سطح Integration
- 34. تست کامپوننتهایی با اثرات جانبی (Side Effects)
- 35. استفاده از `waitFor` و `findBy` در RTL برای تستهای ناهمگام
- 36. تنظیم Test Data برای Integration Testها
- 37. تست کامپوننتهای Higher-Order (HOCs) و Render Props
- 38. بهترین شیوهها برای Integration Testهای کارآمد
- 39. مقدمهای بر End-to-End Testing و اهمیت آن
- 40. معرفی Cypress و Playwright: انتخاب ابزار مناسب
- 41. نصب و راهاندازی Cypress
- 42. نوشتن اولین E2E Test با Cypress
- 43. انتخابگرهای (Selectors) پایدار در Cypress
- 44. تعامل با عناصر UI در Cypress (`cy.get`, `cy.click`, `cy.type`)
- 45. مدیریت درخواستهای شبکه در Cypress (`cy.intercept`)
- 46. استفاده از Page Object Model در Cypress
- 47. تست User Flowهای پیچیده
- 48. راهاندازی Playwright و تفاوتهای آن با Cypress
- 49. نوشتن E2E Test با Playwright
- 50. Screenshot Testing و Visual Regression در E2E
- 51. تست Cross-Browser و Cross-Device با Playwright
- 52. استراتژیهای مدیریت داده (Data Management) در E2E
- 53. CI/CD برای E2E Testها: Cypress Dashboard, Playwright reports
- 54. عیبیابی E2E Testهای شکستخورده
- 55. Snapshot Testing با Jest و Storybook
- 56. تست کامپوننتهای UI با Storybook
- 57. Visual Regression Testing با ابزارهایی مانند Percy
- 58. تست قابلیت واکنشگرایی (Responsiveness Testing)
- 59. تست Dark Mode و Light Mode
- 60. تست Drag and Drop و تعاملات پیچیده UI
- 61. تست انیمیشنها و ترنزیشنهای CSS
- 62. تست فرمهای چند مرحلهای (Multi-step Forms)
- 63. تست خطاهای مرزی (Error Boundaries)
- 64. کار با Date Pickerها و ورودیهای زمانی
- 65. Mocking و Faking Timerها در Jest (`jest.useFakeTimers`)
- 66. تست APIهای ناهمگام و Promises
- 67. تست وبسایتهای چندزبانه (Internationalization Testing)
- 68. تست Lazy Loading و Code Splitting
- 69. مقدمهای بر TDD و چرخه "قرمز، سبز، بازآرایی"
- 70. پیادهسازی TDD در پروژههای فرانتاند
- 71. مزایای TDD برای کیفیت کد و طراحی
- 72. چالشها و سوءتفاهمهای TDD
- 73. مقدمهای بر BDD و مفهوم "Given, When, Then"
- 74. ابزارهای BDD: Gherkin و Cucumber برای فرانتاند
- 75. نوشتن User Storyهای قابل تست برای BDD
- 76. همکاری با ذینفعان (Stakeholders) در BDD
- 77. BDD و تاثیر آن بر ارتباط تیم
- 78. اصول SOLID در طراحی کد تستپذیر
- 79. Dependency Inversion Principle و تزریق وابستگی (DI)
- 80. Refactoring برای بهبود Testability
- 81. شناسایی Code Smells و بدهی فنی (Technical Debt)
- 82. معیارهای پیچیدگی کد (Cyclomatic Complexity)
- 83. استفاده از Linters (ESLint) و Formatters (Prettier) در تیم
- 84. Static Code Analysis برای پیدا کردن مشکلات احتمالی
- 85. طراحی معماری قابل تست برای پروژههای بزرگ
- 86. استراتژیهای تست در Monorepoها
- 87. Code Review با تمرکز بر کیفیت تست
- 88. مدیریت Test Data و Seed Data
- 89. مقدمهای بر Performance Testing در فرانتاند
- 90. Core Web Vitals و اهمیت آنها
- 91. استفاده از Lighthouse برای ممیزی عملکرد
- 92. Automating Performance Audits با Lighthouse CI
- 93. یافتن گلوگاههای عملکردی در UI
- 94. مقدمهای بر Accessibility Testing (A11y)
- 95. اصول WCAG و پیادهسازی آنها در کد
- 96. ابزارهای خودکار Accessibility (مانند Axe-core)
- 97. تست با صفحهخوانها (Screen Readers) به صورت دستی (اصول)
- 98. مقدمهای بر Security Testing در فرانتاند: XSS و CSRF
- 99. تست اعتبارسنجی ورودیها برای جلوگیری از حملات
- 100. محافظت از دادههای حساس در سمت کاربر
تگها:
E2E testing
Front-end testing
JavaScript testing
Quality Code
Unit Testing
Web Development
آموزش تست فرانتاند
برنامه نویسی
تست UI
تست جاوااسکریپت
تست فرانتاند
تست نرم افزار
توسعه فرانتاند
راهنمای تست
کیفیت کد
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.