A systems test provides functional "end-to-end" verification that the system performs as a complete, integrated product. It's important to mention this type of testing because many projects fail this test. The purpose of system testing is to verify the functionality of the solution in that all requirements and specifications are met. During this test, the test team executes tests specified in the system test plans. Results obtained during test execution are documented, and the development team is notified of any discrepancies. In accordance with stringent configuration management procedures, the developers must correct the discrepancies. The system team retests the corrected software, and regression tests are executed to ensure that previously tested functions have not been adversely affected. The system test plan also defines the set of regression tests that will be used to ensure that changes made to software have had no unintended side effects.
Systems test cases are built on the premise that the developers have completed unit testing. Therefore, the testing team may expect that the code has been compiled correctly and basic functionality is working. This information is provided to the project manager, who then prepares the system for the next step.
System testing begins once unit testing is completed. System tests are planned and executed by the test team, which is a subset of the development team that includes application specialists. The leader of the test team is responsible to the project manager and ensures that test resources are scheduled and coordinated, that the appropriate test environment is established, and that other members of the team understand test tools and procedures to be used. System testing is performed in a separate controlled environment where software and hardware simulate a production environment. A formal configuration management process is also in effect. During testing, the project manager directs the actions of the team, ensures that the test plan is followed, responds to unplanned events, and devises workarounds for failures that threaten the progress of testing. He or she maintains test data and control files under configuration management.
Was this article helpful?