Posted by: Livia on: September 6, 2008
In software quality assurance the principle of “divide and conquer” has asserted itself just as in software development. In a software development there is the differentiation between the development of individual classes or modules, the integration of the classes and modules into an application with neightbouring applications, for example via interfaces or common data.
Each of the different development and integration phases necessitates appropriate quality objectives or a different perspective. As an appropriate response to the different objectives in a process as a whole, the entire QA process is divided into different test levels. The different QA objectives, responsabilities, methods, and tools are asigned to these test levels. The figure shows one possible partitioning of the test objectives into test levels as practised in many enterprises today.
In the first level, the documentation test, the accurateness of specifications and design decisions are examined. The focus is on functional and technical design documentation, for example the results of an object-oriented analysis or design. The design documentation is subjected to a test in the form of a review with the participation of developers and domain experts.
In the developer test the developer or a tester from the development team tests the correct implementation (coding) of the specifications. During functional testing the acurateness of the implemented functions are tested from a user’s point of view.
Functional testing can be further divided into functional system testing, which focuses on the individual functions of an application, and functional integration testing (application testing or integration testing in the small), which tests the correct integration of the individual functions within an application. Sometimes an overall integration test (integration test in the large) is also carried out in which the correct integration of the application with other complete systems is verified.
Non-functional testing takes place in parallel to these levels, concentrating on non-functional quality characteristics such as performance, fault tolerance, reliability, usability and instability.
You can read more here: QA for Internet Applications