The Differences between Testing in Traditional and Agile Approaches
The Status of Testing in Agile Projects
The roles and Skills of a Tester in an Agile Team
Test levels are test activities that are logically related, often by the maturity or completeness of the item under test.
In sequential lifecycle models, the test levels are often defined such that the exit criteria of one level are part of the entry criteria for the next level.
In some iterative models, this rule does not apply. Test levels overlap. Requirement specification, design specification, and development activities may overlap with test.
Agile lifecycle models
In some Agile lifecycles, overlap occurs because changes to requirements, design, and code can happen at any point in an iteration.
While Scrum, in theory, does not allow changes to the user stories after iteration planning, in practice such changes sometimes occur.
During an iteration, any given user story will typically progress sequentially through the following test activities:
- Unit testing, typically done by the developer
- Feature acceptance testing, which is sometimes broken into two activities:
- Feature verification testing, which is often automated, may be done by developers or testers, and involves testing against the user story’s acceptance criteria
- Feature validation testing, which is usually manual and can involve developers, testers, and business stakeholders working collaboratively to determine whether the feature is fit for use, to improve visibility of the progress made, and to receive real feedback from the business stakeholders
In addition, there is often a parallel process of regression testing occurring throughout the iteration. This involves re-running the automated unit tests and feature verification tests from the current iteration and previous iterations, usually via a continuous integration framework.
In some Agile projects, there may be a system test level, which starts once the first user story is ready for such testing. This can involve executing functional tests, as well as non-functional tests for performance, reliability, usability, and other relevant test types.
Different types of acceptance testing
Agile teams can employ various forms of acceptance testing.
Internal alpha tests and external beta tests may occur, either at the close of each iteration, after the completion of each iteration, or after a series of iterations.
User acceptance tests, operational acceptance tests, regulatory acceptance tests, and contract acceptance tests also may occur, either at the close of each iteration, after the completion of each iteration, or after a series of iterations.
When you are ready, select Next to continue.
This section discusses the differences between testing in traditional and Agile approaches, the status of testing in Agile projects, and the role and skills of a tester in an Agile team.
A world-leading tech and digital skills organization, we help many of the world’s leading companies to build their tech and digital capabilities via our range of world-class training courses, reskilling bootcamps, work-based learning programs, and apprenticeships. We also create bespoke solutions, blending elements to meet specific client needs.