The overall software testing process is a continuous improvement process. For this enhancement of process either a single persons or only testing team is not responsible. This joined combined effort of Testing and Development team along with Management should understand the importance of the testing process improvement and identify with area of testing process needs to improve.
Points for Team Leads, Managers and Project Managers:
- First important step is to recognize all of platform on which entire application is running.
- Analyze current requirements management process to check whether all requirement (functional & business) are being tracked in file-level version control system like TFS (Team foundation Server) or VSS (Visual Source Safe) etc.
- QA team should be participated from requirement gathering phase of the Software Development Life Cycle.
- List down all possible scenarios before start writing test cases and add this in the test planning.
- All written test cases should be reviewed by someone from QA team.
- Generate weekly (periodically) testing report to get true picture of testing activities like Bug Find Rate, Effort Variance, Test Case Effectiveness, Residual defect density, Schedule Variance, etc.
- Make QA environment separate (replicate the Production environment) and keep development team away from this environments.
- After every release a Post release meeting or Retrospective meeting (basically term Retrospective used in Agile Development methodology) should be conducted where all good and bad points should be discuss. Participants for this meeting would be team means both testing & development teams. Result of this meeting should be actionable items which could help to improve the overall project deliverables.
- Keep eye on overall time to fix the bugs by development team bug fixing time taken by development team. Keep informed every team member (Development, Testing team and Stake holder) about time remaining to complete the overall regression testing. Tracking of this point by relevant stack holders is very critical as it may result in low quality releases.
Points for Software Testers:
- QA should be prepared with test cases before start the actual test execution.
- Try to identify the logic behind the module and try to break that logic.
- Most of the errors are occurs at the boundary of the inputs, so design test cases using black box test cases design techniques like Equivalence Partitioning and Boundary Value Analysis.
- Don’t go for testing big module at same time, better you can break down module into logical smaller functional modules, so it will help to test each module thoroughly.
- While writing test cases consider positive, real life scenarios first and then go for invalid or negative test conditions.
- Carefully study the test results and make an effort to recognize the actual root cause from functional point of view.
- Both implicit as well as explicit application requirements should be tested.
- Prepare Requirement Traceability Matrix, so all requirement will be covered in test cases and also help to update particular test cases when specific requirement will change.
- Upon completion of test case writing share all test cases to development team members; it will definitely save the time.
- While writing test cases using impact analysis group the test cases, so it would help while executing regression testing in less time.
- All bugs should be communicated via Bug Tracking Tool and avoid communicating bugs verbally. If any blocker or show stopper bugs found then it should be at least documented via mail & share with relevant stack holders, lead and manager.
If you are not regular reader of this website then highly recommend you to sign up for our free email newsletter!! Sign up just providing your email address below: