cancel
Showing results for 
Search instead for 
Did you mean: 

Professional STM32 Embedded Systems Testing Setup

Ahmed
Associate III

Recently I have been tasked with developing our companies embedded testing strategy. The task is little bit above me since this is my first job, however I am determined to learn anything I need to and put together a solution that works for the company. The embedded team is small: only 4 of us + 1 electronics team member who is willing to lend a hand in writing software.

We are working with STM32 series of MCU with the ST Cube Ecosystem of tools. At the moment the company has no formal testing procedure. We are also short on time & manpower.

I have introduced a unit testing framework recently, however it has its weakness (not all embedded code can be tested, maintaining it is harder, just need a single API call HAL then the unit testing framework gets confused.)

I have been looking around the web a bit and most people say: yeh we use python to automate our testing of embedded systems etc .... what does that mean, how do you use python scripts to test your system, is there any frameworks that's useful?

Any specific details on implementation of :

  • Integration testing
  • Software test (system & subsystem level)
  • Acceptance testing
  • Regression test
  • Performance test
  • Robustness testing
  • Security testing
  • Fault injection testing
1 ACCEPTED SOLUTION

Accepted Solutions
TDK
Guru

The best approach is going to be highly dependent on your application. If you're interfacing with Ethernet, you can connect the mcu to the computer and run tests on the computer. If you're supposed to be driving signals to a chip, you can connect those lines to a logic analyzer and verify they are correct. Most interfaces have some sort of automation ability via Python which could also be used to facilitate testing.

You're going to need to spend some critical thought on what your needs are, and then choose a method to accomplish those goals. You can use a framework, but it's not going to do the critical thinking for you.

I've used the unittest framework in Python on a few projects and quite liked it.

If you feel a post has answered your question, please click "Accept as Solution".

View solution in original post

1 REPLY 1
TDK
Guru

The best approach is going to be highly dependent on your application. If you're interfacing with Ethernet, you can connect the mcu to the computer and run tests on the computer. If you're supposed to be driving signals to a chip, you can connect those lines to a logic analyzer and verify they are correct. Most interfaces have some sort of automation ability via Python which could also be used to facilitate testing.

You're going to need to spend some critical thought on what your needs are, and then choose a method to accomplish those goals. You can use a framework, but it's not going to do the critical thinking for you.

I've used the unittest framework in Python on a few projects and quite liked it.

If you feel a post has answered your question, please click "Accept as Solution".