IT Pro is supported by its audience. When you purchase through links on our site, we may earn an affiliate commission. Learn more

Types of software testing

What are the various types of software testing and which should you use?

It is vital to any application development that software testing is carried out. If it is not done, or even not carried out properly, an app won't work the way users expect it to. 

Software testing looks at applications to find if there are any differences between what the actual output from a given input against its expected output. There are several types of software testing that can be performed on applications.

Alpha testing

Alpha testing is the most common type of software testing and it usually takes place at the end of application development. Its purpose is to find all possible problems and defects before it's released to the masses. At this point, "real" testers aren't invited to test the application or software, but it's kept to the in-house team as it's most likely to expose the majority of bugs.

Beta testing

When the application or software is ready to be tested by real users, it enters a stage known at beta testing. This is where a group of beta testers will use the application or software in real-world scenarios, testing its capabilities to its limits. There are different ways of beta testing apps, including a closed environment, where only a specific group have access and a public beta where anyone can use it and find bugs.

This testing is used to make sure there are no major flaws in the applications and it can also ensure the software is fit for a business's needs - ie., it satisfies business requirements. Although beta testing takes place when the app should be fit for purpose and is ready to be released to the general public, if serious flaws are uncovered, it may set back general release, because generally, the apps will again have to be tested by developers and then enter a second round of beta testing.

Acceptance testing

Acceptance testing is a third round of testing that's used by the customer or general public to ensure the application or software does what's expected. The customer the app has been developed for will only accept the app when it's satisfied the tool does exactly what was required, working as it should.

Accessibility testing

This kind of testing deals with the goal of making an application accessible to disabled people. Among the checks made here are tests for font size for people with a visual disability, as well as test relating to colour and contrast for user with colour blindness.

Ad-hoc testing

Ad-hoc testing is testing carried out without proper planning and documentation. These are done after formal testing of an application. Defects found during this process of testing are hard to replicate as there are no test cases to compare with.

Smoke testing

This is done when a new build is delivered by the developers to the testing team. The latter validates this build and makes sure that no major problems exist. A simple test is carried out to find if software crashes, indicating larger troubles. If a problem is found, the software is returned to the developers for further tweaking. 

Regression testing 

Regression testing is where software previously developed and tested still works as expected after it has been modified. The modifications should not break existing functionality.

Security testing 

This is carried out by a special team, often security consultants whose job it is to look at software to see if it can be used to gain access to networks or be misused in some other way. This testing looks to see if the applications are secured against malware as well as checking out how secure an app's authorisation and authentication processes are.

Stress testing

This testing is carried out to find if a system or component can work at or beyond the limits of its specified requirements. It will look at how much load a system can take before failing. This will use a high level of simulated load to see how well the system performs and whether it can gracefully degrade to a non-catastrophic failure.

Featured Resources

Accelerating healthcare transformation through patient-centred medtech solutions

Seize the digital transformation opportunities to streamline patient care and optimise patient outcomes

Free Download

Big payoffs from big bets in AI-powered automation

Automation disruptors realise 1.5 x higher revenue growth

Free Download

Hyperscaler cloud service providers top ten

Why it's important for companies to consider hyperscaler cloud service providers, and why they matter

Free Download

Strategic app modernisation drives digital transformation

Address business needs both now and in the future

Free Download

Most Popular

Empowering employees to truly work anywhere

Empowering employees to truly work anywhere

22 Nov 2022
Larger monitors aren't all they're cracked up to be

Larger monitors aren't all they're cracked up to be

3 Dec 2022
Microsoft: Russia increasingly timing cyber attacks with missile strikes in Ukraine
cyber warfare

Microsoft: Russia increasingly timing cyber attacks with missile strikes in Ukraine

5 Dec 2022