2. Problem?
• Development of embedded system software requires
testing also at the hardware level, i.e. running on actual
device.
• Manual testing slows down the development process.
• How to automate the testing of the final product?
• Example using payment terminal.
3. Solution
• Let’s do exactly what human user would do, press the
buttons and look at the screen, but with a robot
• Integrate robot and computer vision to Robot Framework
—> easily readable and writable test cases and reports
• Let’s make testing efficient and integrate the testing robot
to CI environment
4. The Robot
• Shapeoko 2, 3-axis CNC-milling machine
• Equipped with a pushing tool, turns in to a
portal robot
• Controlled by an Arduino parsing g-code
sent over serial bus
• Working area can be populated with
multiple devices
• Robot Framework library was created for
machine control
5. Computer Vision
• Characters are recognised from the screen using
Tesseract OCR engine developed by HP labs and
Google
• Recognises characters from the image and
represents found features in verbal format
• Images are captured by using Raspberry Pi
camera
• Efficient enough that OCR, test case execution
and machine control can be all run using just one
Raspberry Pi 2
• Created Robot Framework library for taking
picture, processing the image and doing OCR