From the early stage of my testing career, I always wondered why is test design called test case design?
Are writing detailed test cases a part of the test design process? But how do we identify the behavior of the software and its conditions that have to be checked?
A lot of questions were running through my mind. So, I decided to figure out what test design is all about. After exploring it deeply, I discovered that test design is nothing but test ideas obtained through information gathering and analysis. It also depends upon what type of information needs to be analyzed. Test ideas are the ones that ultimately evolve into test cases, test scenarios, or even test checklists.
Ok. So, how do testers gather information?
As testers, we gather information by exploring the software, knowing the domain, and learning how to use the software. We read the documentation related to the software to explore various features.
We interview developers to know about the technical implementation and architecture of the software. We interview product owners to learn more about the software business and discuss the software aspects based upon the customer perspective.
Ok, now we have gathered all the information. But how we will do the analysis?
Based upon the information gathered, we will start analyzing by identifying the necessary conditions that must be satisfied by the software. We figure out the interactions between different features and formulate experiments from that. We think of different ways to use the product and identify the pattern of usage of the software. We observe behavior that we have not noticed before that insists upon enhancing our observation skills. We think of risks that might happen when using the software.
We might split a feature into sub-features for testing due to its complexity. Here the test techniques can be helpful for us to find the conditions for which features can get divided into several sub-features and combinations that can be experimented with the software. Tools also can be useful to generate test data for different combinations, analyze data and help to visualize it.
We also check whether some information is missing, which is required to know. That’s where the Heuristics test strategy model and Test Heuristics Cheat Sheet helps as a guide in identifying such information and provides ideas to design our tests.
After identifying such details and combinations, we start experimenting with the software. Sometimes, test ideas may change due to the execution of our experiments. That’s where the exploratory approach of software testing helps to design and execute the experiments simultaneously at each phase of the software development life cycle.
During my exploration, I discovered that questioning is the topmost skill for any tester which contributes a lot during test design. Testers need to ask more questions as they need to find more information that is hidden. They need to be more curious like a child.
Note-taking is another top skill for testers as they need to record every information they hear, see and think about it. I would like to highlight an article related to note-taking written by Michael Bolton that explains the importance of note-taking skills.
I also find this interesting example which is similar to test design that explains how different kinds of evidence gathered like blood, fingerprints, mobile phones, etc that have been analyzed in a Forensics laboratory:
In this video, Angela Gallop explained how textile fibres, blood patterns, and DNA profiles are analyzed. She also explained how they collected the samples for analysis, especially for textile fibres.
So, as a software tester do you think that test design is still test case design? No. Your test ideas that you thought based upon information gathering and analysis are your actual test design. Without test ideas, you will not test the software properly. Because of that, you may miss critical bugs in production. So, sharpen your test design skills and hunt down the bugs before it makes a mess in your software during its release.
I hope you enjoyed reading my article on what test design is actually about and I am eager to know your thoughts on this.
Know Our Writer
TEST Engineer - Advanced At Siemens Digital Industries Software
Working as a software tester at Siemens Digital Industries Chennai. Passionate about writing and talking about software testing .