کتاب تست نویسی (Unit Testing و UI Testing) برای اپلیکیشن‌های iOS با فرمت AZW3 برای کتابخوان کیندل و فرمت EPUB

دوره جامع تست نویسی اپلیکیشن‌های iOS: تضمین کیفیت و افزایش بهره‌وری دوره جامع تست نویسی (Unit & UI Testing) برای اپلیکیشن‌های iOS به اپلیکیشن‌های iOS خود، کیفیت و اطمینان هدیه دهید! آیا تا به حال با خ...

انتخاب پلن

انتخاب پلن برای ادامه خرید الزامی است.

پرداخت اقساطی
در صورت خرید اقساطی هر قسط: 87,488 تومان
۴ قسط ماهانه. بدون سود، چک و ضامن.
پرداخت اقساطی با دیجی‌پی پرداخت اقساطی با ترب‌پی

🎓 دوره آموزشی جامع

📚 اطلاعات دوره

عنوان دوره: دوره تست نویسی (Unit Testing و UI Testing) برای اپلیکیشن‌های iOS

موضوع کلی: برنامه نویسی

موضوع میانی: برنامه‌نویسی iOS (iOS Native)

📋 سرفصل‌های دوره

  • 1. مقدمه‌ای بر تست نویسی و اهمیت آن در توسعه iOS
  • 2. آشنایی با انواع تست: Unit, Integration, UI, Snapshot, Performance
  • 3. معرفی هرم تست (Test Pyramid) و جایگاه هر نوع تست
  • 4. آشنایی با رویکردهای TDD (توسعه آزمون‌محور) و BDD
  • 5. معرفی کامل چارچوب XCTest اپل
  • 6. راه‌اندازی محیط و ایجاد اولین Test Target در Xcode
  • 7. آناتومی یک کلاس تست: متدهای setUp, tearDown و متدهای تست
  • 8. نوشتن و اجرای اولین Unit Test
  • 9. آشنایی با انواع Assertion ها در XCTest (Assert, Equal, Nil, True)
  • 10. تست کردن توابع خالص (Pure Functions) و متدهای استاتیک
  • 11. اصول کدنویسی قابل تست: مقدمه‌ای بر SOLID
  • 12. مفهوم تزریق وابستگی (Dependency Injection) به عنوان کلید تست‌پذیری
  • 13. انواع تزریق وابستگی: Constructor, Property, Method Injection
  • 14. آشنایی با Test Doubles: Mock, Stub, Spy, Fake, Dummy
  • 15. ساخت یک Stub به صورت دستی برای کنترل وابستگی‌ها
  • 16. ساخت یک Mock به صورت دستی برای بررسی تعاملات
  • 17. تست کردن کدهای Asynchronous مبتنی بر Completion Handler
  • 18. کار با XCTestExpectation و waitForExpectations
  • 19. تست کردن کدهای مدرن Asynchronous با async/await و Task
  • 20. تست کردن کدهای Reactive با فریمورک Combine
  • 21. مدیریت و تست مقادیر Optional با XCTUnwrap
  • 22. تست کردن مدیریت خطا (Error Handling) با throws
  • 23. کار با XCTAssertThrowsError و XCTAssertNoThrow
  • 24. روش‌های تست متدهای Private (و چرا نباید این کار را انجام داد)
  • 25. تست کردن Protocol ها و Extension ها
  • 26. مفهوم Code Coverage و نحوه فعال‌سازی و تحلیل آن در Xcode
  • 27. سازماندهی تست‌ها: الگوهای نام‌گذاری و ساختار فایل‌ها
  • 28. پیاده‌سازی ساختار Given-When-Then برای خوانایی بیشتر تست‌ها
  • 29. تست کردن کدهای وابسته به NotificationCenter
  • 30. تست کردن کدهای وابسته به UserDefaults
  • 31. تست‌های عملکرد (Performance Testing) با متد measure
  • 32. بازنویسی (Refactoring) یک کد غیرقابل تست به کد قابل تست
  • 33. مقدمه‌ای بر تست الگوهای معماری در iOS
  • 34. تست کردن اجزای معماری MVC (Model, View, Controller)
  • 35. تست کردن ViewModel در معماری MVVM
  • 36. تست کردن Presenter و Interactor در معماری VIPER
  • 37. تست کردن Reducer و State در معماری‌های State-Driven (مانند TCA)
  • 38. استراتژی‌های Mock کردن لایه شبکه (Networking)
  • 39. استفاده از URLProtocol برای Mock کردن درخواست‌های شبکه
  • 40. تست کردن درخواست‌های API و پاسخ‌های موفقیت‌آمیز
  • 41. تست کردن مدیریت خطاهای شبکه
  • 42. تست کردن منطق Parsing و Decoding مدل‌های JSON
  • 43. تست کردن پایگاه داده: کار با Core Data in-memory
  • 44. مدیریت داده‌های تست (Test Data و Fixtures)
  • 45. معرفی Snapshot Testing برای UI Components
  • 46. راه‌اندازی کتابخانه SnapshotTesting در پروژه
  • 47. ثبت و مقایسه Snapshot برای UIView و UIViewController
  • 48. استفاده از Snapshot Testing برای تست View های SwiftUI
  • 49. استراتژی‌های مختلف برای Snapshot Testing (تصویر، متن، جیسون)
  • 50. تست کردن کلاس‌های وابسته به فریمورک‌های اپل (UIKit, Foundation)
  • 51. تست‌های پارامتریک: اجرای یک تست با ورودی‌های گوناگون
  • 52. تفاوت Integration Test و Unit Test در عمل
  • 53. مقدمه‌ای بر UI Testing و تفاوت‌های آن با Unit Testing
  • 54. راه‌اندازی اولین UI Test Target در پروژه
  • 55. آشنایی با فریمورک XCUI: XCUIApplication و XCUIElement
  • 56. ضبط کردن یک UI Test با Xcode Test Recorder
  • 57. چرا تست‌های ضبط شده شکننده هستند و چگونه آن‌ها را بهبود دهیم
  • 58. پیدا کردن عناصر در صفحه (Querying for Elements)
  • 59. اهمیت Accessibility Identifier برای نوشتن تست‌های پایدار
  • 60. تعامل با عناصر: tap, typeText, swipe و سایر Gestures
  • 61. Assert کردن وضعیت عناصر: exists, isHittable, isSelected
  • 62. نوشتن تست برای ناوبری (Navigation) بین صفحات
  • 63. مدیریت Alert ها، Sheet ها و Popover ها در تست‌ها
  • 64. تست کردن لیست‌ها: UITableView و UICollectionView
  • 65. اسکرول کردن برای پیدا کردن عناصر خارج از صفحه
  • 66. تست کردن عناصر کنترلی: Switch, Slider, Segmented Control
  • 67. تست کردن PickerView و DatePicker
  • 68. وارد کردن متن در TextField و SecureTextField
  • 69. انتظار برای ظاهر شدن یا ناپدید شدن عناصر (Waits)
  • 70. استفاده از XCTWaiter برای مدیریت انتظارهای سفارشی
  • 71. معرفی الگوی Page Object Model (POM) برای UI Test
  • 72. پیاده‌سازی اولین Page Object برای یک صفحه
  • 73. بازنویسی یک تست ضبط شده با استفاده از الگوی POM
  • 74. مدیریت وضعیت اولیه اپلیکیشن با Launch Arguments
  • 75. استفاده از Launch Environment Variables برای Mock کردن داده
  • 76. استراتژی Mock کردن شبکه در UI Testing
  • 77. عیب‌یابی (Debugging) تست‌های UI ناموفق
  • 78. گرفتن اسکرین‌شات در هنگام شکست تست‌های UI
  • 79. تست کردن سناریوهای پیچیده کاربر (Complex User Flows)
  • 80. تست UI برای اندازه‌های مختلف صفحه نمایش (Screen Sizes)
  • 81. تست UI برای حالت‌های مختلف دستگاه (Portrait/Landscape)
  • 82. تست کردن Dark Mode و Light Mode
  • 83. UI Testing برای اپلیکیشن‌های SwiftUI
  • 84. تعامل با عناصر SwiftUI در UI Test
  • 85. تست ویژگی‌های دسترسی‌پذیری (Accessibility Testing)
  • 86. بهترین شیوه‌ها برای نوشتن تست‌های UI سریع و پایدار
  • 87. معرفی Continuous Integration (CI) و Continuous Delivery (CD)
  • 88. اجرای تست‌ها از طریق خط فرمان (Command Line) با xcodebuild
  • 89. آشنایی با Test Plans در Xcode
  • 90. مدیریت چندین پیکربندی تست با Test Plans
  • 91. اجرای تست‌های منتخب با استفاده از Test Plans
  • 92. موازی‌سازی اجرای تست‌ها (Parallel Testing) برای افزایش سرعت
  • 93. یکپارچه‌سازی تست‌ها با GitHub Actions
  • 94. یکپارچه‌سازی تست‌ها با سایر پلتفرم‌های CI (مانند Jenkins, GitLab CI)
  • 95. تحلیل گزارش‌های تست (Test Reports) در پلتفرم CI
  • 96. تنظیم اجرای خودکار تست‌ها در CI/CD Pipeline
  • 97. تست روی دستگاه‌های واقعی در Cloud (Device Farms)
  • 98. مروری بر سایر ابزارها و فریمورک‌های تست در اکوسیستم iOS
  • 99. جمع‌بندی دوره و گام‌های بعدی برای تبدیل شدن به یک متخصص تست
  • 100. **استفاده از Mock ها و Stub ها برای جداسازی وابستگی‌ها و تست ایزوله (Isolation)**
تگ‌ها: iOS programming iOS Testing Programming software testing Swift Testing UI testing Unit Testing XCTest XCUITest برنامه نویسی برنامه نویسی iOS تست رابط کاربری تست نویسی تست واحد توسعه iOS

نظرات

هنوز نظری ثبت نشده است.

وارد شوید تا نظر ثبت کنید.