Automated test creation reduces errors that may be introduced when tests are written manually. When code is updated, new test programs are easily generated, reducing the effort and cost of maintaining test suites.Read More
The task of software testing can be tedious, requiring developers to perform incremental manual steps to design, create and run tests and analyze results and code coverage. CrossTest combines these four steps into one single integrated solution that automates the entire software testing cycle. The CrossTest solution has been designed to specifically meet the unique challenges of embedded systems and agile software development. The CrossTest solution is a fully integrated platform for automated testing of C and C++ code that accelerates product cycles and yields higher levels of software quality.
Benefits to the Developer
'Test early, test often' is the mantra of agile developers. Defects detected early in the software life cycle cost an order of magnitude less to correct than defects discovered later in the development cycle. CrossTest enables developers to test during development, rather than defer testing until a subsequent QA phase, and deliver working software quickly with better software quality.
Benefits to the Tester
CrossTest enables software testers to quickly create and combine structural white-box testing and functional black-box testing. With CrossTest, developers can create tests as they code, and then pass these tests to the testing group for use in regression testing. Testers can leverage CrossTest's automated testing to rapidly regression test an entire application as features are added or changed. They can use its command-line interface to run automated regression test suites on a daily basis or on any schedule. Code coverage analysis helps testers meet functional testing goals and improve software quality through test strategies developed by knowing exactly what has or has not been tested.
Benefits to the Company
CrossTest makes complete testing feasible, even in resource constrained projects with tight development schedules. By making testing easier for developers and testers, CrossTest cuts development costs and time without compromising software quality, resulting in greater customer satisfaction and lower maintenance and support costs. In addition, CrossTest promotes the implementation of common development and testing practices throughout the entire development organization with total visibility into testing progress and product quality throughout the software development cycle. Overall, CrossTest helps customers save up to 50% of their software testing cycle time and costs.
CrossTest analyzes source code, and automatically generates test programs. The developer can choose the granularity of generating and running the test programs, which may range from testing a single function to testing the entire application. The developer can select functions for which CrossTest should automatically generate stub code, thereby enabling tests to focus on specific code modules in isolation and increase code coverage. In addition to functional testing, CrossTest monitors modifications to the values of the parameters and global variables. Because of its strong software verification foundation and robust architecture, CrossTest can handle very complex code and data structures.
Increase efficiency by eliminating the need to write test scripts or maintain them when code changes:
Automated test creation reduces errors that may be introduced when tests are written manually. When code is updated, new test programs are easily generated, reducing the effort and cost of maintaining test suites. The graphical nature of the tool makes it easy for developers to come up to speed quickly whether they are learning to comprehend tests that already exist or developing new tests by modifying parameters, or threshold and boundary values.
Accelerate defect investigation and resolution for agile development:
With CrossTest, developers and testers can easily build an XML test repository that enables development and QA teams to share and reuse tests for reproducing bugs or regression testing. Agile developers can accelerate coding and testing through tight integration of CrossTest with a debugger and collaborate with their development and QA teams to deliver working software quickly.
Measure code coverage and completeness of tests:
CrossTest provides a quantitative measure of test completeness through detailed code coverage analysis. The developer can use this information to identify areas of the code on which to focus further test development efforts to increase software quality.
Integrate seamlessly to any device:
The CrossTest architecture provides a highly configurable approach to device integration that drastically reduces the effort to communicate with virtually any target device. CrossTest does not require a dedicated hardware interface, nor any agent software installed on the target device. Because the tests run natively on the target device, the behavior of software and hardware under test is minimally impacted, improving the accuracy of test and measurement. Developers can start testing on host or simulator prior to device availability and transition to target when ready.
Continuously track the testing process through HTML dashboards and test reports:
CrossTest gathers and analyzes test results, and generates comprehensive reports that quickly highlight quality problems by pass/fail, coverage and other notation. Users can view reports for test results and code coverage at the project level and also drill down to the files and functions, and to the lines of code.
Cisco Systems embraced CrossTest within their high-end router QA group. Using CrossTest they were able to verify that error checking and reporting within the router software worked as expected. Cisco also used CrossTest's code coverage feature to ensure robustness of the code through adequate testing.
Northrop-Grumman automated their test infrastructure using CrossTest to design and run their unit tests, and deploy automated regression tests, resulting in significant savings in the test cycles.