This test plan covers the business logic functionality of OpenAuto, an AndroidAuto headunit emulator. The test cases are designed to validate both the core Android Auto connectivity features and the additional functionality provided by OpenAuto.
| Test Case ID | Test Case Description | Pre-conditions | Test Steps | Expected Result | Actual Result | Status (Pass/Fail) | Comments |
|---|---|---|---|---|---|---|---|
| TC-CONN-001 | USB Device Connection | 1. OpenAuto app is running 2. Android device with Android Auto app installed |
1. Connect Android device via USB 2. Observe the application behavior |
1. OpenAuto should detect the Android device 2. AndroidAutoEntity should be created 3. Connection handshake should be initiated |
|||
| TC-CONN-002 | WiFi Connection | 1. OpenAuto app is running 2. Android device with Android Auto app installed 3. Android Auto wireless enabled in developer options |
1. Click on WiFi button in the UI 2. Enter the IP address in the connect dialog 3. Click Connect |
1. Connection dialog should show an attempt to connect 2. Successful TCP connection should be established 3. AndroidAutoEntity should be created |
|||
| TC-CONN-003 | Connection Lost Recovery | 1. OpenAuto app is running 2. Device is connected via USB |
1. Disconnect the USB cable 2. Wait for 5 seconds 3. Reconnect the USB cable |
1. Application should detect disconnect 2. AndroidAutoEntity should be destroyed 3. Upon reconnection, new AndroidAutoEntity should be created |
|||
| TC-CONN-004 | Bluetooth Pairing | 1. OpenAuto app is running 2. Bluetooth functionality is enabled |
1. Navigate to Bluetooth settings 2. Make the device pairable 3. Pair with an Android device |
1. Device should be discoverable 2. Pairing should succeed 3. Bluetooth device should be shown in the UI |
|||
| TC-PROJ-001 | Video Projection | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Observe the screen | 1. Android Auto interface should be displayed on the screen 2. Video quality should match configured settings (resolution and framerate) |
|||
| TC-PROJ-002 | Audio Playback | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Start media playback on Android Auto 2. Adjust volume |
1. Audio should play through selected audio output 2. Volume changes should affect playback volume |
|||
| TC-PROJ-003 | Audio Input | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Trigger voice assistant (e.g., by saying "Hey Google" or pressing voice button) 2. Speak a command |
1. Voice assistant should respond to the command 2. Audio input should be captured and sent to Android device |
|||
| TC-PROJ-004 | Touch Input | 1. Android device is connected 2. AndroidAutoEntity is running 3. Touch screen is enabled |
1. Tap on different elements of Android Auto UI 2. Scroll through lists |
1. Touches should be registered and passed to Android Auto 2. UI should respond accordingly |
|||
| TC-UI-001 | Day/Night Mode Toggle | 1. OpenAuto app is running | 1. Click on Day/Night mode button 2. Observe UI changes |
1. UI should switch between day and night modes 2. Background and text colors should change appropriately |
|||
| TC-UI-002 | Media Player Functionality | 1. OpenAuto app is running 2. MP3 files exist in the configured music folder |
1. Click on Music button 2. Select a track 3. Use playback controls (play, pause, skip) |
1. Built-in media player should open 2. Music should play when track is selected 3. Playback controls should work as expected |
|||
| TC-UI-003 | Camera Integration | 1. OpenAuto app is running 2. Camera is configured |
1. Click on Camera button 2. Use camera controls (zoom, position) |
1. Camera view should be displayed 2. Camera controls should adjust camera parameters |
|||
| TC-UI-004 | Brightness Control | 1. OpenAuto app is running 2. Brightness control is enabled |
1. Click on Brightness button 2. Adjust brightness slider |
1. Brightness slider should appear 2. Screen brightness should change according to slider position |
|||
| TC-UI-005 | Volume Control | 1. OpenAuto app is running | 1. Click on Volume button 2. Adjust volume slider |
1. Volume slider should appear 2. Audio volume should change according to slider position |
|||
| TC-UI-006 | GUI Toggle | 1. OpenAuto app is running 2. Menu toggle is visible |
1. Click on GUI toggle button | 1. UI should toggle between full/minimal interface | |||
| TC-CONF-001 | Configuration Save/Load | 1. OpenAuto app is running | 1. Open Settings 2. Change multiple settings 3. Save settings 4. Restart application |
1. Settings should be saved 2. After restart, settings should be loaded correctly |
|||
| TC-CONF-002 | Audio Output Configuration | 1. OpenAuto app is running | 1. Open Settings 2. Change audio output settings 3. Save and connect Android device |
1. Audio should be routed to the selected output device 2. Configuration should persist after restart |
|||
| TC-CONF-003 | Video Output Configuration | 1. OpenAuto app is running | 1. Open Settings 2. Change resolution and frame rate settings 3. Save and connect Android device |
1. Video should be displayed according to selected settings 2. Configuration should persist after restart |
|||
| TC-CONF-004 | Input Configuration | 1. OpenAuto app is running | 1. Open Settings 2. Change input device settings 3. Save and connect Android device |
1. Input should be handled according to settings 2. Configuration should persist after restart |
|||
| TC-CUST-001 | Custom Button Configuration | 1. OpenAuto app is running 2. Custom button files exist |
1. Observe custom buttons in UI 2. Click on custom button |
1. Custom buttons should be visible with correct labels 2. Configured command should execute |
|||
| TC-AAP-001 | Android Auto Protocol Version Negotiation | 1. Android device is connected | 1. Observe connection establishment | 1. Protocol version should be negotiated 2. Version response should be received 3. Handshake should complete successfully |
|||
| TC-AAP-002 | Service Discovery | 1. Android device is connected 2. Version negotiation successful |
1. Observe service discovery process | 1. Service discovery request should be received 2. Service discovery response should be sent with supported services 3. Required channels should be established |
|||
| TC-AAP-003 | Audio Focus Handling | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Start media playback 2. Issue voice command |
1. Audio focus should be managed correctly 2. Focus requests should be processed 3. Different audio streams should be properly prioritized |
|||
| TC-AAP-004 | Navigation Focus Handling | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Start navigation 2. Observe focus handling |
1. Navigation focus should be properly managed 2. Focus notifications should be sent/processed |
|||
| TC-AAP-005 | Ping Mechanism | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Monitor connection for extended period | 1. Ping should be sent periodically 2. Ping responses should be received 3. Connection should remain active |
|||
| TC-BTCOM-001 | Bluetooth Service Communication | 1. Android device is paired via Bluetooth 2. btservice is running |
1. Check if Bluetooth services are established | 1. Bluetooth services should be available 2. Communication with Android device should be possible |
|||
| TC-STRESS-001 | Long Duration Stability | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Leave connection active for 12+ hours 2. Periodically interact with the UI |
1. Connection should remain stable 2. No memory leaks should occur 3. Application should remain responsive |
|||
| TC-STRESS-002 | Multiple Connection/Disconnection | 1. OpenAuto app is running | 1. Connect Android device 2. Use for 5 minutes 3. Disconnect 4. Repeat steps 1-3 for 10 cycles |
1. Each connection should succeed 2. Resources should be properly cleaned up after each disconnection 3. No degradation in performance should be observed |
|||
| TC-STRESS-003 | Resource Usage Under Heavy Load | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Start navigation 2. Play music 3. Trigger voice assistant 4. Monitor CPU and memory usage |
1. Application should handle multiple concurrent activities 2. CPU and memory usage should remain within acceptable limits |
|||
| TC-EXIT-001 | Graceful Exit | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Exit the application | 1. All resources should be properly released 2. Application should exit without errors |
|||
| TC-EXIT-002 | System Shutdown/Reboot | 1. OpenAuto app is running | 1. Initiate system shutdown/reboot from the UI | 1. Appropriate system command should be executed 2. System should shutdown/reboot |
| Test Case ID | Test Case Description | Pre-conditions | Test Steps | Expected Result | Actual Result | Status (Pass/Fail) | Comments |
|---|---|---|---|---|---|---|---|
| TC-INT-001 | Bluetooth and Audio Integration | 1. Android device is connected via Bluetooth and USB 2. AndroidAutoEntity is running |
1. Make a phone call via Android Auto 2. Answer the call |
1. Phone call audio should be routed correctly 2. Bluetooth call handling should work with Android Auto |
|||
| TC-INT-002 | Camera and Android Auto Integration | 1. Android device is connected 2. Camera is configured 3. AndroidAutoEntity is running |
1. Switch between Android Auto and camera view 2. Return to Android Auto |
1. Switching should be smooth 2. Android Auto connection should remain active when in camera view 3. Return to Android Auto should restore projection |
|||
| TC-INT-003 | Media Player and Android Auto Integration | 1. Android device is connected 2. MP3 files exist in music folder 3. AndroidAutoEntity is running |
1. Play music via built-in player 2. Switch to Android Auto 3. Start music via Android Auto |
1. Built-in player should pause when Android Auto music starts 2. Audio focus should be managed correctly between systems |
| Test Case ID | Test Case Description | Pre-conditions | Test Steps | Expected Result | Actual Result | Status (Pass/Fail) | Comments |
|---|---|---|---|---|---|---|---|
| TC-PERF-001 | Video Decoding Performance | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Set resolution to 1080p and 60 FPS 2. Run high-motion content (e.g., navigation with 3D view) |
1. Video should play smoothly at configured frame rate 2. CPU usage should remain at acceptable levels |
|||
| TC-PERF-002 | Audio Processing Performance | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Play audio at maximum quality 2. Monitor for dropouts or glitches |
1. Audio should play without interruptions or glitches 2. CPU usage should remain at acceptable levels |
|||
| TC-PERF-003 | Touch Input Responsiveness | 1. Android device is connected 2. AndroidAutoEntity is running |
1. Perform rapid touch inputs 2. Measure response time |
1. Touch events should be processed without noticeable delay 2. UI should respond promptly to input |
| Test Case ID | Test Case Description | Pre-conditions | Test Steps | Expected Result | Actual Result | Status (Pass/Fail) | Comments |
|---|---|---|---|---|---|---|---|
| TC-SEC-001 | SSL Handshake Security | 1. Android device is connected 2. OpenAuto app is running |
1. Monitor the SSL handshake process 2. Attempt to inspect the encrypted communication |
1. SSL handshake should complete successfully 2. Communication should be properly encrypted |
- This test plan should be executed on all supported platforms (Linux, RaspberryPI 3, Windows)
- For RaspberryPI tests, hardware acceleration for video decoding should be specifically verified
- Testing should be performed with multiple Android device models and Android OS versions
- Update the "Actual Result" and "Status" columns as tests are executed
- Add detailed observations in the "Comments" column for any unexpected behavior