We all know that we should do it, but it often languishes at the bottom of a to-do list together with other seemingly insurmountable tasks and challenges – yes, we’re talking about testing. But did you know, when you and your team invest in the iSYSTEM development eco-system, testing isn’t a bolt-on addition; it’s an integrated feature of the environment.
Perhaps the biggest hurdle to overcome when considering the options available for testing is finding tools and software that can handle the wide range of microcontrollers in use today, that will also be suitable for future microcontroller choices. Well, if you can debug and develop on it with winIDEA, you can test it with testIDEA.
The basic premise behind the development of testIDEA was simple: if our development tools have access to the source code and binary code of an embedded application, and our debug hardware can access all of the internal workings of the microcontroller, surely we can simply test embedded software on the target microcontroller.
Everything about testIDEA is tuned to make it easy to integrate a testing stage into your software development process, especially if, today, you have no formal process in place. Firstly, testIDEA is focused on unit testing, whereby individual C functions or the methods of C++ classes are tested to see if the operate as designed. Leveraging a clean user interface, testIDEA lists all functions and methods that are available for testing in your object code. Additionally, the parameters these functions and methods can accept are clearly listed; all the developer needs to do is provide suitable input parameters and the expected return parameters when the code functions as expected.
Tests are saved in the industry-standard YAML format, a human readable JSON format. Such files can then be submitted to your code repository in order that the tests live with the software. And, of course, the capability doesn’t stop there. You can export the tests as Python scripts, enabling you to execute them as part of a Continuous Integration tool such as Jenkins. And, even if your target microcontroller has no hardware trace capability implemented, it is still possible to collect program trace data for code coverage measurements.
By having access to the microcontroller via its debug interface enables the developer to implement more complex tests. For example, you can also include assessment of global variables used to store the status of a state machine, or even evaluate the results written into peripheral registers if need be.
With today’s focus on reusability, testIDEA is already one step ahead. Simply write your tests once and then test your code, on every conceivable target microcontroller, with every conceivable permutation of compiler and linker switch. If you can compile it, you can test it.
The basic features of testIDEA are included in every download of winIDEA – it’s simply an integral part of our tool offering. And, to help you quickly get started, we even have a comprehensive online training course available. So, if you’re going to build embedded systems, we’ll help enable them to be safer.
If you require further help to understand how testIDEA™ could best suite testing of your application, and which BlueBox™ On-Chip Analyzer best suites your target microcontroller, why not get in touch using the contact link on the right.
|winIDEA Download||Download the latest verified build of testIDEA as part of the winIDEA download and start building safer embedded systems|
|testIDEA Help||Not sure how to configure create a unit test or export a report? The online help provides the answers.|
|BSC0002 - Introduction to testIDEA||Become a power-user quickly by using our online training, introducing the core features of testIDEA.|