Learning To Shift Left Your Testing
The later you find a bug, the more costly it is.
This statement forms one of the foundations of effective testing and finding defects early in your development process. Test First approaches takes that foundation and supercharges the agile process by considering and defining tests upfront before you develop a line of code.
Sometimes people can confuse Test First Development and Test Driven Development (TDD) as the same. Although linked, Test First Development is the overarching paradigm, and TDD is an implementation of Test First Development.
Similarly, Behaviour Driven Development (BDD) can often be confused with test automation. BDD is another implementation of Test First and is focused more towards a collaborative conversation defining how a feature should and should not behave and documenting these expectations through defining concrete scenarios.
There are also other Test First Approaches, such as Acceptance Test–Driven Development (ATDD), and if teams are looking to implement a Test First Development Approach, you must put importance on the following:
Work as a team to define the process
- Tests should be collaboratively defined before code is written.
- Testing is the responsibility of the team. This means both manual and automated testing activities are shared across the team and do not just fall on the ‘Quality Assurance Role’ to complete.
- Acceptance tests should aim to be automated and included in testing activity artefacts as part of the definition of done.
- The business is represented to ensure the product or feature meets its needs.
Ensure that testing is estimated and factored into your feature estimation
- It is important to recognise Testing Activities as part feature definition.
- Separate estimation can cause micro silos within your team and culture.
When running design sessions, consider what kind of assertions you will need to make to verify the feature
- Test automation is only effective if you can implement it quickly and reliably against your application.
- Test Flake is often a symptom of bad design. Teams may need to refactor or draw test boundaries around the application under test to make test automation repeatable and deterministic.
How can we help?
ClearRoute whole approach to building software is grounded in Test First. Our QCEs can help you implement and adopt Test Fist Practises. We will work with you to understand the end-to-end development practices.
We will present a new development process, clearly outlining the business value and implementation plan.
If this sounds of interest, then please get in contact with the team.