Tuesday, October 16, 2007

Testing Methodology

Testing Methodology

We begin the testing process by developing a comprehensive plan to test the general functionality and special features on a variety of platform combinations. Strict quality control procedures are used. The process verifies that the application meets the requirements specified in the system requirements document and is bug free. At the end of each testing day, the team prepares a summary of completed and failed tests. Our programmers address any identified issues, and the application is resubmitted to the testing team until every item is resolved. All changes and retesting are tracked through spreadsheets available to both the testing and programming teams. Applications are not allowed to launch until all identified problems are fixed. A report is prepared at the end of testing to show exactly what was tested and to list the final outcomes.
Our software testing methodology is applied in three distinct phases: unit testing, system testing, and acceptance testing.
• Unit Testing—The programmers conduct unit testing during the development phase. Programmers can test their specific functionality individually or with other units. However, unit testing is designed to test small pieces of functionality rather than the system as a whole. This allows the programmers to conduct the first round of testing to eliminate bugs before they reach the testing staff.
• System Testing—The system is tested as a complete, integrated system. System testing first occurs in the development environment but eventually is conducted in the production environment. Dedicated testers, project managers, or other key project staff performs system testing. Functionality and performance testing are designed to catch bugs in the system, unexpected results, or other ways in which the system does not meet the stated requirements. The testers create detailed scenarios to test the strength and limits of the system, trying to break it if possible. Editorial reviews not only correct typographical and grammatical errors, but also improve the system’s overall usability by ensuring that on-screen language is clear and helpful to users. Accessibility reviews ensure that the system is accessible to users with disabilities.
• Acceptance Testing—the software is assessed against the requirements defined in the system requirements document. The user or client conducts the testing in the production environment. Successful acceptance testing is required before client approval can be received.

No comments: