In the final analysis, the real verification that software functions in accordance with the customer's or user's requirements lies in the test program performed on it. Whether we are talking about a newly developed software product or an upgrade to an existing one, the true determinant of its quality is the scope, rigor, and thoroughness of its test program. Simply put, a critical measure of the software's quality is in the quality of its testing process.
Too often, testing is not carefully planned and is treated as an afterthought. To be effective, planning for the test effort must begin during the earliest phases of the development effort or upgrade development cycle. When acceptance testing is performed on the product at the time it is believed to be ready for promotion to production status, it should be based on its functional and performance requirements. Throughout the development cycle, testing should be performed at several levels:
At each of these levels, the testing should be performed in accordance with carefully constructed test cases. Discrepancies should be reported, corrected, and retested to verify that the problem has been resolved, and that no further errors have been introduced. At the conclusion of each of these test levels, a report should be produced that records the results of the effort just concluded, and makes recommendations concerning the adequacy of the software.
- Unit or module level testing, to verify the adequacy of its design.
- Integration testing, to verify data and control interfaces between modules and higher level aggregates of software.
- Validation testing, to verify that the software meets requirements.
Because testing is often not carefully planned, there may not be adequate time or resources in-house to perform the necessary testing. As a consequence, errors that normally would have been trapped as part of the testing effort go undetected; consequently, the quality of the delivered software suffers. All too often, this causes major problems for the ultimate user or customer -- and problems for the development or maintenance organization. When quality problems exist, the reputation of the company is negatively affected. And sales are affected.
Software Engineering Consultants, Inc., (SECI) personnel have extensive experience in performing the testing necessary to determine the level of quality actually built into the software. We have a reputation for excellence in the quality of the testing services that we provide. SECI can assist you in your testing efforts by performing the testing itself or in training your personnel in the proper implementation of this important discipline. Specifically, we can perform the following for you:
- Test planning
- Development of test cases
- Test case execution
- Test results analysis and reporting
- Training in all aspects of testing
Copyright © 1998 Software Engineering Consultants, Inc. All rights reserved