Test scenario for BLE Connection and Data Exchange
Test Case
- BLE Connection and Data Exchange
Objective
- To verify that a BLE peripheral and BLE central device can connect successfully, exchange data reliably, and handle disconnections properly.
Test Environment:
- Devices:
- One BLE peripheral (e.g., a BLE sensor or development board) and one BLE central (e.g., a smartphone or BLE development board).
- Software:
- BLE communication application or test tool for interaction with BLE services and characteristics.
Test Steps:
1.Setup and Initialization:
- Prepare Devices:
- Ensure both BLE peripheral and BLE central devices are powered on and in a state where they can perform BLE operations.
- BLE Services and Characteristics:
- Configure the BLE peripheral with specific services and characteristics for testing (e.g., a heart rate service with a heart rate measurement characteristic).
2.Device Discovery:
- Start Scanning:
- On the BLE central device, start scanning for BLE devices.
- Verify Discovery:
- Confirm that the BLE peripheral is detected by the central device. The peripheral should be listed in the scan results with its advertised name or UUID.
NOTE: these steps vary by device a lot. Example: Oculus has OTA, while Google Assitant and some wearables not necessarily utilize OTA.
3.Establish Connection:
- Initiate Connection:
- On the BLE central device, initiate a connection to the BLE peripheral.
- Verify Connection:
- Confirm that the connection is established successfully. The central device should show a connected status, and the peripheral should acknowledge the connection.
4.Data Exchange:
- Discover Services:
- On the central device, discover the services offered by the peripheral.
- Discover Characteristics:
- Locate the characteristics associated with the discovered services.
- Read Characteristic:
- Perform a read operation on a characteristic (e.g., read the value of a temperature characteristic from the peripheral).
- Write Characteristic:
- Write a value to a characteristic (e.g., send a configuration value to the peripheral).
- Subscribe to Notifications/Indications:
- Subscribe to notifications or indications for a characteristic (e.g., subscribe to heart rate measurements).
- Verify Data Reception:
- Ensure that the central device receives notifications or indications as expected and that the data matches the expected format.
5.Connection Stability:
- Maintain Connection:
- Verify that the connection remains stable during data exchange, with no unexpected disconnections or errors.
- Test Connection Parameters:
- Optionally, test different connection parameters (e.g., connection interval, slave latency) to observe their impact on performance and stability.
Interruption and Recovery:
- Simulate Interference:
- Introduce potential sources of interference (e.g., other BLE devices) and observe the impact on connection stability and data exchange.
- Disconnect and Reconnect:
- Disconnect the BLE central from the peripheral and then reconnect to ensure the connection can be reestablished (correctly).
Expected Results:
- Successful Discovery:
- The BLE peripheral should be discoverable by the central device.
- Connection Established:
- The connection between the peripheral and central should be established without issues.
- Reliable Data Exchange:
- Data read and write operations should be performed successfully, and notifications/indications should be received as expected.
- Stable Connection:
- The connection should remain stable throughout the test, with minimal interference or disruptions.
- Correct Data Handling:
- The data exchanged should be accurate and consistent with expected values.
Reporting:
- Document the results of the device discovery, connection status, data exchange operations, and connection stability.
- Include any issues encountered, such as failed connections or data discrepancies.
- For Agile - retro provide recommendations based on the findings, such as improvements needed for better performance or reliability.
built a sustainable matrix