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.
Get the ITPro. daily newsletter
Receive our latest news, industry updates, featured resources and more. Sign up today to receive our FREE report on AI cyber crime & security - newly updated for 2024.
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.
Clare is the founder of Blue Cactus Digital, a digital marketing company that helps ethical and sustainability-focused businesses grow their customer base.
Prior to becoming a marketer, Clare was a journalist, working at a range of mobile device-focused outlets including Know Your Mobile before moving into freelance life.
As a freelance writer, she drew on her expertise in mobility to write features and guides for ITPro, as well as regularly writing news stories on a wide range of topics.