Android Development with Kotlin

  1. Testing and Debugging
    1. Testing Fundamentals
      1. Testing Pyramid
        1. Unit Tests
          1. Integration Tests
            1. UI Tests
            2. Testing Benefits
              1. Code Quality
                1. Regression Prevention
                  1. Documentation
                2. Unit Testing
                  1. JUnit Framework
                    1. Test Annotations
                      1. @Test
                        1. @Before
                          1. @After
                            1. @BeforeClass
                              1. @AfterClass
                              2. Assertions
                                1. Test Runners
                                2. Testing Android Components
                                  1. Testing ViewModels
                                    1. Testing Repositories
                                      1. Testing Use Cases
                                      2. Mocking
                                        1. Mock Objects
                                          1. MockK Library
                                            1. Setup and Configuration
                                              1. Creating Mocks
                                                1. Stubbing Methods
                                                  1. Verification
                                                  2. Mockito (Alternative)
                                                  3. Test Doubles
                                                    1. Mocks
                                                      1. Stubs
                                                        1. Fakes
                                                          1. Spies
                                                        2. Integration Testing
                                                          1. Testing Component Interactions
                                                            1. Testing Data Flow
                                                              1. Room Database Testing
                                                                1. In-memory Database Testing
                                                                2. Repository Testing
                                                                  1. Network Testing
                                                                    1. MockWebServer
                                                                  2. UI Testing (Instrumentation Tests)
                                                                    1. Espresso Framework
                                                                      1. Espresso Components
                                                                        1. ViewMatchers
                                                                          1. ViewActions
                                                                            1. ViewAssertions
                                                                            2. Finding Views
                                                                              1. Performing Actions
                                                                                1. Making Assertions
                                                                                  1. Testing RecyclerView
                                                                                    1. Testing Custom Views
                                                                                      1. Idling Resources
                                                                                        1. Synchronization with Async Operations
                                                                                      2. UI Automator
                                                                                        1. Cross-app Testing
                                                                                          1. System UI Testing
                                                                                          2. Compose Testing
                                                                                            1. Compose Test Rule
                                                                                              1. Finding Compose Nodes
                                                                                                1. Performing Actions on Nodes
                                                                                                  1. Making Assertions
                                                                                                    1. Testing State Changes
                                                                                                  2. Test Organization and Best Practices
                                                                                                    1. Test Structure
                                                                                                      1. Given-When-Then Pattern
                                                                                                        1. Arrange-Act-Assert Pattern
                                                                                                        2. Test Naming Conventions
                                                                                                          1. Test Data Management
                                                                                                            1. Continuous Integration Testing
                                                                                                            2. Debugging Tools and Techniques
                                                                                                              1. Android Studio Debugger
                                                                                                                1. Breakpoints
                                                                                                                  1. Line Breakpoints
                                                                                                                    1. Conditional Breakpoints
                                                                                                                      1. Exception Breakpoints
                                                                                                                      2. Stepping Through Code
                                                                                                                        1. Variable Inspection
                                                                                                                          1. Expression Evaluation
                                                                                                                          2. Logging
                                                                                                                            1. Log Class
                                                                                                                              1. Log Levels
                                                                                                                                1. Custom Log Tags
                                                                                                                                  1. Structured Logging
                                                                                                                                  2. Layout Inspector
                                                                                                                                    1. View Hierarchy Inspection
                                                                                                                                      1. Property Inspection
                                                                                                                                        1. Live Updates
                                                                                                                                        2. Network Profiler
                                                                                                                                          1. Network Request Monitoring
                                                                                                                                            1. Response Analysis
                                                                                                                                              1. Connection Details
                                                                                                                                              2. Memory Profiler
                                                                                                                                                1. Memory Usage Analysis
                                                                                                                                                  1. Heap Dumps
                                                                                                                                                    1. Memory Leak Detection
                                                                                                                                                    2. CPU Profiler
                                                                                                                                                      1. Method Tracing
                                                                                                                                                        1. Performance Analysis
                                                                                                                                                        2. Database Inspector
                                                                                                                                                          1. Database Schema Viewing
                                                                                                                                                            1. Data Inspection
                                                                                                                                                              1. Query Execution
                                                                                                                                                              2. Logcat
                                                                                                                                                                1. Log Filtering
                                                                                                                                                                  1. Log Export