Success Stories

Success Stories

Electroporation Device Firmware Unit Testing with automated Unit test generation tool

Electroporation Device Firmware Unit Testing with automated Unit test generation tool

A leading pharmaceutical company in US, wanted to review their Electroporation device firmware code and develop unit tests for the firmware modules.

Solution Description

The Solution  consists of:

  • Reviewing firmware code
  • Windows based Unit test application for 2 different models of Electroporation device firmware
  • Automated build environment for CI and unit test execution
  • Gadgeon brought in an additional value add by bringing in a Unit Level test code generation tool. The tool generates a uniform test case outline based on header files and only variable content needs to be filled in developer

Outcome and Benefits Delivered

  • Reviews were done and improvements incorporated
  • Implemented unit tests for all firmware modules and verified
  • Unit test reports were generated with automated build environment and reports submitted to FDA
  • Reduced the overall effort and schedule

System Description

The company is developing an Electroporation device for delivering plasmid DNA into muscle or skin effectively. Electroporation is the method of applying short-duration high-voltage pulses, on delivering medicine. Pulse sequence and parameters are defined in OP Block (Operation Block), which will be programmed into the device.

Device software is developed on the Cortex M processor(s) in the C++ language.  There are two MCUs in the system. One of them using RTX RTOS and other MCU is running on bare metal. The software is developed as a Class C medical device following IEC 62304:2015 and ISO 14971 Risk management standards.

The Solution

  • Gadgeon collaborated with the client in reviewing the firmware code and providing suggestion on improvements
  • Created a tool to generate unit test cases based on the input source code.  This reduced ~30-40 % overall effort and schedule. Based on header file of each unit, a well structured test case Skelton is generated and only variable content needs to be filled in by unit tester.
  • Developed unit tests for the firmware modules
  • Done integration with static code analysis and code coverage analysis tools
  • Created a Jenkins automated build environment that generates reports for the tests.


Download this Success Story
You may also like