QA Strategy in Agile Model
A QA Engineer’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 development engineers everywhere. Let’s look at what this shift has meant for QA & QC careers.
Developing a QA Process
As part of testing a functionality, the QA team should also debug, analyze the stack trace, and provide the root cause of the issue to the development team. It adds immense value to the product by collaborating as one team with a common purpose.
A QA or QC Engineers job is not a mere individual attempting to break the tool, but more a team player contributing to the overall effort. As the engineers are rotated into different teams, they can prioritize continuous improvement of automation and in-depth knowledge about each component.
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 hierarchical flows 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 development team. 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, and this would add substantial value to the entire developmental process.
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?
It is vital to be of an agile mindset when seeking product gaps and the solutions to fill them. One key lesson in QA 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 QA & QC Engineer 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.