“Software testing” is a broad term that includes a number of different testing activities. Here is a list of the main types of software testing that most testers use:
Black box testing
Internal system design is not considered in this type of testing. Tests are based on requirements and functionality.
White box testing
This testing is based on knowledge of the internal logic of an application’s code. It is also known as Glass box testing. The tests are based on the coverage of code statements, branches, paths and conditions.
Backward compatibility testing
This verifies that a product is compatible with older platforms.
Sanity testing
Testing to determine if a new software version is performing well enough for it to be accepted for a major testing effort. If the application crashes during the initial tests, then it is not stable enough for further testing and it should be fixed first.
Regression testing
Testing the application as a whole for the modification in any module or functionality. It is difficult to cover the entire system in regression testing, so automation tools are typically used for these tests.
Acceptance testing
Normally, this type of testing is done to verify that a system meets the customer’s specified requirements. Users and the customer performs these tests to determine whether they can accept the application or not.
Load testing
This is a performance test to check the system’s behaviour under load. It can involve testing an application under heavy loads, such as testing a web site under a range of user generated load to determine the point at which the system’s response time degrades or fails.
Stress testing
With stress testing, the system is stressed beyond its specifications to check how and when it fails. This is performed under heavy load, such as initiating complex database queries or continuous inputs.
Performance testing
The term is often used interchangeably with ‘stress’ and ‘load’ testing. It is done to check whether the system meets the necessary performance requirements. Different performance loads and tools are used for this.
Usability testing
User-friendliness check. The application flow is tested to make sure that a new user can understand the application easily. Whenever a user becomes stuck, it is documented so that the system navigation is checked.
Install/uninstall testing
The program or application is tested for full, partial, or upgrade install/uninstall processes on different operating systems under different hardware, software, and environments.
Recovery testing
To test how well a system recovers from crashes, hardware failures, or other big problems.
Security testing
To test whether the system can be penetrated by any hacking activities. Security testing tests how well the system is protected against unauthorised internal or external access. Testers need to ensure that the system and database are safe from external attacks.
Compatibility testing
To test how well the software performs in a particular hardware, software, operating system, or network environment.
Comparison testing
Comparison of product strengths and weaknesses with previous versions or other similar products.
Beta testing
When a sampling of the intended audiences tries the product out. Beta testing is the second phase of software testing.
End to end testing
To determine whether the flow of an application behaves as expected from start to finish.
Alpha testing
An in-house virtual user environment can be created for this type of testing. Alpha testing is done at the end of the development cycle. Minor design changes may be made as a result of alpha testing.
Need software testers who can do a comprehensive and thorough test on all your applications and software? Then contact Inspired Testing today.