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