4 Strategies for a Structured QA Process

[article]

A tester’s role is evolving along with the change in industry technology and a shift toward an agile methodology. This transition opens unexplored, exciting, and challenging opportunities for testers everywhere. Let’s look at what this shift has meant for testers’ careers through the lens of my personal experience.

The Old Way: Just Find Bugs

My initial years as a tester were short on critical thinking. Every morning the testing team was provided a list of applications to review. The assigned resource would install the applications and attempt to break the functionality.

Our performance reviews were simple: The more bugs we found, the smarter we were! There was no thought, no strategy, no motivation. Our coffee breaks were discussions filled with the number of bugs each of us found rather than the quality of those bugs.

That got me thinking. What value did we add? Should we just aimlessly test to find bugs? I had too many questions without answers.

Developing a QA Process

My next job was a life-changer. As part of testing a functionality, the QA team would also debug, analyze the stack trace, and provide the root cause of the issue to the developers. It was refreshing to see everyone collaborate as one team with a common purpose.

I realized that a tester was not a mere individual attempting to break the tool, but more a team player contributing to the overall effort. As the testers rotated into different teams, we prioritized continuous improvement of automation and in-depth knowledge about each component. I developed a totally different perspective about QA and a newfound respect about how much added value this role brings.

In my next position, when I started I was immediately paired with a QA architect. I did not know then that this mentorship would have a profound and lasting impact on me. I realized the importance of following a more structured approach to QA. With the help of the QA architect, I honed and perfected four strategies toward an improved QA process.

1. Review Design and Architectural Documents

It’s always a good idea to go in with as much knowledge about the product under test as possible If design and architectural documents are available, give them a read. You would be amazed by how much more you understand the product’s architecture, the integrated components, and the flow of data than you would from testing alone. Take notes and draw a parallel to what you are testing and how the system interacts.

2. Research Past Defects

The past informs the present. It is important to know the risky areas and the most susceptible functionality that could break your application with every change. That kind of data could come from the history of defects.

Conduct some research on your defect tool and analyze past defects reported. Any predictable pattern that came out of this analysis would help you develop more automation around those areas. If there are customer-reported defects, analyze those too. This exercise will help you make decisions about the test strategy for various releases.

3. Triage the Defects

QA finds an issue, so you report it. But your job isn’t finished—you can go above and beyond by asking some additional important questions. Is there anything else you could have done? Do you know why this issue occurred, what caused the issue, and which commit might have been the problem?

This isn’t just the job of the developers. You have access to the log file, the commits, and the code, so you can do some digging to help resolve issues. Depending on how technical you are, you can go as deep as you like. But on a high level, look at the exceptions in the log. Is it a null pointer exception? Does that have to do with specific data, or some sequence of steps?

Narrow down the issue and start a conversation with the developer. They will appreciate the detailed information and research.

4. Go beyond the Reported Issue

Don’t just focus on testing functionality. Think about the back-end and front-end interactions of your application, too.

For instance, as you test monitor the logs, the application might be functioning as expected but with some errors occurring in the back end. Are the logs detailed enough? Are the exceptions being handled? For browser interactions, open the developer tools in your browser and monitor the network component. Is the response taking longer than it should? Is there any request that is not required when accessing some parts of your application?

All these questions allow the tester to go above and beyond what they are “assigned” to test. They also encourage discussions with the product owner and developers, who may not have thought about some of these scenarios.

It is vital to be of an agile mindset when seeking product gaps and the solutions to fill them. One key lesson in testing is being proactive instead of reactive. The bugs you uncover may turn out to be issues or technical stories, but by having that answer, you have prevented errors that might have gone unnoticed or come up as more serious issues much later.

Owning Product Quality

Being a software tester is no longer just about finding bugs and trying to break the application. It is about continuous improvement, defining a clear test strategy, and going that extra mile to improve quality. Following a consistent, structured approach to QA will help you acquire more knowledge about the product you are testing, ask questions you otherwise may not have thought of, and become a true owner of quality.

User Comments

12 comments
Sofian Daghsen's picture

Thank you for your effort.

But I am sorry to say that your article isn't good enough.

And it contains wrong statements.

 

Regards,

Sofian

December 17, 2018 - 8:23am
Abhaya Sahoo's picture

Thanks Praveena. Good points. Short and crisp pointers. Many a times we just think to find bugs. But establishing a good QA process is very important. Also technical skill of a tester is a must now a days in Agile world. Keep posting and share best practices you have followed. 

March 30, 2020 - 1:36pm

Pages

About the author

AgileConnection is a TechWell community.

Through conferences, training, consulting, and online resources, TechWell helps you develop and deliver great software every day.