# Android Testing Advanced (Android) > การทดสอบ Android ขั้นสูง: TDD, mocking, Coroutines, Flow, Compose UI และ test coverage - 18 คำถามสัมภาษณ์ - Senior - [คำถามสัมภาษณ์: Android](https://sharpskill.dev/th/technologies/android/interview-questions.md) ## 1. Mock, Stub และ Fake แตกต่างกันอย่างไรในการทดสอบ? **คำตอบ** Mock จะตรวจสอบการโต้ตอบ (ใครเรียกอะไร กี่ครั้ง ด้วยอาร์กิวเมนต์ใด) Stub จะส่งคืนคำตอบที่กำหนดไว้ล่วงหน้าโดยไม่ตรวจสอบ Fake คือการ implement ที่ทำงานได้แบบง่าย (เช่น repository ใน memory) Mock เน้น behavior verification, Stub สนับสนุน state verification และ Fake เป็นทางเลือกที่เบาและสมจริง ## 2. วิธีใช้ MockK สำหรับ mocking ใน Kotlin? **คำตอบ** MockK เน้น Kotlin: mockk() สร้าง double, every { ... } returns ... กำหนดคำตอบ, verify { ... } ตรวจสอบการโต้ตอบ รองรับ coroutines (coEvery/coVerify), relaxed mocks และการจับอาร์กิวเมนต์ผ่าน slot ## 3. TDD (Test-Driven Development) คืออะไร? **คำตอบ** TDD คือการเขียน test ก่อนเขียน code และทำซ้ำ Red‑Green‑Refactor: test ที่ล้มเหลว, code ขั้นต่ำเพื่อให้ผ่าน, จากนั้น refactor โดยไม่เปลี่ยนพฤติกรรม ประโยชน์: coverage ดีขึ้น, การออกแบบที่ทดสอบได้ง่ายขึ้น, เอกสารที่มีชีวิต ## มีอีก 15 คำถาม - วิธีทดสอบ Coroutines ด้วย runTest? - วิธีทดสอบ Flow? สมัครฟรี: https://sharpskill.dev/th/login ## หัวข้อสัมภาษณ์ Android อื่นๆ - [พื้นฐาน Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-fundamentals.md): 24 คำถาม, Junior - [UI และทรัพยากร Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-ui-and-resources.md): 30 คำถาม, Junior - [Lifecycle ของ Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-lifecycle.md): 30 คำถาม, Junior - [การนำทาง Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-navigation.md): 26 คำถาม, Junior - [การจัดการข้อมูล Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-data-management.md): 29 คำถาม, Junior - [Networking Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-networking.md): 29 คำถาม, Junior - [การทดสอบ Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-testing.md): 28 คำถาม, Junior - [Android Gradle](https://sharpskill.dev/th/technologies/android/interview-questions/android-gradle.md): 26 คำถาม, Junior - [พื้นฐานภาษา Kotlin สำหรับ Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-kotlin-language-essentials.md): 24 คำถาม, Junior - [Room Database](https://sharpskill.dev/th/technologies/android/interview-questions/android-room-database.md): 25 คำถาม, Mid-Level - [การทำงานเบื้องหลัง](https://sharpskill.dev/th/technologies/android/interview-questions/android-background-work.md): 18 คำถาม, Mid-Level - [Jetpack Compose](https://sharpskill.dev/th/technologies/android/interview-questions/android-compose.md): 28 คำถาม, Mid-Level - [สิทธิ์และฟีเจอร์ของอุปกรณ์](https://sharpskill.dev/th/technologies/android/interview-questions/android-permissions-and-device.md): 21 คำถาม, Mid-Level - [Firebase สำหรับ Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-firebase.md): 23 คำถาม, Mid-Level - [Android MVVM Architecture](https://sharpskill.dev/th/technologies/android/interview-questions/android-mvvm-architecture.md): 18 คำถาม, Mid-Level - [เครือข่าย Android ขั้นสูง](https://sharpskill.dev/th/technologies/android/interview-questions/android-networking-advanced.md): 13 คำถาม, Mid-Level - [Collections และ Operators ใน Kotlin](https://sharpskill.dev/th/technologies/android/interview-questions/android-kotlin-collections-operators.md): 20 คำถาม, Mid-Level - [Kotlin Coroutines และ Flow](https://sharpskill.dev/th/technologies/android/interview-questions/android-kotlin-coroutines-flow.md): 20 คำถาม, Mid-Level - [การฉีด Dependency ใน Android](https://sharpskill.dev/th/technologies/android/interview-questions/android-dependency-injection.md): 15 คำถาม, Mid-Level - [Android MVI Architecture](https://sharpskill.dev/th/technologies/android/interview-questions/android-mvi-architecture.md): 17 คำถาม, Mid-Level - [Android Clean Architecture](https://sharpskill.dev/th/technologies/android/interview-questions/android-clean-architecture.md): 21 คำถาม, Senior - [Android Compose ขั้นสูง](https://sharpskill.dev/th/technologies/android/interview-questions/android-compose-advanced.md): 17 คำถาม, Senior - [Android Performance and Monitoring](https://sharpskill.dev/th/technologies/android/interview-questions/android-performance-monitoring.md): 13 คำถาม, Senior - [Android Security and Privacy](https://sharpskill.dev/th/technologies/android/interview-questions/android-security-privacy.md): 18 คำถาม, Senior - [Android CI/CD and Release](https://sharpskill.dev/th/technologies/android/interview-questions/android-cicd-release.md): 15 คำถาม, Senior - [Android UX and Form Factors](https://sharpskill.dev/th/technologies/android/interview-questions/android-ux-form-factors.md): 18 คำถาม, Senior --- Source: SharpSkill (https://sharpskill.dev), tech interview preparation for your real stack. HTML version of this page: https://sharpskill.dev/th/technologies/android/interview-questions/android-testing-advanced