Integration and Testing Phase
Test plans and procedures are developed to ensure that all requirements are being tested and verified. In this phase units are combined into modules, and modules are combined to make up a build, which is tested in turn and certified. Multiple builds may be integrated and tested before a deliverable release is produced.
The test phase of the project answers the question "Does the system do what it is supposed to do?" Software testing begins with the integration-testing phase, which integrates the individual units coded and tested during the implementation phase and ends with acceptance testing of the finished system. All problems and change requests should be handled according to the Software Problem Procedure documentation. The software testing methodology encompasses the following types of testing:
Integration Testing and Functional Testing
- Thoroughly test all interfaces whether new or modified.
- Test each function, user input command and each command option.
- Include testing of each database, database table, utility, external software package or external file, mainframe, server, hardware device or other external entities.
- Verify the correct generation of all errors or warnings or other messages.
- Once a module has been tested successfully it can be certified and approved.
Regression Testing -- Regression testing is the process of testing changes to computer programs to make sure that the older programming still works with the new changes. Regression testing is a normal part of the program development process. Develop test scenarios and exercises that will test new units of code after they have been written. Before a new version of a software product is released, the old test cases are run against the new version to make sure that all the old capabilities still work. The reason they might not work is because changing or adding new code to a program can easily introduce errors into code that is not intended to be changed.
System Testing -- System testing is the development and test team’s last opportunity to identify problems and verify the validity of solutions implemented in previous stages. System tests should be as close to operational as possible, simulating usage or mission conditions as realistically as the schedule will permit. System testing verifies that all functionality specified in the requirements works properly and that the various functions work together.
Acceptance Testing -- Acceptance testing is based primarily upon use case scenarios. Acceptance tests should include those user interactions for which the system may not have been specifically designed, but could possibly occur during system use. Acceptance test plans should be developed not so much with the concept of testing proper system use, but also testing improper use of system functionality. Keeping the build concept in mind, the total system is divided into a series of builds. Each build is subjected to build testing which encompasses the previous aspects of testing. Ideally, an independent test group should do all testing beyond the testing of individual units.
To view and download templates which will help you prepare for this phase click on the links below
Test Plan – A test plan should be developed before testing begins. This should cover the following objectives:
Items to be tested
Activities to prepare and conduct the system test
Responsibilities and schedule for all involved parties
The sources used to prepare the test plan
The test tools and environment used for testing
System Testing Plan.doc
System Testing Plan.pdf
The Testing Phase Procedure provides general guidance about the activities and products concerned with delivering and installing a software system product.
Testing Phase Procedure.doc
Testing Phase Procedure.pdf
The Test Phase Checklist provides a means of accounting for these activities.
Testing Phase Checklist.doc
Testing Phase Checklist.pdf