TLDR; Recording of my Agile Tour London 2017 talk is now publicly available on InfoQ
Back in October 2017 I spoke at Agile Tour London on the topic of how Software Testing fits into the Modern Software Development process.
My recording with the slides and mp3 downloads are also available on Evil Tester Talks
I put this talk together because people seem to ‘argue’ or ‘discuss’ if we need Software Testing or Software Testers when we engage in Modern Software Development practices.
I wanted to try and present – in 40 minutes – my models for how I think about the System of Developments that we use and how thinking about Testing changes depending on the approach to development and how it also fundamentally stays the same.
I explain a little about ‘why’ I think the process of Software Testing became a very documentation heavy and ineffective process in a waterfall process. To me this demonstrated that the Software Testing process is built in and around the Software Development process. The more we try to separate Testing from other Software Development activities like: programming, design, analysis, management, release, etc. the more we add to Testing, and the more confused the nature of testing becomes.
But then we thought of the additional trappings as Testing:
- Test Strategy Document (independent of Development Strategy)
- Test Plan (independent of Project Plan)
- Pre-Written Test Cases,
- Pre-Written Test Scripts
- Requirement Cross Reference Matrices to the above artefacts
None of the above are ‘Testing’ they are a result of the Software Development process in place and the way the team was structured and the development was implemented.
Unfortunately when we moved to more Modern Software Development processes, we often brought the above trappings with us, when they may no longer have been appropriate. And then we faced calls of “we don’t need testing”, rather than “we don’t need pre-written test cases and scripts”.
We should have built an effective and unique approach to testing into the unique development approach adopted on each project.
In this talk I try to approach the model building of Software Testing from a Software Development perspective.
In the talk I cover:
- perhaps people have never experienced Good Testing
- a Tester is someone who sees opportunities for testing that other people miss
- Modern Software Development is hard and requires constant reflection and customisation to be effective
- Feedback is an important part of that reflection process
- We carried forward legacy concepts, instead of applying the unchanged core principles of Testing to the new approach to Software Development
- We accept ‘concepts’ with names as normal, even when they are detrimental e.g. Technical Debt
- We confuse tools with concepts, with the risk that we think we have implemented the concept, when all we have done is implement a tool e.g. Jira with Communication, Jenkins with Continuous Integration
- One way to build a contextual test process is to model the risks on a project and decide how to detect and mitigate those risks.
- Observation is important to help us verify particular conditions
- We also test to increase our uncertainty and expand our models
- and more…
If I have not communicated the points well in the above summary then hopefully I explain them better in the full talk.
You can find links to the slides and videos of the talk on my Agile Tour London 2017 Talk Page.