کتاب صوتی تست نویسی (Unit Testing و UI Testing) برای اپلیکیشنهای iOS
دوره جامع تست نویسی اپلیکیشنهای iOS: تضمین کیفیت و افزایش بهرهوری دوره جامع تست نویسی (Unit & UI Testing) برای اپلیکیشنهای iOS به اپلیکیشنهای iOS خود، کیفیت و اطمینان هدیه دهید! آیا تا به حال با خ...
🎓 دوره آموزشی جامع
📚 اطلاعات دوره
عنوان دوره: دوره تست نویسی (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)**
برای آموختن، همیشه لازم نیست بخوانید
گاهی بهترین فرصت یادگیری زمانی است که در مسیر رفتوآمد هستید، قدم میزنید، استراحت میکنید یا کارهای روزمرهتان را انجام میدهید. محتوای صوتی کمک میکند از این لحظهها برای شنیدن، اندیشیدن و آشنایی با موضوعات تازه بهره ببرید.
◷
یادگیری در دل روزمرگی
از زمان رفتوآمد، پیادهروی یا استراحت برای شنیدن محتوای مفید استفاده کنید؛ بدون آنکه همیشه به کتاب چاپی یا صفحه نمایش نیاز داشته باشید.
◎
تجربهای شنیداری و دلنشین
با روایت صوتی، توضیحات گفتاری و فضای شنیداری هر محتوا همراه شوید و متناسب با سلیقه خود، شیوه تازهای برای دریافت مطالب تجربه کنید.
✦
گسترش دانش و دیدگاه
با موضوعات متنوع آشنا شوید، ایدههای تازه کشف کنید و فرصت بیشتری برای یادگیری مستمر و پرورش کنجکاوی خود بسازید.
♫
همراه با سبک زندگی شما
محتوای صوتی را متناسب با برنامه روزانه خود انتخاب کنید و در زمان مناسب، شنیدن را به بخشی از عادتهای شخصیتان تبدیل کنید.
کتاب صوتی یا پادکست؟
کتاب صوتی
راهی برای همراه شدن با محتوای یک کتاب از طریق شنیدن. بسته به اثر، میتوانید داستانها، آموزشها، مفاهیم تخصصی یا مطالب کاربردی را در قالب روایت و بیان صوتی دنبال کنید.
مناسب برای شنیدن و مرور محتوای کتابها
پادکست آموزشی
فرصتی برای دنبال کردن موضوعات مشخص در قالب گفتوگو، روایت، توضیح آموزشی یا مجموعهای از قسمتهای صوتی؛ مناسب برای کشف ایدهها و آشنایی با دیدگاههای گوناگون.
مناسب برای یادگیری موضوعی و شنیدن دیدگاههای تازه
هر جا که هستید، شنیدن را آغاز کنید
با دستگاه مناسب خود، محتوای صوتی را به آسانی دنبال کنید.
▯
گوشی هوشمند
اندروید و آیفون
▣
تبلت
برای شنیدن و دنبال کردن محتوا
▤
رایانه و لپتاپ
با پخشکننده صوتی سازگار
♫
هدفون و بلندگو
برای شنیدن متناسب با محیط
چطور از تجربه شنیدن بیشتر بهره ببریم؟
✦ زمان مناسبی برای شنیدن انتخاب کنید؛ زمانی که بتوانید با آرامش به محتوا توجه داشته باشید.
✦ برای مطالب آموزشی، نکتههای مهم را یادداشت کنید یا پس از پایان شنیدن، آنها را مرور کنید.
✦ اگر محتوا طولانی است، آن را در چند نوبت دنبال کنید تا فرصت بیشتری برای درک و مرور داشته باشید.
✦ هنگام رانندگی یا انجام کارهای نیازمند تمرکز، ایمنی را در اولویت قرار دهید و از شیوه شنیدنی استفاده کنید که حواس شما را مختل نکند.
هر شنیدن، فرصتی برای کشف است
با کتابهای صوتی و پادکستهای آموزشی، دنیای تازهای از ایدهها، روایتها و آموختنیها را به لحظههای خود اضافه کنید.
express24.ir
امکانات پخش، ادامه شنیدن و دسترسی آفلاین به نوع فایل، دستگاه و نرمافزار مورد استفاده بستگی دارد.
تگها:
iOS programming
iOS Testing
Programming
software testing
Swift Testing
UI testing
Unit Testing
XCTest
XCUITest
برنامه نویسی
برنامه نویسی iOS
تست رابط کاربری
تست نویسی
تست واحد
توسعه iOS
نظرات
هنوز نظری ثبت نشده است.
وارد شوید تا نظر ثبت کنید.