The nature of agile projects, with lots of small releases mean that there are a lot of test runs to execute if you want to have any confidence in the code and the product.
Ignoring this testing just generates projects which will fail – not may fail – will fail, categorically will fail!
There are two sets of tests that are critical here…
Good unit test coverage and a TDD approach to development ensure that the rest of the organisation is supplied with product that works as developers expect it to.
Component tests and functional acceptance tests ensure that the product does what the product owner expects it to.
- Practically, the only way to do solid testing on new features is to have a stable product.
- Practically, the only way to assure a stable product is to either have solid regression testing on each release or to not make any changes.
- Practically, the only way to make sure that adequate regression testing is done is to automate the regression tests (unit, component, functional).
Without these tests in place, iterating quickly places an impossible to meet burden of verification demand on the testers and product owners, which just gives you a fragile process not an agile one.
Is your process Agile or Fragile?