This Confluence has been LDAP enabled, if you are an ASF Committer, please use your LDAP Credentials to login. Any problems file an INFRA jira ticket please.

Page tree
Skip to end of metadata
Go to start of metadata

The following test plan should be executed against an Apache Mynewt release candidate before a vote is called.  This is a very minimal test plan and is a work in progress

bleprph

Units under test

  • nordic_pca10028
  • nordic_pca10040
  • nordic_pca10056

Steps

  • [Peer devices: iPhone/LightBlue, OSX/LightBlue, Galaxy/NRFConnect]
  • Central connects and disconnects several times; ensure:
    • bleprph does not crash
    • bleprph immediately resumes advertising after disconnect
  • Central initiates legacy just-works pairing
  • Central restores encrypted connection via bonding
  • Central initiates secure-connections just-works pairing (set the BLE_SM_SC syscfg setting for your target)

Targets
Here are the targets that were used. See the testing notes below for BLE_SM_SC. To test legacy pairing this value should be 0.

targets/nordic_pca10028_bleprph
    app=@apache-mynewt-nimble/apps/bleprph
    bsp=@apache-mynewt-core/hw/bsp/nordic_pca10028
    build_profile=optimized
    syscfg=BLE_SM_BONDING=1:BLE_SM_OUR_KEY_DIST=7:BLE_SM_THEIR_KEY_DIST=7:LOG_LEVEL=255
targets/nordic_pca10040_bleprph
    app=@apache-mynewt-nimble/apps/bleprph
    bsp=@apache-mynewt-core/hw/bsp/nordic_pca10040
    build_profile=optimized
    syscfg=BLE_SM_BONDING=1:BLE_SM_OUR_KEY_DIST=7:BLE_SM_SC=1:BLE_SM_THEIR_KEY_DIST=7:LOG_LEVEL=0:OS_MAIN_STACK_SIZE=1024:BLE_MAX_CONNECTIONS=2
targets/nordic_pca10056_bleprph
    app=@apache-mynewt-nimble/apps/bleprph
    bsp=@apache-mynewt-core/hw/bsp/nordic_pca10056
    build_profile=optimized
    syscfg=BLE_SM_BONDING=1:BLE_SM_OUR_KEY_DIST=7:BLE_SM_SC=1:BLE_SM_THEIR_KEY_DIST=7:LOG_LEVEL=0:OS_MAIN_STACK_SIZE=1024:BLE_MAX_CONNECTIONS=2

Testing Notes

  1. To test the legacy pairing, you need to read the characteristic with the encryption required permission. The bleprph application has two services. One of the services has one characteristic, the other has two of them. The UUID with two characteristics is the one you want.
  2. With OSX/Light Blue, the application does not ask you to pair. It just does it automatically. When using LightBlue on the iPhone, it asks you to pair.
  3. To test the third bullet (central restores encrypted connection), after you have paired all you need to do is disconnect and reconnect. You should then be able to read the characteristic again without having to pair.
  4. To test the fourth bullet item, you need to build with BLE_SM_SC: 1. Normally, you build with BLE_SM_SC: 0 for the previous tests.

bttester

Units under test

  • nordic_pca10028
  • nordic_pca10040
  • nordic_pca10056

Run automated test suite against supported devices with BTPTesterCore automation tool.

Currently supoported devices:

Targets

targets/nordic_pca10028_bttester
    app=@apache-mynewt-nimble/apps/bttester
    bsp=@apache-mynewt-core/hw/bsp/nordic_pca10028
    build_profile=optimized
    syscfg=BLE_MESH=0:CONSOLE_RTT=0:MSYS_1_BLOCK_COUNT=40:MSYS_1_BLOCK_SIZE=120:OS_MAIN_STACK_SIZE=320:SHELL_TASK=0
targets/nordic_pca10040_bttester
    app=@apache-mynewt-nimble/apps/bleprph
    bsp=@apache-mynewt-core/hw/bsp/nordic_pca10040
    build_profile=optimized
targets/nordic_pca10056_bttester
    app=@apache-mynewt-nimble/apps/bleprph
    bsp=@apache-mynewt-core/hw/bsp/nordic_pca10056
    build_profile=optimized

btshell

Units under test

  • nordic_pca10028
  • nordic_pca10040
  • nordic_pca10056

Steps

  • btshell as peripheral
    • [Peer devices: iPhone/LightBlue or nRFConnect, Linux/Bluez]
    • Peripheral performs undirected advertising

    • Central pairs with peripheral

    • Central restores encrypted connection via bonding

    • Central reads characteristic

    • Central writes characteristic

    • Central enables indications

    • Peripheral sends indication when characteristic changes

    • Two centrals connect to peripheral

    • verify that advertisements are not missing (see MYNEWT-110 for details)

  • btshell as central

    • [Peer devices: iPhone/LightBlue or nRFConnect, Linux/Bluez]

    • General connection establishment procedure

    • Service discovery
    • Central pairs with peripheral

    • Central restores encrypted connection via bonding

    • Central reads characteristic

    • Central writes characteristic

    • Central enables indications

    • Central connects to two peripheral

blehci

Units under test

  • nordic_pca10028
  • nordic_pca10040
  • nordic_pca10056

Steps

  • Using Bluez as a host
    • Connect to a third-party device (either master or slave).
    • Send some data (e.g., service discovery).
    • Ensure connection stays up.

Bluetooth 5 features

Units under test

  • nordic_pca10056

Steps:

  • follow bletiny procedures with BT5 enabled (using legacy advertising and connections creation)
  • repeat above using different PHYs combinations  (1M/1M, 1M/coded, 1M/2M, coded/coded)
  • advertise with large (>31 bytes) data and verify if all data is received on scanner
  • repeat above for all PHYs combinations
  • using blehci sample and Linux host test advertising using 2 instances (TODO add hcitool instructions)

Over-the-Air Image Upgrade Over BLE 

Units under test

  • nordic_pca10040

Steps

  • Build and load boot loader
  • Build, create image  with version 1.0.0, and load bleprph using serial connection.
  • Create newtmgr conn profile for ble. Example:

    newtmgr conn add mybleprph type=ble connstring="peer_name=nimble-bleprph"


  • Run newtmgr image list command to verify the connection and the image is loaded. Example:
    newtmgr image list -c mybleprph


  • Run newt create-image command to create bleprph image with version 2.0.0
  • Run: newtmgr image upload command to ensure the new image is uploaded. Example:
    newtmgr image upload -c mybleprph ~/dev/myproj/bin/targets/myperiph/app/apps/bleprph/bleprph.img


  • Run newtmgr image list command to verify the image is uploaded.

Bluetooth Mesh

Units under test

  • nordic_pca10056

Steps

  • configure and flash blemesh app

  • connect to provisioner and provision the device

  • test on/off model

Test with Android

  • download and install Bluetooth Mesh by Silicon Labs app from Play Store on a phone

  • configure and flash blemesh app

  • in app scan for the device

  • connect to the device, enter authentication code

  • set model for the device to on/off model

  • test on/off model

Bluetooth Qualification

Ensure that host is passing all relevant PTS (latest available version) tests.

Ensure that controller is passing all relevant Harmony tests.


  • No labels