In IT Industry specially in an independent software testing company, Product Owners- be it the Project Manager or Business Analyst, are mostly from development background. In general, developers have some misconceptions about QA and thus during SDLC, QA either doesn’t find any place or comes at last place in priority list. They have a tendency to think about specialized quality checks as least required thing and they think that it is a waste of time and money and keeping QA away from the project will reduce cost and in turn expect quality to directly come from production teams. Now question arises why they have misconceptions about QA?
Answer: They carry some myths about QA which derive them to think so. Following are some of them.
- Myth: Testing can only start once product is developed –
- Truth: It’s true that testing of the product is based on the source code but several issues can be prevented during requirement review at early phase. And making the test approach and strategy according to the requirement is independent from source code.
- Myth: Any one can test the software application-
- Truth: Testers use their mind very creatively to think differently than developer and including negative and alternative scenarios.
- Myth: Complete testing is possible-
- Truth: There might be several scenarios which can't be tested during SDLC and only occurs after deployment.
Question: So what exactly QA Engineer’s overall roles and responsibilities are?
Answer: Generally QA and Testing are considered as identical but QA has more responsibilities than just writing test cases and do testing:
- He is good to give feedbacks and share his testing knowledge to understand the scenario.
- He is excellent at creating scenarios based on requirements and need of end users.
- To use the application like an end user, the QA's are usually good in understanding the requirements of business from the perspective of user.
- On testing experiences QA can give feedback to product owner and help them so that they can use the application from end user's point, based on the requirements only and thus be helpful at early stages.
While he still writing tests and report bugs, with this he is also supporting various roles and responsibilities on the team. He is an important part of the team.
- A QA can help developers to write unit test cases by acting like a proxy product owner and keeping track of problems and software bugs.
- When a business stakeholder finds a discrepancy, it’s easy and logical for someone from the testing team to validate it, write it up, and submit it to the software develop team for fixing.
Question: So Why is it so important to include QA Engineer during initial business meetings?
Answer: Early inclusion of QA Engineer results in better product knowledge. If QA is incorporated right from the beginning stage of an assignment where he works almost with business analysts and developers, he can work as a BA as well.
While development team stay focused on gathering requirement and more focused on technology side, QA focuses on risk involved in the functionality and shares feedback to Business Analyst. Feedbacks/Concerns are shared with the business stakeholders and then, based on the feedbacks from QA, business stakeholders may make educated decisions regarding changes in the initial idea. Why? The business cannot understand test cases & test results and only understands risks. After discussing each and every part of risk analysis, we finally ends up with a product idea which is less risky and more feasible & usable. Like this, QA team partner provides risk based information and becomes partner in decision making. This results in reducing overall cost of developing and delivery quality software.