# Unit Testing & XCTest (iOS) > Framework XCTest, test case, assertion, mocking, code coverage, prinsip TDD - 20 pertanyaan wawancara - Mid-Level - [Pertanyaan Wawancara: iOS](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara.md) ## 1. Mengidentifikasi peran utama framework XCTest dalam pengembangan iOS **Jawaban** XCTest menyediakan alat penting untuk membuat, mengatur, dan menjalankan unit test di dalam Xcode. Framework terintegrasi ini memungkinkan validasi perilaku kode dan deteksi regresi selama pengembangan, sehingga menjamin kualitas dan keandalan aplikasi iOS. ## 2. Menjelaskan struktur dasar dari kelas test XCTestCase **Jawaban** Sebuah kelas test harus mewarisi XCTestCase untuk mendapatkan semua alat pengujian yang disediakan oleh framework. Kelas ini berisi metode setUp dan tearDown untuk menyiapkan dan membersihkan lingkungan, serta metode testXxx untuk memvalidasi perilaku kode yang diuji. ## 3. Menjelaskan tujuan dari metode lifecycle setUp dan tearDown **Jawaban** Metode setUp dijalankan sebelum setiap test untuk menetapkan kondisi awal dan membuat instance yang diperlukan. Metode tearDown membersihkan setelahnya dengan melepaskan sumber daya dan mengatur ulang state. Siklus ini menjamin independensi antar test dan mencegah efek samping. ## 17 pertanyaan lagi tersedia - Mengidentifikasi fungsi XCTAssert untuk memverifikasi kesamaan antara dua nilai - Mengenali peran XCTAssertTrue dan XCTAssertFalse Daftar gratis: https://sharpskill.dev/id/login ## Topik wawancara iOS lainnya - [Dasar-Dasar Swift](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-basics.md): 25 pertanyaan, Junior - [Dasar-Dasar Bahasa Swift](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-language-essentials.md): 15 pertanyaan, Junior - [Dasar-Dasar UIKit](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uikit-fundamentals.md): 18 pertanyaan, Junior - [Siklus Hidup UIViewController](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uiviewcontroller-lifecycle.md): 20 pertanyaan, Junior - [UserDefaults & Keychain](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/userdefaults-keychain.md): 20 pertanyaan, Junior - [Siklus Hidup Aplikasi](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/app-lifecycle.md): 20 pertanyaan, Junior - [Auto Layout & Constraints](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/auto-layout-constraints.md): 24 pertanyaan, Mid-Level - [UITableView & UICollectionView](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/uitableview-uicollectionview.md): 25 pertanyaan, Mid-Level - [Dasar-Dasar SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-basics.md): 18 pertanyaan, Mid-Level - [Manajemen State SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-state-management.md): 22 pertanyaan, Mid-Level - [Navigasi SwiftUI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-navigation.md): 18 pertanyaan, Mid-Level - [Networking & URLSession](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/networking-urlsession.md): 20 pertanyaan, Mid-Level - [Codable & Parsing JSON](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/codable-json-parsing.md): 20 pertanyaan, Mid-Level - [Core Data](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/core-data.md): 22 pertanyaan, Mid-Level - [Pemrograman Berorientasi Protokol](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/protocol-oriented-programming.md): 20 pertanyaan, Mid-Level - [Arsitektur MVVM](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/mvvm-architecture.md): 20 pertanyaan, Mid-Level - [Notifikasi Push](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/push-notifications.md): 18 pertanyaan, Mid-Level - [Pengujian UI](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ui-testing.md): 18 pertanyaan, Mid-Level - [Xcode & Sistem Build](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/xcode-build-system.md): 16 pertanyaan, Mid-Level - [Swift Package Manager](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swift-package-manager.md): 16 pertanyaan, Mid-Level - [Memory Management & ARC](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/memory-management-arc.md): 22 pertanyaan, Senior - [Combine Framework](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/combine-framework.md): 24 pertanyaan, Senior - [Concurrency & async/await](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/concurrency-async-await.md): 26 pertanyaan, Senior - [iOS Design Patterns](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ios-design-patterns.md): 24 pertanyaan, Senior - [Optimasi Performa](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/performance-optimization.md): 22 pertanyaan, Senior - [Keamanan dan Enkripsi](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/security-encryption.md): 20 pertanyaan, Senior - [SwiftUI Advanced](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/swiftui-advanced.md): 22 pertanyaan, Senior - [Arsitektur Aplikasi iOS](https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/ios-app-architecture.md): 22 pertanyaan, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/id/technologies/ios/pertanyaan-wawancara/unit-testing-xctest