Software Testing Types:
- Black box testing: Tests are based on requirements and functionality.
- White box testing: based on knowledge of the internal logic of an application’s code.
- Unit testing: Testing of individual software components or modules.
- Incremental integration testing: Bottom up approach for testing.
- Integration testing: Testing of integrated modules to verify combined functionality after integration.
- Functional testing: This type of testing ignores the internal parts and focus on the output is as per requirement or not.
- System testing: Entire system is tested as per the requirements.
- End-to-end testing: involves testing of a complete application environment in a situation that mimics real-world use, using network communications, or interacting with other hardware, applications, or systems if appropriate.
- Sanity testing: Testing to determine if a new software version is performing well enough to accept it for a major testing effort.
- Regression testing: Testing the application as a whole for the modification in any module or functionality.
- Acceptance testing: Normally this type of testing is done to verify if system meets the customer specified requirements.
- Load testing: Its a performance testing to check system behavior under load.
- Stress testing: System is stressed beyond its specifications to check how and when it fails.
- Performance testing: Term often used interchangeably with ‘stress’ and ‘load’ testing.
- Usability testing: User-friendliness check.
- Install/uninstall testing: Tested for full, partial, or upgrade install/uninstall processes on different operating systems under different hardware, software environment.
- Recovery testing: Testing how well a system recovers from crashes, hardware failures, or other catastrophic problems.
- Security testing: Can system be penetrated by any hacking way.
- Compatibility testing: Testing how well software performs in a particular hardware/software/operating system/network environment and different combination s of above.
- Comparison testing: Comparison product strengths and weaknesses with previous versions or other similar products.
- Alpha testing: In house virtual user environment can be created for this type of testing.
- Beta testing: Testing typically done by end-users or others.
References:
http://www.softwaretestinghelp.com/types-of-software-testing/
flickr photo by justinsomnia https://flickr.com/photos/justinsomnia/2730453797 shared under a Creative Commons (BY) license