The SmartRocket Unit, as a Unit testing tool, not only automatically generates and performs basic functions such as test-driven and coverage analysis, but also its core function is to intelligently generate test cases that meet the statement, branch, MC/DC criteria with coverage of up to 100%. Using the SmartRocket Unit, users can quickly perform unit-level white box, black box, and regression testing on security-critical code, further improving the efficiency of Unit testing. The tool has passed the TUV function and safety certification, in line with the IEC 61508-10 (industrial general), EN 50128:2011 (rail way transportation), ISO 26262-8:20 18 (automotive electronic), and other industry functional safety standard requirement for unit testing tools.
Tabulated management makes the results and coverage clear.Use case management and coverage analysis are located in the same view so that their use cases and code coverage and control flowchart structure coverage can be seen in full view.
By analyzing program semantics, it automatically detects runtime errors during execution and kills potential bugs in the unit test phase.
Support beautiful Word version test report download, on the basis of meeting users' general requirements for test report, support users to modify the test report.
The use case generation time and execution time of the unit under test are generally in the millimeter level. The average project one-click test (consisting of parsing the source code, generating the use case, and executing the use case) takes about 7 sec
SmartRocket Unit can generate test cases for coverage criteria, support statement, branch, MC/DC and boundary coverage criteria, automatically execute generated test cases and provide filters, and can meet the stringent testing requirements of industry standards such as D0-178B, ISO26262 and EN50128.
Tools that use random generation or data dictionary generation of test cases do not contain coverage criteria, use cases are generated by random combination, and cannot support the directional generation of MC/DC and boundary use cases.
The SmartRocket Unit generates a simplified set of use cases for different criteria, so that there is no redundancy between use cases. Other use case generation tools have no overridden criteria, and there is often a lot of redundancy in generating use cases by random generation or data dictionary. When testing a control software code in space, the SmartRocket Unit generates just a dozen use cases to achieve 100% coverage of statements, branches, and MC/DC functions, while the other software tools used give hundreds of test cases, resulting in a large number of redundant use cases.
SmartRocket Unit can fully design parameters, global variables, pile functions and pile function parameters, etc., and automatically design the return value of pile and output value of parameters. However, random generation or data dictionary generation test case tools usually only support data design of formal parameters and global variables, resulting in the failure to achieve high coverage.
In the code under test, we sometimes want to preserve system functions, especially memory functions such as memcpy and memSET, which may affect coverage. The SmartRocket Unit is able to automatically capture the memory change constraints of such functions to generate the correct test cases, which are not properly recognized by tools that randomly generate or data dictionary generate test cases. Neither of the tools based on the first two generation strategies can properly override the return 0 branch, whereas the SmartRocket Unit provides a switch for whether the system function piles or not. When we turn on the system function no-pile switch, the SmartRocket Unit is able to correctly generate 2 use cases to achieve 100% coverage.
The SmartRocket Unit generates a use case and automatically executes it, capturing output check information such as the expected value of the use case and automatically comparing it. This check item meets the requirements of functional security authentication, checking function return value, checking global variable modified value, checking parameter pointer pointing to content modified value and so on. Other tools do not have this check item or the check item is weak (for example, only check the return value of function, etc.), and a lot of manpower is needed to supplement this part of data later, which leads to the decrease of efficiency.
Satellite control software is the core of satellite control system, with complex functions, high unit test coverage requirement, high cost of manual test case writing and error prone. Using SmartRocket Unit can automatically generate Unit test cases that meet statement coverage, branch coverage and MC/DC coverage, and perform test execution automatically, which can improve software testing efficiency and software product quality. Out of 150,000 lines of code tested in a space unit, the SmartRocket Unit achieved average statement coverage of more than 90%.
Subway signal system is the control center of subway system. In the test of subway signal system, corresponding unit tests should be carried out according to different SIL levels. In traditional testing, test case writing relies on human resources, and software code testing with strict requirements for MC/DC coverage is bound to consume a lot of human resources and time.
Using the SmartRocket Unit tool can solve this problem, greatly reducing labor and time costs. Out of 200,000 lines of code tested for a subway signal Unit, the SmartRocket Unit achieved an average of over 85% statement coverage, with significant use case generation.
The automotive electronics industry complies with ISO26262 standard, and for projects that need to achieve ASIL-D safety levels, it also requires considerable labor and time to write use cases. The use cases generated by the SmartRocket Unit can be seamlessly applied to the automotive electronics industry, helping testers quickly meet statement/branch, MC/DC code coverage requirements. The SmartRocket Unit achieved average statement coverage of more than 85% in a car electronics Unit test of 100,000 lines of code.