TestIt is a python package designed to automate full-system integration testing using a Software-Based Self-Test (SBST) approach. While formal verification methods are highly effective for targeting individual components, their complexity grows exponentially with the size of the System-Under-Test (SUT), making them impractical for testing large scale systems, like MCUs. Furthermore, they do not test interactions between the hardware platform and the software stack, which is essential for validating real-world functionality. Last but not least, they are limited to simulated environments, with all their limitations.
TestIt tackles these limitations and to bridge the gap between formal verification and real-world applications.
- Automate generation of random datasets and reference values, according to your specifications.
- Automate building of simulation models and synthesis for FPGA.
- Automate compilation of SW application, which take advantage of the datasets it generates.
- Automate execution of tests, both in simulation environments and using FPGAs, which greatly speed up the test time (up to x11 times reduction).
- Characterize the real-world performance of your system.
With just three requirements:
- A simple configuration file,
config.test
, in which you have to describe both your workflow and the tests you want to run. - A python module,
testit_golden.py
, in which you can develop the golden functions used to generate the reference values for your test. - A complete Makefile-based workflow, with some custom targets, as described below. This is the gateway that TestIt uses to access your workflow to build, compile and load.
Again, very simple! Just go to TestIt's documentation at https://vlsi-lab.github.io/TestIt/. If you have any question or suggestions, just contact Tommaso Terzano at [email protected]. He will be glad to connect with you and help you with any doubt you might have.
Simply run this command in your bash terminal:
pip install testitpy
That's it!
$ testit -h
usage: testit [-h] {run,setup,report} ...
TestIt CLI tool
positional arguments:
{run,setup,report}
run Run the verification process
setup Set up the verification environment
report Generate a report based on the test results
options:
-h, --help show this help message and exit