کتاب صوتی طراحی تستهای قابل نگهداری برای فرانتاند
📚 کتاب آموزشی جامع
📚 اطلاعات کتاب
عنوان کتاب: کتاب طراحی تستهای قابل نگهداری برای فرانتاند
موضوع کلی: برنامه نویسی
موضوع میانی: تست فرانتاند
📋 سرفصلهای کتاب (100 موضوع)
- 1. مقدمهای بر دنیای برنامهنویسی فرانتاند
- 2. چالشهای توسعه فرانتاند مدرن
- 3. اهمیت و ضرورت تست در فرانتاند
- 4. انواع تستها: مروری کلی (Unit, Integration, E2E)
- 5. چرخه عمر توسعه نرمافزار و جایگاه تست
- 6. مفهوم "قابلیت نگهداری" در تستهای نرمافزار
- 7. معرفی اکوسیستم و ابزارهای تست فرانتاند
- 8. تنظیم محیط توسعه و ابزارهای مورد نیاز برای تست
- 9. اصول اولیه JavaScript برای تستنویسی
- 10. درک DOM و نحوه تعامل با آن در تستها
- 11. مفاهیم پایه Test Runnerها و نقش آنها
- 12. Jest به عنوان یک Test Runner قدرتمند
- 13. نصب و پیکربندی Jest/Vitest در پروژههای فرانتاند
- 14. نوشتن اولین تست ساده با Jest/Vitest
- 15. Assertionها: چگونه نتایج تست را تأیید کنیم؟
- 16. معرفی کتابخانههای کمکی Assertion (مانند Jest-dom)
- 17. مفهوم Matcherها و Custom Matcherها در Jest
- 18. Test Suites و Test Cases: سازماندهی منطقی تستها
- 19. Hookها در Jest (beforeEach, afterEach, beforeAll, afterAll)
- 20. اجرای تستها و گزارشگیری اولیه نتایج
- 21. تعریف Unit Test و هدف آن در فرانتاند
- 22. تست کردن توابع Pure و Utility JavaScript
- 23. جداسازی واحد (Unit Isolation) در تست
- 24. مفهوم Mocking در تستهای واحد
- 25. Mock کردن توابع و ماژولها با Jest
- 26. Stubbing در مقابل Mocking: تفاوتها و کاربردها
- 27. Spy کردن توابع برای رصد فراخوانیها
- 28. تست کردن Logicهای JavaScript بدون وابستگی به UI
- 29. تستهای Asynchronous: Promises و Async/Await در تستها
- 30. کار با Timerها در تست (setTimeout, setInterval)
- 31. مفهوم Test-Driven Development (TDD) و چرخه آن
- 32. پیادهسازی TDD در توسعه فرانتاند
- 33. Refactoring کد پس از نوشتن تستها
- 34. تست کردن Error Handling و سناریوهای شکست
- 35. مزایا و معایب Unit Test در پروژههای بزرگ
- 36. معرفی Component Testing در فرانتاند مدرن
- 37. چالشهای تست UI Components با وابستگیهای UI
- 38. انتخاب ابزار مناسب برای Component Testing (مثلاً React Testing Library)
- 39. نصب و پیکربندی React Testing Library (RTL) یا مشابه آن
- 40. رندر کردن کامپوننتها برای تست
- 41. Query کردن عناصر در RTL (getByRole, getByText, findBy)
- 42. شبیهسازی رویدادهای کاربری (fireEvent, user-event)
- 43. تست کردن Inputها و Formها در کامپوننتها
- 44. تست کردن وضعیت (State) داخلی کامپوننتها
- 45. تست کردن Props و Callbackها در ارتباط با والد
- 46. Mock کردن سرویسها و API در Component Test
- 47. تست کردن کامپوننتهای حاوی Effect (مانند useEffect)
- 48. تست کامپوننتهای با Context API یا Providerها
- 49. استفاده از User Event Library برای تعاملات واقعگرایانه
- 50. Best Practices برای Component Testing قابل نگهداری
- 51. تعریف Integration Test و تمایز با Unit Test و E2E
- 52. چرا به Integration Test نیاز داریم؟
- 53. تست Flowهای کاربری در سطح چند کامپوننت
- 54. تست تعامل کامپوننتها با یکدیگر
- 55. Mock کردن APIها در Integration Test (MSW یا Nock)
- 56. تست با ابزار Mock Service Worker (MSW)
- 57. تست مسیریابی (Routing) در اپلیکیشنهای SPA
- 58. تست با Context API یا Redux/Vuex Store
- 59. تست تعامل با Local Storage و Session Storage
- 60. تست Authentication و Authorization Flow در سطح Integration
- 61. تست با Shared State و Global State Management
- 62. تست Utility Hooks یا Composableهای سفارشی
- 63. تست کامپوننتهای Higher-Order یا Render Props
- 64. استراتژیهای Mocking برای Integration Test
- 65. سازماندهی Integration Testها برای مقیاسپذیری
- 66. معرفی End-to-End (E2E) Testing و اهداف آن
- 67. ابزارهای محبوب E2E (Cypress, Playwright)
- 68. انتخاب ابزار مناسب E2E برای پروژه فرانتاند
- 69. نصب و پیکربندی Cypress برای اولین بار
- 70. نوشتن اولین تست E2E با Cypress
- 71. Cypress Dashboard و قابلیتهای آن برای تحلیل تستها
- 72. Page Object Model (POM) در E2E برای نگهداری بهتر
- 73. مدیریت دادههای تست در E2E: رویکردها و چالشها
- 74. Mock کردن درخواستهای شبکه در Cypress (cy.intercept)
- 75. تست Login و User Journey کامل در E2E
- 76. تست کردن فرمهای پیچیده و اعتبارسنجی سمت کاربر
- 77. تست آپلود فایل و تعامل با عناصر پیچیده
- 78. تست Drag and Drop و تعاملات پیشرفته
- 79. تست کردن چندین مرورگر (Cross-Browser Testing)
- 80. مزایا و معایب E2E Test و جایگاه آن در هرم تست
- 81. Snapshot Testing: مزایا و موارد استفاده
- 82. Visual Regression Testing (VRT): معرفی و ابزارها (Percy, Storybook VRT)
- 83. پیادهسازی VRT با Storybook و Chromatic
- 84. Accessibility Testing (A11y): اصول و ابزارها (Lighthouse, axe-core)
- 85. تست کارایی (Performance Testing) در فرانتاند (اصول اولیه)
- 86. تست امنیتی (Security Testing) در فرانتاند (اصول اولیه)
- 87. Mutation Testing: معرفی و کاربردها در سنجش کیفیت تستها
- 88. تستهای مبتنی بر Property (Property-based Testing)
- 89. Code Coverage: اندازهگیری پوشش کد و تفسیر نتایج
- 90. پیکربندی Code Coverage با Jest/Istanbul
- 91. اصول تستنویسی قابل نگهداری: DRY, YAGNI, Single Responsibility
- 92. معماری تست: سازماندهی پوشهها و فایلهای تست
- 93. جلوگیری از تستهای Flaky (ناپایدار) و استراتژیهای رفع آنها
- 94. Test Data Management: استراتژیها و ابزارها
- 95. Mock Factories و Builderها برای تولید داده تست
- 96. Test Reporting و ابزارهای آن برای تیمهای بزرگ
- 97. Debugging تستهای فرانتاند: تکنیکها و ابزارها
- 98. ادغام تستها در CI/CD Pipeline (GitHub Actions, GitLab CI)
- 99. فرهنگ توسعهدهنده تستمحور و مزایای آن
- 100. آینده تست فرانتاند: روندهای جدید و ابزارهای نوظهور
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
sp.express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.