Broadly speaking, there are at least three levels of testing: unit testing, integration testing, and system testing. However, a fourth level, acceptance testing, may be included by developers. This may be in the form of operational acceptance testing or be simple end-user (beta) testing, testing to ensure the software meets functional expectations. Tests are frequently grouped into one of these levels by where they are added in the software development process, or by the level of specificity of the test.

Security testing
Integration testing
Hierarchy of testing difficulty
Testing levels