Are you familiar with Sudoku? It's a number puzzle that challenges your logic. It's a 9x9 grid where composed of sets of 3x3 tiles. Initially, the grids are pre-filled with a few numbers and the goal is to fill each grid, row, and column with numbers from 1-9 without duplication.
| Screenshot from Wikipedia |
Requirements analysis is a crucial task that a QA must do well for this is the pillar of the project's testing outcome. We must immerse ourselves in the requirements specifications, clear out any unclearness or uncertainty in the expected results, think of any possible specifications that were missed, consider how it might work with other features, and imagine different scenarios that an end user could do.
Empty cells in grids
Requirements, no matter how the product owner/business analysts try to polish it the best as they can, will always have something that a tester might think is missing or unclear. This is like us looking at a Sudoku puzzle for the first time. There are numbers plotted but it's not complete.
Looking at the pre-filled numbers
Once we receive the requirements, QAs will have to read and understand them first. This is the only way we can derive our questions like:
- Specs: The user will automatically be logged out when they're idle.
- "How many minutes before they get logged out?"
- "What exactly happens as soon as they get logged it? Will they be a modal first before they get logged out they it just happens immediately?"
- Specs: The user will be able to purchase the product when they have sufficient points.
- "What if the end user is a blocked user?"
- "What if the user had the items in the cart but before they checkout, their points got expired?"
- "What about x feature that has a similar component? Do they have to be consistent?
Filling up the empty cells
A QA must have good communication skills, patience, and good organizing skills to effectively raise these questions to the team and keep track of everything.
As we resolve each question one-by-one, we can start to fill the empty cells. We start to understand the connection of the grids, rows, and columns so that all of them get their 1-9s.
Completion of the puzzle
What's next? For a QA, the next step (or in reality, it could be concurrent) is to create the test cases.
Ensuring that we are basing our test cases on clear requirements means that we'll be able to test the right thing, close to how the team intends the software to be.