Quality software depends on consistent, precise requirements. RAVE includes the T-VEC Tabular Modeler (TTM) to record and manage requirements throughout the development process, giving teams a source for reference and ability to modify requirements in response to program changes. Users record requirements using TTM's graphical interface, building a model of what each product-component should do. This provides a disciplined approach to requirements definition and management.
Fewer Defects Reduce Cost And Rework
Poor requirements typically account for about half of all defects. These defects result in costly rework and schedule overruns. RAVE helps develop defect-free requirements through the TTM requirement-modeling tool, which combined with our method provides a way to refine, capture, and manage requirements. The RAVE tools identify errors in the requirements, such as inconsistencies and contradictions. Iterative requirement modeling with automated analysis produces a set of precise, consistent, and testable requirements. Removing requirement defects early in the process prevents them from flowing to design and coding activities where they can cost up to 100 times more to correct.
Better Tests Find Hidden Bugs
Comprehensive testing of even simple programs requires essentially infinite test combinations, exceeding the capabilities of any human or computer. To make the task manageable, T-VEC's Test Vector Generation System produces test vectors that guarantee a measurable and predictable level of coverage. Each test vector contains a set of inputs and expected outputs, along with a link to the requirement associated with the test. T-VEC uses algorithms based on domain testing to generate the optimal number of test vectors to systematically test each requirement. Empirical studies demonstrate these algorithms, which assume program flaws are located near program boundaries, are most effective for selecting tests that reveal both decision and computation defects.
Test Driver Generation Reduces Manual Effort
Software development organizations currently spend significant effort manually creating and debugging test drivers (scripts). T-VEC's test driver generator provides a mechanism to easily map test vectors to a target implementation and test environment. A generic template is defined for each test environment and shared by all test engineers. If the test environment changes, the generic test driver template is updated. The test drivers are regenerated and re-executed to ensure the updated system operates correctly. Similarly when requirements change, the requirements models are updated and the tests and test drivers are regenerated. This simplifies program evolution, maintenance, and regression testing.
Comprehensive Reports Improve Decision Making
T-VEC provides managers and developers with reports on project status and performance. Some report types include:
- Project Status
- Total number of test failures
- Total number of requirements
- Matrix of status on each requirement
- Requirement Status
- Number of requirements
- Number of test vectors
- Number of requirement defects
- Number of test failures and test cases
- Test vectors
- Requirement test coverage
- Requirement defects
- Test generation warnings
- Test results
Testing Throughout Development
A continuous approach to verification and validation reduces the frenzy of testing and rework that typically occurs near release deadlines. Test engineers are involved early in the process to refine and model the requirements. These activities identify errors before they impact the system. As the system is developed, test engineers create and refine the mappings for transforming test vectors into test drivers. When the system becomes available for testing, the engineers are well-prepared to complete the process quickly. T-VEC provides services to help organizations tailor their processes to this approach.