embedded system test automation
DESCRIPTION
This presentation is about applying test automation to embedded devices. It also contains recommendations on how to handle specific features of embedded devices, such as their “True Real Time” type, a non-PC platforms and absence of a debug port. Presentation by Yuriy Kozak (Consultant Software Engineer, GlobalLogic, Lviv) and Ihor Semochko (Automation Engineer, GlobalLogic, Lviv), EmbeddedTechTalk, Lviv, 2014. More details - http://www.globallogic.com.ua/press-releases/embedded-lviv-techtalk-2-coverageTRANSCRIPT
CONFIDENTIAL©2014 GlobalLogic Inc.
Embedded System Test Automation
Ihor Semochko & Yuriy Kozak
©2014 GlobalLogic Inc. CONFIDENTIAL
Test Automation Key Points
Applying Test Automation to Embedded Devices
Concepts of Handling Embedded Device Specifics
Example of System Architecture
01
02
03
04
CONFIDENTIAL
Test Automation Key Points01
CONFIDENTIAL
Test Automation Key Points
− Strategy− Purpose, scope and type of testing− Framework, end-user scripts− Plans and effort and cost estimations
− Development Process
− Budgeted Cost
− Dedicated Resource
CONFIDENTIAL
Applying Test Automation to Embedded Devices
02
CONFIDENTIAL
Applying Test Automation to Embedded Devices
− Need a Way to Access Information− Software is running on the device, not on PC− Size of data might be large (for example screen) − Data format may be not easy to read (e.g. image instead of value)
− True Real time Operation is Required− Device will not wait while you test it :)− Precise timing if often required (~10 µs)
− Different Configurations− There might be different device models− How to simulate HW type of errors to check error handling?
CONFIDENTIAL
Concepts of Handling Embedded Device Specifics
03
CONFIDENTIAL
Concepts of Handling Embedded Device Specifics
− Using Custom HW (Board) to− get access to needed signals− be able to generate signals − communicate with PC
− Using FPGA to Implement Low-level Data Processing to− easily implement true real-time− fast enough sniff almost everything− easily perform some simple but CPU-costly operations
− Having Many Stands with Different Configurations + “Coordinator” Server− takes care what configuration to use for particular TC− monitors HW status, results, pending tasks etc.− is a centralised place for integration with other systems (like source control & bug
tracker)
CONFIDENTIAL
Example of System Architecture04
CONFIDENTIAL
Example of System Architecture
SUT 1
SUT 2
SUT 3
SUT
FPGA Controller
Power Supply
RS 232
Custom simulation HW
HW Infrastructure
SW Infrastructure
Custom HW + FPGA
Drivers
Agilent Driver
FPGA Driver
Service Channel Driver
Simulator Driver
ComLink Driver
Hardware
C++
Framework
JavaScript
Framework Core
Framework Core
Smart Navigation
Screen Recognition
OCR
Libs
Test Case
Test Cases
Legend:
V8 engine To Work
Coordinator
Loggers
User API manager
Configu-ration
Execution flow
control
Note:Drivers provide related User API and information about supported features. So Framework Core and Libs are SUT-independent.
Toolstimer, files
Tool Driver
RS 232
RS 232
RS 232
CONFIDENTIAL
Test Stand Farm Implementation Details
Test Stand Farm
Test Stand
Test Stand
Test Stand
Test Stand
Test Stand
Test Stand
Test Stand
Test Stand
Test Stand
Test Stand
Test Stand
Test Stand
Regular PCs are used to monitor & manage Test Stand Farm via web-based interface
Repository& Logs
Coordinator Server
Server Database
Desktop Desktop Desktop
CONFIDENTIAL©2014 GlobalLogic Inc.
Thank You