Before QA moves on to test development, it is very important to figure out the importance of having the processes in place throughout the project. In order to get better results w.r.t increased efficiency, productivity and for a stable system, QA needs to implement the processes correctly and effort should be be made enhance them as and when required.
It is always a good practice to start with requirement analysis. A Quality Analyst needs to understand what the product/project is about and what should the QA do, besides understanding the Entry and Exit of the product/project. A better understanding of requirements will reduce lead testing time.
Test case creation process is the base for a stable system testing. If test case scenarios cover the functionality completely, then there will be no coverage Issues. Good test case writing not only ensures effective testing but also helps in covering future risks like knowledge gaps, testing gaps and defect free delivery. We’ve put together a few important aspects of test case development, listed below, and following these practices will help in an intelligent test suite.
The test lead/manager should use or create a template for estimation of effort required for delivery. The template should be a realistic one which takes into account each and every aspect of the process and the effort involved in completing a task. The template should be shared with senior managers and should have an approval from them to use (by aaron). A good estimation will not only lead to realistic schedule but will also not burden the tester due to incorrect estimations and timelines.
Before going for the test case creation, the test lead/manager should discuss with the client and understand the structure of the test cases the client wants to be prepared. Create a document with all the points a tester needs to take care of while writing a test case. Discuss the points that are not feasible to cover and take a buy-in from the client on those points. A baseline review checklist will be ready, based on these points, which needs to be followed while creating test cases.
A discussion with a business analyst is very helpful before you start the test case creation process. The BA team can help the testing team to give a holistic view of the application to be tested. The BA team will be helpful not only in clearing the functional doubts of the testing team, but also in understanding the impacted areas. This discussion will help the testing team close any functional or knowledge gaps and will, therefore, lead to a complete test suite.
It’s a good practice to maintain a query sheet for the queries resolved by the BA Team. A tester should log his queries into a query sheet and the BA Team can periodically update and answer the queries. This sheet will help new associates who join the team as they can go through the query sheet and get their queries resolved. This will help in saving the BA Team’s effort.
The test case, when written, should be clear and concise. It should clearly state what needs to be tested. For this, it is required that the format used for test case development should be defined properly so that there is no ambiguity in the test case. This will help in creating coherent test cases. The advantage of using a standard format is that the test suite is not only easy to maintain, but also to modify, repair and review. The points mentioned below are the base for effective test case creation:
Reports represent the face of the application to the Management. The management will always rely on reports to check what is going on in the system/application. Reports, therefore, require a thorough testing with a different mindset. At times, the management relies on the data present in reports to make business decisions. It’s imperative that the testing team should understand the importance of data shown in report and how a minor defect can impact the business. Test cases should be written from an End-to-End perspective. They should not be written just to test the field values. If reports show correct data, it shows that the system is in good shape.
Once the test cases are written, a peer review is necessary to validate the test cases against the client-agreed checklist and also as per the Use case. It will also help you catch the structural or grammatical mistakes. It will bring everyone in the team on the same page and people will learn to follow the guidelines by learning from other’s mistakes. Peer review will be more effective if the test cases are given to peers who know the functional area. It will help you in spotting the functional gaps in the test cases. The test lead/manager should ensure that the review comments are incorporated and closed. A sheet should be maintained in central repository to track the same.
A review by a business analyst is an essential part of the test case writing and review process. Every tester in the team is concerned about his own functional areas, which essentially means that an effective test suite may not be ensured. A business analyst not only reviews the test cases but also looks at the impacted areas. She/he will help you in identifying the missing areas or scenarios. A rigorous BA review is definitely a smooth path towards an effective test suite. The test lead/manager should ensure that the review comments are incorporated and closed. A sheet should be maintained in central repository to track the same.
Traceability matrix is the most important component of the test case creation process. A traceability matrix will help you map the requirements with your test cases. Every section of the requirement should have test cases against it which signify the complete coverage of the functional areas. Every time a CR is received, it will be easy to determinate the functional areas impacted by the CR. This will help in calculating the exact number of test cases that will be impacted due to the introduction of a CR and hence will provide precise effort estimation.
Once all the test cases are written, it is a good practice to get the quality audit of the delivery done. This will not only help in improving the quality of the delivery that is made to the client but also gives us a chance to learn and close the gaps for any future delivery. Quality Audits are performed at three levels as mentioned below:
Once a delivery is made to the customer, it’s important that customers also does a review of the delivery made to them. This will help in gaining customers’ confidence in delivery besides making sure that we keep delivering quality results. If there are any comments by the customer, the Test Lead should get the review comments incorporated on priority.
“Venkat Devarapu works as a Senior QA Engineer at [x]cubeLABS and has over 4 years of experience in Web, Desktop and Mobile Applications. He is an expert in domains like Retail, Telecommunications, Insurance and Healthcare.”
Tags: Quality Assurance