99-Minute Workshop: Continuous Testing throughout the SDLC
I really enjoyed it and I got new ideas related to continuous testing and the relation between testing and quality from a new perspective, that’s why I wanted to share them in this blog.
What’s Testing ?
Testing is assessing quality, how testing is related to quality ?
Quality as correctness and Testing is checking all expectations to prove correctness of the software
What is quality ?
Lots of definitions could be applied for Quality such as
Quality is value to some personJerry Weinberg
Quality is value to some person who mattersJerry Weinberg & James Bach & Michael Bolton
Quality is conformance to specified requirementsISO 13628-10:2005
Quality is High Grade; Superiority; Excellence
And it’s possible to find other definitions all aims to “define QUALITY” Do you have another definiton ? or want to explore more ?
I invite you to listen to the Testing Peers episode N°35: “What is quality?” where they talked about quality and they mentioned interesting references and examples related to BMW cars…, it’s not surprising that they refered to Dan Ashby many times, so it’s a great complement to this blog post !
With all those definitions, we find out that quality could be divided into 3 categories
Quality ==> (consists of): Usefulness (the value/worth of something) + Correctness (meeting expectations wants & needs) + Goodness (the emotive experience of something)
What does “Testing is” .. = .. “assessing quality” actually mean ? what’s continuous about it ?
- Requirement analysis are usually done by exploratory testing, not checking.
- Think about input and outputs of your testing
- The inputs are related to ideas, conversations with designers, artefacts, architectures using models around risks, potentials problem, variables, different unknowns ==> the purpose is to feed design and prevent problems proactively
- The below part, about invstigating risks and unknowns in the software to uncover problems and info to be able to respond and fix reactively
Be more proactive with quality if we test before writing code!
The informations that we uncover enable us to feed code design, so prevent risk instead of mitigate risks !
Feed it to developers before writing code or while writing code. We are expanding everywhere and not shifting
In practice …
As software Starts with an idea, where we put processes in place, we collaborate and communicate, some use the BDD or other ways to collaborate and communicate around ideas.
That investigation, allows us to prepare artefacts that we can use in design, testing, automation, development and support.
Everything in the below slide is an information which is an input and output.
- Goodness, experience and value
- Communication: what’s the quality of your conversation/ acceptance criteria ?
- what’s the value of the artefacts, acceptance criteria ?
Test, before the code is written ?
I. Testing Ideas
- The quality of ideas? : is it a good idea ? valuable ? what are the risks/unknowns/assumptions
- ask “What? Why?”
- ask “Who?” “When?” “Where?” think about “Product” Risks and “Project” Risks.
- ask “How? ” think about “Product” Risks and “Project” Risks
Using those 5W’s+H help us testing the idea we want to explore !
II. Testing Artefacts
- The quality of artefacts ? How I test artefacts ?
- Using those heuristics can trigger ideas and help you in testing the artefacts
This is an exampe, how you can test the artefacts using different kind of heuristics
II. Testing Design
- The quality of designs ? use the risks that you think of as heuristics
Here’s an example on how to test the design presented during the workshop
Special thanks to Dan Ashby for such an insightful workshop and for bringing lots of things that can confuse the tester, such the definition of quality and the link to testing testing, and how to test continuously in the SDLC.
Thanks ministry of testing for organizing these 99-minutes workshops, relevent and inspiring topics that everyone need in his daily work as tester !
References and more learning resources: