We know that performance of developers is measured based on number of defects detected in developed. But how to measuring software quality assurance team performance. Learn more here
- No defects should be injected into subsequent phases:Here injecting means putting defects because of making mistakes while doing work. In Quality Assurance context injecting defects means missing defects to find while testing. This also known as defect injection.
a) In Stage 1 testing tester finds 5 defects. These defects are fixed and retested in stage 1. Now the code is promoted to stage 2 for clean run expecting no defects in stage 2.
b) But the tester finds brand new defects say 3 in stage 2 which supposed to be finding in stage 1, so the tester injected 2 defects into stage 2 due to not performing well in stage 1 testing.
- Zero rejection defects:
Rejected defects indicates that the defects created for developer investigation is not invalid i.e due to lack of knowledge on application functionality tester has created incorrect test cases which caused to create invalid defects. Also, these invalid defects caused developers to waste time on investigation.
- No QA Effort Variance:
It is impossible to get 0% effort variance i.e Actual effort will not be equal to planned effort. Acceptable effort variance will depend upon organization standards. For example, acceptable effort variance for an organization is + or – 20%, so if effort variance is beyond + or – 20% then it will be considered as effort variance. Again, the management should conduct root cause analysis to conclude if effort variance is due to quality assurance performance issues.
It is a common myth that software tester does not require any special skills except knowing English which is not true. Software testers role is one of the key players for successful project implementation. The following are the key skills required for a successful tester
Analyzing skills: These skills are required to design test cases, finding root causes for an issue occurred while in test execution and in decision making to determine if observed abnormal behaviour of a software function is defect or not. It is common in IT industry that majority of the software requirements won’t be clear and keep changing frequently. So, software tester should do thorough analysis to get an understanding of the requirement to convert into test cases and should keep minimum rework as much as possible when there are frequent requirement changes.
Good Reviewer: Finding defects only in software is not a primary responsibility of a tester and should be able to find defects in test documents as well. Examples of test documents are requirements document, test cases etc.
Ability to find defects: Capability of finding defects in application with keen observation. Tester should be well versed with the software functions under test to execute all possible functions of software to examine the behaviour.
Maintaining Clarity in Test documentation: Test documentation such as Test Cases and defect reports should be written clearly for other stakeholders (Example: Developers, Peer Testers, Project Manager) to understand.
Negotiation Skills: It is very important to convey the issues and make developers to understand how important to fix if the founded issue is a defect. Also, tight timelines are common in software projects so the tester should convince and make project managers and customers to understand how important to allocate extra time for testing.
Proactiveness: Tester should be very proactive in forecasting the issues and the same have to be conveyed to project stakeholders to take preventive measures that not to occur. Otherwise it could cause to delays, rework and additional cost if issues occurred.
Innovative skills: Some of the testing tasks are repeatable and tedious. Examples of such tasks are as below:
- Creating test evidence documents
- Test case maintenance task such as uploading test cases written excel sheet to HP Quality Centre or Mercury Quality Centre.
- Creating test data
Tester should identify above tasks and can create automated scripts using excel macro or automation tools. These automated scripts help to save time, cost and prevents human errors to avoid rework. Most importantly customer would be impressed and more chances of getting the new business.