Types of Testing
From Software testing and development
This page describes the various different types of testing commonly used in software testing. The software testing community seems to use a mixture of terms for software testing and I expect this page to change as people begin to edit the definitions.
Contents |
[edit] Unit Testing
Unit testing is performed by developers and ensures that the individual units of code, such as methods, work correctly.
Unit testing often also encompasses the integration of one unit to another. Although this is given a separate term by the British Standards Institute, Integration testing in the small, it is commonly seem as part of unit testing.
Agile development methods are placing a greater focus on unit testing and a number of tools such as NUnit and DUnit make unit testing easier to perform and document.
Sprinkling asserts within the code is like "testing from inside".
Tests are code too, and hence also have bugs.
Asserts within the code tests the unit tests, and then hang around to test client code at integration time.
See also Asserts for Embedded Systems
[edit] Functional Testing
Functional testing aims to demonstrate that the delivered solution works in accordance with the Functional Specifications. The Functional Specification documents provide the structure of the test conditions, cases and scripts. The test cases are based on an analysis of the specifications and will test various functional areas.
Functional testing is performed as testable components become available, this ensures that defects are identified and resolved as early as possible. Retesting and regression testing are performed on resolved defects and surrounding functionality to ensure that the resolution is correct and that faults have not been introduced or uncovered as a result of the changes made.
[edit] Web Testing
See also http://www.owasp.org and WebGoat for tutorial on Web Security and things to test for.
