Realtime unit testing runs test scripts and verifies your application without any influence on its runtime behavior.
Why is that important?
Because most unit test tools on the market instrument the application's code and install a test driver through which resource utilization and task execution is changed. Additionally the instrumented code must be compiled, linked and downloaded to the target system for every test case.
The much better approach is realtime unit testing: Realtime unit testing does not require code instrumentation or any test driver. iSYSTEM has enhanced their debug and test tools to allow the generation and execution of test cases from inside the development environment. No test driver is necessary. Without compiling/linking/download the test is executed on the real target hardware.
iSYSTEM calls that realtime unit test because the test is executed on the real hardware without any effects on the runtime behavior.
How does realtime unit test work?
First you need a working hardware that is connected by an iSYSTEM debugger (Blue Box e.g. iC5000, iC3000) the PC. Second the software must basically work to initialize the hardware and run until main().
At that point testIDEA takes over. Based on a test specification testIDEA puts the parameters for that function test on the stack – that’s the only additional resource needed by testIDEA - , executes the function in realtime, compares the return values to the expected ones specified in the test specification and returns to main().
testIDEA is a free and open programming interface (API) that is completely integrated in winIDEA. With that API set one can write test applications/cases but also automatically execute them on the hardware connected by iSYSTEM tools. testIDEA also includes an interactive GUI for generating test cases and test reports.
For more information see:
testIDEA: How to generate a test report?
testIDEA: Use Variables to pass Test Parameters
testIDEA: Test Tree Structure and Inheritance of Test Specifications
testIDEA: How to Collect Code Coverage Information while Testing?
testIDEA: Use Stubs to Exclude Functions from Testing
testIDEA: Run Profiler inside testIDEA to Optimize Performance
testIDEA: How to start Program and Data Trace from testIDEA
iSYSTEMTechBlog: Difference between Source and Object Code Coverage
Comments