Why are Unit/Integration Testing and API Testing Not Enough for Real Agile?
For real Agile, you need End-to-End (UI) Test Automation.
We often hear excuses for not doing end-to-end (UI) Test Automation (or to cover yet another failed attempt) in self-claimed Agile projects: “We are doing serious unit and integration testing, even API Testing. These shall be enough for Agile, right?”
The answer is NO, at least not for Real Agile. In this article, I will clarify from several angles.
Table of Contents:
∘ 1. World Quality Report
∘ 2. The nature of Coding
∘ 3. We are human beings
∘ 4. Agile embraces changes
∘ 5. Real Agile push builds to production on a daily basis
∘ 6. Modern web apps are UI savvy and dynamic
∘ 7. Expert Opinions
∘ 8. Industry Examples
· FAQ
1. World Quality Report
For the first time, the World Quality Report 2018–19 listed “ensuring end-user stratification" as now a top QA priority.
The trend continues, such as in World Quality Report 2013–24, “The growing demand for end-to-end automation highlights the need for abundant, on-demand test data.”
2. The nature of Coding
Code (in Software) is interconnected. For instance, updating a third-party library may lead to significant issues. This is an example of external dependencies. Within the same team, how often have you seen a colleague’s changes disrupt your work? Quite often, I bet.
Yes, Good unit/integration Testing will catch a large percentage of those errors. Still, does your team still often experience “X’s change breaks mine?” I rest my case.
3. We are human beings
Coding is a human activity. Hence, programmers make mistakes and introduce defects now and then; this won’t change. The only thing that can effectively prevent that (not totally, though) is a good QA process, a part of which is E2E (UI) testing.
4. Agile embraces changes
In Agile, changes are constant and frequent.
In Agile (fake or real), requirements change rather frequently.
Any change requires a round of full regression testing, which is only practical via Automation.
A serious defect may offset development weeks or even months.
Defects lead to technical debts
In theory (widely accepted), a full round of regression testing is required for any code changes. Do you believe your manual testers are capable of handling the UI regression testing?
Keep reading with a 7-day free trial
Subscribe to The Agile Way to keep reading this post and get 7 days of free access to the full post archives.