Software Test Automation Framework

Introduction

As the life cycles of new semiconductors and emerging end products are continuously shortening, it is critical for semiconductor vendors to support customers with highest level of software readiness. Hardware abstraction layers (HAL), or chip support libraries are the basic software components that enable maximum code reuse and reduced time-to-market.

The HAL needs to be highly flexible across various processors or microcontroller families and at the same time it should be highly integrated and dynamic with live enhancement and bug fix support. It goes through multiple iterations of releases for each new version of silicon. Each release has to go through rigorous testing to ensure error free deliveries.

It is highly desirable to have a Test Automation Framework (TAF) to handle the rigorous and repetitive testing of the software components, to make it fast and error free. This case study showcases Mistral’s expertise in designing a TAF for validation of Chip level software and BSP components

The Customer

The customer is a leading provider of microcontroller and analog semiconductors, providing low-risk product development, low system cost and faster time-to-market for a wide range of diverse customer applications worldwide.

The Requirement

To enable quick time-to-market support for OEMs/ODMs of the MCU products, the customer provides easy to use and reliable in the form of HAL and Middleware components. In order to ensure the reliability of these software components, they have to go through rigorous and repeated testing for every internal and external release. Manual testing of these components is quite time consuming, expensive and not always 100% reliable. To overcome these issues, the customer wanted to develop a test framework for automated testing and validation of all software components to establish gating mechanism for every release.

Software Test Automation Framework
The customer approached Mistral to develop a Test Automation Framework (TAF) for complete automated validation of all drivers & software components. The TAF enables validation of all the software components in a completely automatic manner whenever there is a change in any of the components, without any manual intervention.

Solution Provided

Mistral worked closely with the customer to understand the requirements and provided a scalable solution in the form of an Automated Test framework which can be executed on the target hardware platform(s) under the control of the Test client PC. The Test Client PC is controlled remotely from a Bamboo Test Server. One Bamboo server handles multiple test clients and target hardware test setups in parallel to achieve distributed computing. It provides in-built interface with GIT and Bitbucket for version control. It also provides seamless integration with JIRA for bug management.

The TAF is designed to address the automated testing and validation needs of all software components including chip level drivers, system services and middleware software components. During the prototype phase UART and Timer modules were implemented to exercise the testing of TAF. Consequently, all the modules are being covered to achieve the complete automation of all software components. When there is a new release event at the code repository, the test server automatically triggers the execution of TAF. All the updated software components are checked out and compiled on the test client and further loaded & executed on the target hardware. All the test components are designed with a scalable and numbered approach to report the test results and logs back to server which can be shared with all the concerned people for further analysis.

Read full case study to know about various components of TAF.