Bluewater Systems have developed an application called the Auto-tester which is used to automate the testing of the devices we design. The Auto-tester can be used to test a wide range of functions on embedded systems including:
- Serial - Loop back testing.
- USB device - Mount and format a USB storage device.
- Wireless - GPS, GSM, Bluetooth and Wi-Fi tests.
- NAND stress testing.
The Auto-tester can also be used to update the software and firmware on embedded units, including:
- Flash new versions of U-Boot to the unit. This is done via serial connection if U-Boot is already present, or using an OpenOCD dongle if there is no boot loader present.
- Flash new FPGA firmware for units such as the Snapper 255 which have an FPGA.
- Setting up self-hosting (Loading full Linux kernel and root file system onto either xD card or NAND flash).
How it Works
The Auto-tester works by connecting to an embedded device using a serial and an Ethernet connection. Depending on the device being tested these may be directly connected to the baseboard, or connected to an external Squid module. The Auto-tester supports a number of command line arguments for configuring the tests to be run, and configuration files for customising the tests to be run on a specific board. Many of the individual tests in the Auto-tester are from from within Linux. Some of the tests, such as video and audio, require confirmation from the user to determine their success. The user may also be required to attach and remove USB, PCMCIA and Compact Flash devices as necessary. A full Auto-tester run, including self-hosting, for a fully featured unit takes less than ten minutes.
The following image shows the Auto-tester being run on a Rig 200 baseboard with a Snapper CL15 module. The Auto-tester is being used to test USB storage, audio and serial loop back. The following command was used to run the Auto-tester:
./menu.py -T configs/rig200_config -m cl15 -l -t usb-storage,audio,uart-loopback
The USB storage and audio tests were both successful, however the serial loop back test failed. Note that the user was asked to insert and remove the USB storage device and to confirm that the audio test was successful. After the Auto-tester has been run it generates a report file, in this case '/work/snapper/reports/rig200/CL15/31/04-Sep-2007-11.25.12.pdf', which can be printed out. A copy of the PDF report for the above test run can be found here: Example Report.
For productions runs of boards developed by Bluewater Systems, we provide a 'test rig' system which is a desktop PC running the Auto-tester. The test rig systems are a completely standalone (no external network connection or additional peripherals are required) system which can easily be connected to the devices to be tested. All necessary test connectors and peripherals, such as USB and Compact Flash devices, and full documentation are provided with the test rigs. The Auto-tester test rigs are designed so that minimal technical knowledge is required to run the tests.
The Dory project had a production run of 150 units, which were tested using an Auto-tester test rig. The test rig was setup and run at the factory, so that the boards could be tested immediately after coming off the production line.