Skip to content

Latest commit

 

History

History
68 lines (58 loc) · 12.6 KB

File metadata and controls

68 lines (58 loc) · 12.6 KB

OpenAuto Test Plan

Overview

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 Cases

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

Integration Test Cases

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

Performance Test Cases

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

Security Test Cases

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

Notes

  • 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