- assignment, the knowledge gained on one assignment is not transferable to the next. Time is then lost on each assignment as the process is redefined.
- Requirements traceability and coverage. In the ideal world, each requirement must be tested at least once, and some requirements will be tested several times. With decentralized documents, it is difficult to cross-link test cases with requirements. Test efforts are ineffective if we have thousands of test cases but don't know which one tests which requirement.
Reengineering Test Management
Reengineering, as defined by Michael Hammer in Reengineering the Corporation, is "the fundamental rethinking and radical redesign of business process to achieve dramatic improvements in critical contemporary measures of performance, such as cost, quality, service, and speed."
Information technology is essential to any reengineering effort. In the article "Reengineering Work," Hammer also suggested that instead of embedding outdated processes in software, we should obliterate them and start over. We should use the power of modern information technology to radically redesign our processes in order to achieve dramatic improvements in their performance.
The problems due to unstructured, decentralized test management can be solved by reengineering the test management process. A testing project starts by building a test plan and proceeds to creating test cases, implementing test scripts, executing tests, and evaluating and reporting on results.
The objectives of reengineering test management are to
- assist in defining, managing, maintaining, and archiving testware
- assist in test execution and maintaining the results log over different test runs and builds
- centralize all testing documentation, information, and access
- enable test case reuse
- provide detailed and summarized information about the testing status for decision support
- improve tester productivity
- track test cases and their relationship with requirements and product defects
Architecture of Test Management
Without a central point of control and clear, repeatable methodologies, it is difficult to keep the testing project on track and deliver quality applications on time with limited resources. Only a well-defined, structured, and intuitive test management process can help ensure that the testing process meets its goals and contributes to enhancing application quality.
Test management goals can be achieved with the help of IT-enabled tools built using
- a centralized relational database scheme for storing all testing information
- a Web front end facilitating testing processes and providing information for decision making
Taking this into consideration, a new architecture is proposed:
Architecture of Test Case Management System
The Relational database can be used as a container embracing all test data, test cases, test results, and related product information.
We can access and share this information by using a user friendly, interactive, collaborative, global Web front end.
We will then have consistent information for all team members to share, that is secure and in just one location, easily accessible, able to grow and be easily adapted to our changing needs.
We can make use of global interactive Web technologies and the power of databases to create a high value (low cost) test management tool, which can help in defining, viewing, editing, execution logging, and reporting on the status of the test project.
The use of a relational database as the core of a test case management system can provide the following advantages:
- Each piece of data need only be entered once. With other less unified approaches, it is often necessary to enter the same information many times. This can be time consuming, and can lead to data errors and inconsistencies.
- Several records can be updated at once by having their common data elements placed in a related record. When this one record is modified, all the records that are related to it