Building quality into your software development is a necessity these days. To deliver high-quality products faster, you need to automate Quality Assurance (QA) activities. Easier said than done, though; it’s not just about using a set of tools, it’s also important to change the mindset.
To help you get started and understand the big picture, here are some of our favorite books you should read to grasp Continuous QA and start implementing it in your organization.
Agile Testing and its sequel: More Agile Testing
Agile Testing: A Practical Guide for Testers and Agile Teams, by Lisa Crispin and Janet Gregory
More Agile Testing: Learning Journeys for the Whole Team, by Lisa Crispin and Janet Gregory
To put simply, these books are seminal pieces in modern Continuous QA and fundamental pieces of literature on software testing. If you work in software development, they are required reading.
Lisa Crispin and Janet Gregory define the tester's role with examples from real Agile teams. You’ll learn, for example:
-
how to use the Agile Testing Quadrants
-
where testers and QA managers fit inside an Agile team
-
how to transition to Agile development
But more importantly, you will understand the mindset any quality-minded individual should embody: The mindset of a social supporter and coach of development — and the majordomo of the Product Owner.
Our favorite part is the challenge-first approach in both books. If you look through the table of contents, you see many chapters dealing with some common problems in the field of QA. These include:
-
Which tests, and in what order?
-
Risks and value to the customer
-
Are We Building the Right Thing?
So which of these two books should you get?
More Agile Testing covers much of the same ground as Agile Testing but also has some new parts (that are not repeating what the first book says). We thus recommend getting both copies, although there are parts that are repetitive.
Continuous Delivery
Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation, by Jez Humble & David Farley
Why do we add a book on Continuous Delivery to our book list for Continuous QA, you might ask?
Because CI/CD pipelines are the beating heart of modern software development. And what does a pipeline do? It runs different kinds of tests.
Jez Humble and Dave Farley are references in the industry and opinionated practitioners. They show you how to build deployment pipelines that turn integrated code into production software. This kind of delivery thinking involves testers and automation, as testing is a key element in ensuring error-free releases. After all, it is automation that enables us to elevate QA into Continuous QA.
This is also a key piece of literature that concentrates on the philosophy, rather than purely on the technical implementation – how to think about continuous delivery. As the authors say, “The most important problem we face as software professionals is this: If somebody thinks of a good idea, how do we deliver it to users as quickly as possible?”
Especially if you are a QA professional, the chapters on testing strategy, automated acceptance testing, and testing nonfunctional requirements, are a wealth of knowledge on how CI/CD affects QA work.
If you are too busy to dive into the whole book, in addition to the chapters above, we recommend checking out the chapters on managing environments and managing data.
The Behavior-Driven Development books
Discovery: Explore behaviour using examples, by Seb Rose and Gaspar Nagy
Formulation: Express examples with Given/When/Then, by Seb Rose and Gaspar Nagy
These books focus on Behavior-Driven Development (BDD) and its essence:
Collaboration between stakeholders and team members for a better understanding of the expectations and requirements.
Even though BDD is a specification-by-example technique, it also leads to acceptance tests that:
-
are easy to understand by all stakeholders
-
communicate the needs clearly
-
are easy to automate
This technique is a fundamental part of Continuous QA, both earlier books recommend it as well, and in our experience, you should employ this too!
In this easy-to-read and practical book series, Seb and Gaspar are guiding you through the main steps of BDD.
Discovery
This is a collaborative approach to better understand the user story and the value you deliver to the user, through examples. By asking “what if?” and “what if not?” questions, the team identifies rules to apply in a given scenario.
What we especially love about this approach is how risk-based testing thinking is embedded. Already during the specification phase, testers can direct the teams to the possible failure modes, and agree on their expected handling. You are applying fault avoidance and a test-first mindset, rather than using the inferior “finding-faults-later” way.
Formulation
This is a method to document the examples mentioned above, by using the well-known “Given-When-Then” phrase. You end with easy-to-read specifications that are also acceptance tests.
Coming soon: a third book
The duo is working on their next book, which will be about Automation.
It will show you:
- how to turn the above examples that are defined in Gherkin syntax into automation code closing the BDD cycle
- provide the team and stakeholders with fact-based visibility on progress
All in line with the Agile Manifesto adage: “Working software over comprehensive documentation.”
Even if BDD is not strictly about testing, testers can work far more effectively when they work within a team that uses these exercises to agree on and communicate business requirements.
Bonus: The DucksOps comic book
We’ve been working with test automation and QA for over a decade. Here is our attempt to explain Continuous Quality Assurance in a light and fun way. Check it out our comic book — you might enjoy it! A Duck-umentary on Continuous Quality Assurance.
Published: Dec 20, 2022