Blog · 14 August 2020
The different types of testing
In this post, we are going to take a look at the different types of testing that can be used to deliver high-quality software to our customers.
Dom Bush
Blog · 14 August 2020
In this post, we are going to take a look at the different types of testing that can be used to deliver high-quality software to our customers.
Dom Bush
In this post, we are going to take a look at the different types of testing that can be used within our projects to dispel those illusions we tell ourselves as software developers, allowing us to deliver high-quality software to our customers.
“Testers don’t like to break things; they like to dispel the illusion that things work.”
Kaner, Bach, Pettichord - Lessons Learned in Software Testing: A Context-Driven Approach
Testing is a vast topic with many, many different types of testing. Guru99 has a post that lists over 100. This post will cover the various categories of testing types, how these categories interrelate and some of the most common types of testing used.
Categories of testing types
Before we can start discussing individual types of testing, we first need to look at the different categories of testing types:
Functional vs non-functional
Black box, white box and grey box
Manual vs automated
Both approaches have their places in delivering high-quality software and have their pros and cons.
Unit, integration, system, regression and acceptance
How do these categories of testing type relate?
As with many aspects of testing, often these categories are not particularly clear cut, and there may be overlap between them. Also, as touched on above, the tests are carried out by different roles (developer, tester, user) and for different purposes.
Fortunately, Brian Marick, one of the original authors of the Manifesto for Agile Software Development, developed the Agile Testing Quadrants diagram in a series of blog posts. Lisa Crispin and Janet Gregory expanded on this diagram in their book Agile Testing: A Practical Guide for Testers and Agile Teams.
This diagram can be our map to understand which roles carry out the tests, for what purpose and using which types of tools, automation or manual processes.

The diagram describes the testing process as follows:
Testing types by quadrant
The lower left quadrant focusses on the quality of the code being developed and represents test-drive development (TDD) using automated unit and integration tests.
Example testing types:
The tests in this quadrant also support the development team but from a higher, business or customer level perspective against the documented requirements and stories from a user's point of view.
Both Q1 and Q2 tests are used to give rapid feedback to the development team to allow fast troubleshooting as development progresses. Therefore Q2 tests should also be automated if possible/practical.
Example testing types:
Q3 tests are used to validate working software against the business user or customer's expectations. This type of testing is manual and may highlight areas where the documented requirements or stories may be incorrect or incomplete.
Example testing types:
These tests are technology focussed but are no less critical for successfully delivering high-quality software.
One of the criticisms of agile development is that these tests are often overlooked or left to the end of the project, where the cost of resolving issues is much higher. These oversights may be due to agile's emphasis on having stories written by customers or from the customer's perspective. These non-technical team members may defer these requirements to the development team, who in turn may just focus on delivering the stories as prioritised by customers.
Tests that evaluate these performance criteria should be included from the beginning of the project to avoid the costs of having to address them late in the process. Automation should be used and if available specific tools used to evaluate the software against these performance metrics.
Performance testing
Conclusion
We have touched on the various different categories and types of testing in projects and the part the Agile Testing Quadrants diagram can play in helping us work together as software-development teams to deliver high-quality software.
We hosted a webinar that looks at the challenges associated with managing testing:
Test Management for global IT implementations with Jira and Zephyr
Are you managing a large scale IT implementation? How are you managing the scope of your tests? Do you have visibility over all the testing being done and it's progress? Do you have remote teams and testers, and are they all collaborating effectively?
Listen in to this webinar with Laurence Postgate and Chris Bland as they discuss the problems of managing testing in global IT implementations.
Book a 30-min consult
Tell us roughly what you’re facing. We’ll come back within one business day with thoughts, references, and a sense of whether we’re a good fit.
Keep reading
Atlassian is rolling out usage-based pricing for AI and automation from December 2026. Here's what's changing, what it c
Read article →Help desk vendor lock-in can make switching feel risky. Learn what creates lock-in and how to plan a smoother ITSM migra
Read article →Learn why context is essential for AI agents, how it improves accuracy and efficiency, and why context beats bigger prom
Read article →We use cookies to keep the site working and to power features like our live chat. Analytics are cookieless. See our privacy policy.