کتاب اصول تست برای قابلیت اطمینان (Reliability) در فرانتاند با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB
اصول تست برای قابلیت اطمینان (Reliability) در فرانتاند | فرانتاند خود را ضد گلوله کنید! اصول تست فرانتاند فرانتاند خود را ایمن کنید! مشترک شوید آیا از باگهای ناگهانی در فرانتاند خسته شدهاید؟ تص...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره اصول تست برای قابلیت اطمینان (Reliability) در فرانتاند
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای دوره
- 1. مقدمهای بر قابلیت اطمینان (Reliability) در نرمافزار
- 2. چرا تست فرانتاند برای قابلیت اطمینان حیاتی است؟
- 3. هزینههای عدم تست: از باگ تا از دست دادن کاربر
- 4. هرم تست (Testing Pyramid) و تروفی تست (Testing Trophy)
- 5. انواع تستهای فرانتاند: واحد، یکپارچهسازی، سرتاسری
- 6. معرفی تستهای غیرعملکردی: کارایی، دسترسپذیری، بصری
- 7. انتخاب ابزارهای مناسب: Jest, RTL, Cypress, Playwright
- 8. راهاندازی محیط توسعه برای تستنویسی
- 9. مفاهیم پایه: Assertion, Matchers
- 10. درک تفاوت Mock, Stub و Spy
- 11. اولین تست واحد شما: یک تابع ساده
- 12. ساختار یک فایل تست: Arrange, Act, Assert
- 13. مقدمهای بر Jest به عنوان Test Runner
- 14. نوشتن و اجرای اولین تست با Jest
- 15. گروهبندی تستها با `describe` و `it`
- 16. هوکهای Jest: `beforeEach`, `afterEach`, `beforeAll`, `afterAll`
- 17. متداولترین Matcherها در Jest
- 18. تست توابع آسنکرون: Promises, async/await
- 19. آشنایی با React Testing Library (RTL) و فلسفه آن
- 20. رندر کردن کامپوننتها در تست با RTL
- 21. انواع کوئریها در RTL و اولویتبندی آنها
- 22. تست وجود المانها در کامپوننت
- 23. شبیهسازی رویدادهای کاربر با `fireEvent` و `user-event`
- 24. تفاوت `fireEvent` و `user-event` و چرایی ارجحیت دومی
- 25. تست state و props در کامپوننتها
- 26. تست کامپوننتهای شرطی (Conditional Rendering)
- 27. تست لیستها و رندر شدن آیتمها
- 28. آشنایی با Mocking در Jest: `jest.fn()`
- 29. Mock کردن ماژولها و وابستگیها
- 30. تست هوکهای سفارشی (Custom Hooks)
- 31. استفاده از `waitFor` برای مدیریت بهروزرسانیهای آسنکرون DOM
- 32. پوشش کد (Code Coverage) چیست و چگونه آن را تحلیل کنیم؟
- 33. تستنویسی مبتنی بر ویژگی (Property-Based Testing)
- 34. اسنپشات تستینگ (Snapshot Testing): مزایا و معایب
- 35. مدیریت و بهروزرسانی اسنپشاتها
- 36. تست یکپارچهسازی چیست و چه زمانی به آن نیاز داریم؟
- 37. تست تعامل بین چندین کامپوننت والد و فرزند
- 38. شبیهسازی یک جریان کاربری ساده (Simple User Flow)
- 39. چالشهای تست یکپارچهسازی: وابستگیهای خارجی
- 40. مقدمهای بر Mock Service Worker (MSW)
- 41. راهاندازی MSW برای Mock کردن درخواستهای API
- 42. نوشتن تست برای کامپوننتهایی که داده fetch میکنند
- 43. تست حالتهای مختلف API: موفقیت، خطا، در حال بارگذاری
- 44. تست فرمها و اعتبارسنجی ورودیها
- 45. تست یکپارچهسازی با سیستمهای مدیریت وضعیت (State Management)
- 46. تست با Redux Toolkit: تست slice ها و selector ها
- 47. تست تعامل کامپوننت با Redux store
- 48. تست مسیریابی (Routing) با React Router
- 49. شبیهسازی ناوبری کاربر بین صفحات مختلف
- 50. تست پارامترهای URL و Query Params
- 51. تست کامپوننتهای محافظتشده (Protected Routes)
- 52. استراتژیهای تست برای میکر وفرانتاندها
- 53. جداسازی تستهای واحد از تستهای یکپارچهسازی
- 54. مقدمهای بر تست سرتاسری (End-to-End)
- 55. انتخاب ابزار: Cypress در مقابل Playwright
- 56. نصب و راهاندازی Cypress
- 57. ساختار یک تست E2E در Cypress
- 58. نوشتن اولین تست E2E: باز کردن صفحه و بررسی عنوان
- 59. انتخاب المانها (Selectors) در Cypress
- 60. تعامل با المانها: کلیک، تایپ، انتخاب
- 61. Assertion ها در Cypress
- 62. مدیریت انتظار (Waiting) و Timeouts
- 63. تست جریانهای کاربری پیچیده: لاگین، خرید
- 64. استفاده از Fixtures برای مدیریت دادههای تستی
- 65. استفاده از دستورات سفارشی (Custom Commands)
- 66. Mock کردن درخواستهای شبکه در Cypress با `cy.intercept()`
- 67. تست واکنشگرایی (Responsiveness) با تغییر Viewport
- 68. مدیریت کوکیها، Local Storage و Session
- 69. اجرای تستها در مرورگرهای مختلف (Cross-browser E2E)
- 70. ضبط ویدئو و اسکرینشات از تستهای ناموفق
- 71. آشنایی با Playwright به عنوان جایگزین Cypress
- 72. مقدمهای بر تستهای غیرعملکردی و اهمیت آنها
- 73. تست دسترسپذیری (Accessibility - a11y) چیست؟
- 74. ابزارهای تست a11y: `jest-axe` و `cypress-axe`
- 75. تست خودکار کنتراست رنگ و برچسبهای ARIA
- 76. تست کارایی (Performance) در فرانتاند
- 77. معرفی Core Web Vitals و نحوه اندازهگیری آنها
- 78. استفاده از Lighthouse برای تحلیل کارایی
- 79. یکپارچهسازی تست کارایی در CI/CD
- 80. تست رگرسیون بصری (Visual Regression Testing)
- 81. ابزارها: Storybook و Chromatic, Percy
- 82. چگونگی تحلیل و تایید تغییرات بصری
- 83. اصول اولیه تست امنیت در فرانتاند (XSS, CSRF)
- 84. تست سازگاری بین مرورگرها (Cross-Browser Compatibility)
- 85. استراتژیهای تست برای برنامههای پیشرونده وب (PWA)
- 86. فرهنگ تستنویسی: چگونه تیم را همراه کنیم؟
- 87. توسعه مبتنی بر تست (TDD) در فرانتاند
- 88. توسعه مبتنی بر رفتار (BDD) با ابزارهایی مانند Cucumber
- 89. نوشتن تستهای خوانا، قابل نگهداری و قابل اعتماد
- 90. اصل DRY در تستنویسی: چگونه از تکرار کد جلوگیری کنیم؟
- 91. معرفی Continuous Integration (CI) و Continuous Deployment (CD)
- 92. راهاندازی یک پایپلاین CI با GitHub Actions
- 93. اجرای خودکار تستها در هر Pull Request
- 94. گزارشدهی نتایج تست و Code Coverage در CI
- 95. استراتژیهای اجرای موازی تستها برای افزایش سرعت
- 96. دیباگ کردن تستهای ناموفق: تکنیکها و ابزارها
- 97. مدیریت دادههای تستی (Test Data Management)
- 98. تست در محیطهای مختلف: Staging, Production
- 99. مانیتورینگ و تست در محیط Production (Smoke Testing)
- 100. جمعبندی: ساخت یک استراتژی تست جامع برای قابلیت اطمینان
تگها:
Front-end testing
performance testing
Programming
Regression Testing
Reliability Testing
software quality
software testing
Testing Fundamentals
Usability Testing
Web Development
اصول تست
برنامه نویسی
تست رگرسیون
تست عملکرد
تست فرانتاند
تست کاربردپذیری
تست نرمافزار
توسعه وب
کیفیت نرمافزار
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.