Requirements-based Testing for Simulink, TargetLink, EmbeddedCoder and handwritten code
Requirements-based testing (sometimes also called functional testing) is a test methodology that ensures a system-under-test (e.g. a software unit) correctly implements its requirements. Test cases and test objectives are derived from the requirements and implemented in a language that allows their execution on the system-under-test.
Requirements-based testing is typically a very time consuming task. Not only because of the manual effort required to create the test cases, but more importantly because result traceability, coverage analysis and creating a test harness are real challenges which often require a hodgepodge of poorly-integrated tools.
BTC EmbeddedTester BASE provides a tight integration with Simulink, dSPACE TargetLink, and Mathworks Embedded Coder, making it the perfect tool for testing models and production code. For projects working with handwritten C code, a test project that includes features like stub code generation and automatic call-graph analysis can be easily created. For larger models, sub-functions can be tested independently without the need for modifying the model.
Features like flexible test authoring, built-in connection to requirements management tools and the integrated coverage analysis make BTC EmbeddedTester BASE a one-stop solution for requirements-based testing of models and production code.
In our experience, test cases are too often written in languages which were not designed for that purpose. Examples are scripting languages like Matlab or Python, Excel tables or even C code.
With BTC TestComposer we provide a powerful editor for functional test cases directly within BTC EmbeddedTester BASE. BTC TestComposer knows all details about the test architecture and protects users against invalid data entry. If enumerations are used, a drop-down menu is provided and allows to directly select the desired values.
Further features include a signal generator, a graphical viewer, flexible tolerance handling and a formula editor, allowing us to calculate the value of a certain signal based on other variables. “Test Macros” and “Calibration Sets” can be used to specify and store reusable sequences, and can be instantiated in multiple test cases. This makes it possible to execute test cases directly within the editor and immediately visualize the results.
The requirements coverage report shows, if all requirements are covered by test cases and if the linked test cases are passed on the different execution levels MIL, SIL and PIL
The model coverage report documents the achieved coverage of a Simulink/Stateflow models. If test cases exist on different subsystem levels of a larger models, the coverage metrics are automatically aggregated for the higher hierarchy levels
Code coverage is automatically calculated and updated in the background. Create, change, import, or delete a test case? The code coverage report has already been updated to reflect these changes.
As modern model-based development projects grow in complexity, the task of debugging failed test cases becomes increasingly challenging and time consuming. Even more challenges emerge in situations when the function development and testing are separated and performed by different people or different teams. This leads us to an important question: What is the most efficient way for the test engineer provide his test scenario to the developer?
BTC EmbeddedTester BASE includes a unique debugging approach by generating self-contained sandboxes. These sandboxes contain a copy of the system-under-test as well as the test case incl. the corresponding calibration values. Depending on the use case, this sandbox can either be a Simulink model, a Microsoft Visual Studio project file or a generic code-based sandbox for other IDEs. These sandboxes can be easily shared with colleagues or customers and make it easy to try out modifications without harming the original files.
BTC EmbeeddedTester BASE (part of BTC EmbeddedPlatform) has been certified by German TÜV Süd as fit for usage in safety critical software development projects.
The certificate addresses different standards including IEC 61508-3:3010, ISO 26262, EN 50128, IEC 62304 as well as ISO 25119. For the automotive standard ISO 26262, the certificate is valid for all ASIL levels including ASIL D. As a verification tool, BTC EmbeddedTester has been classified with the highest tool confidence level of TCL 3.
We provide the certificate and the corresponding report to our customers free of charge upon request, which drmatically reduces or even eliminates any effort for tool qualification measures on the customer side.
Requirements-based Testing for Simulink, TargetLink, Embedded Coder and handwritten code.