I am a test engineer with around 2 years of experience. As a QA person, I am more concerned about delivering a product that too with good quality. Based on my experience, I am herewith sharing few suggestions which will help us to perform a testing process in a better way and I hope :).
Basically, all the members of a team have a common goal. The main goal of a Dev team is to develop a functional piece of software. As a tester, finding out bugs is our goal. This leads to a clash between 2 teams. This happens because both the teams have the different goal and both the teams works in isolation. This clash between the 2 teams can be rectified by increasing the interactions between Dev and QA team. The developer thinks about the solution for a problem whereas QA thinks about quality. Quality should begin the day before the development begins. Quality checkpoints should be introduced in the development stage. Regular interactions in the development stage give early and regular feedback.
“Developers can build a product but a quality product can be built with the help of second eye, QA.”
Phase 1: Requirement gathering acts as foundation
From the start of the project, while gathering requirements from the client, QA must be present in order to understand the functionalities and to track the same.
Phase 2: Integrate the ideas
Firstly, Both Dev and QA team should sit together and have a conversation regarding the piece of work that we need to perform. Testers should start preparing the test cases as per the requirements gathered from the client with reference to the flow charts and use cases drawn by the developers. Testers must update unique ID of each case, Test description, Test procedure and Expected result with reference to the mock flow and rough sketch (Example: Balsamic).
All the test cases, test reports and documents should be accessible within the team so as to refer if needed.
Developers should start building the feature based on the requirements gathered from the client and expected result of the test cases provided by the tester.
Phase 3: Developers Vs Testers
QA people should start testing it side by side in the developer’s environment (Local environment). This helps the developers to fix the validations in the construction stage itself. By doing so, testers can focus on different scenarios instead of testing the existing and minor bugs again and again. This helps us to fix almost 50% of the bugs before coming to QA. It helps testers to save their time instead of focusing on expected issues.
Phase 4: No bugs can escape from us (QA)
Testers can start a full round of testing in their workspace (Staging environment) once the feature is built based on the test cases. It’s time for updating the actual status of the feature. No item should be moved to UAT if not approved by QA. All the approved items must have updated test cases, tested scenarios, test reports etc.
Phase 5: Will QA be successful without automation?
Automation Testing is the one and only way through which we can make our QA process, an effective one. Almost all the projects are following sprint basis nowadays. For example, when we move 10 items to UAT after testing it by manual, those 10 items must be automated before closing that sprint. No item should be moved to production without automation.
Phase 6: Interaction among testers
Weekly stand-up helps to build QA community stronger. Such meetings help each and every QA person to know how testing process is going on other projects as well. Also, this is the right time for having a good interaction among the testers about current trends in QA and can share their experience and stay updated.
Hope you all enjoyed my blog and I would like to share your thoughts about the improvement of QA process.