A comprehensive list of software testing

14 Jan 2019
A comprehensive list of software testing

“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.

Sastri Munsamy

Executive: Technology and Innovation for Inspired Testing

Sastri is a passionate and engaging mentor, educator and speaker with extensive experience of real-world testing and automation projects. He has worked in the consultancy industry for over 17 years. He has implemented test automation on various systems ranging from desktop, Web, SAP and mobile applications in multiple industries across the world, with an emphasis on defining an efficient and profitable automation strategy. As a mentor, Munsamy has hosted testing community meetups in Cape Town and Johannesburg, and has guest spoken at numerous industry events.


Join the conversation on LinkedIn
Connect with our experts and read the latest industry insights on our dedicated LinkedIn page.