Software testing is to check the product which is being delivered to the end user to be issue free. It means to check whether the actual result is same as the expected result.
Software testing will help detect errors/issues in system and also check if the system developed is same as the actual requirements from the Client.
Software Testing can be done Manually as well as through Automation tool.
Define Software Testing Life Cycle STLC
Software Testing Life Cycle (STLC) is the testing process which every Tester should follow while testing.
Steps of STLC cycle :
1. Requirement Analysis – This step includes gathering of requirements from Client and testing point of view and check if any requirements are missing in advance before the development step starts.
2. Test Planning – This step includes creating the testing estimation for the project and to prepare and complete the test plan.
3. Test Case Development – This step includes creation of Test cases and check if what different types of testing tools are required.
4. Environment Setup – This step decides on which Platform/OS the tester needs to perform testing of project.
5. Test Execution – During this step, the testing team would perform testing on created test plans and cases. Issues found will be reported in bug tracking tool to the development team for solving and later once issues reported are fixed – Retesting cycle will be done.
6. Test Cycle Closure – Testing team will check, discuss and analyze testing cases and other issues which are pending and also gather knowledge from testing cases and work for the future testing plan.
Issue Life Cycle
Issue life cycle content following steps or status:
1. New: When an issue is logged and reported for the initial time. Status of issue is in NEW state.
2. Assigned: Once tester reports any issue, the lead of the tester approves that the issue is proper and assigns the issue to the respective developer or the developer team.
3. Open: This status means that the developer has started analyzing and working on the issue fixing.
4. Retest: In this stage the tester does the retesting or regression testing to check whether the given bug is fixed and no other bugs are occurred after fixing given bug.
5. Verified: The tester tests the issue again to see if it has been fixed by the developer properly or not and if the issue is not solved and then tester changes status of the issue to “verified”.
6. Reopen: Once tester do retesting of issue and if issue is still not fixed properly then tester changes status of the issue to “Reopen”. The issue again will be following issue life cycle.
7. Closed: Once Tester do retesting of issue reported and if tester feels that issue is fix properly and does not exist anywhere in system then tester changes status of the issue to “Closed” .
8. Rejected: Any issue reported by tester and development team think that issue is not proper or no changes are required then status of issue is change to “Rejected”.
9. Deferred: Issue reported by tester and if that issue is not that major and can be uploaded in next release then status of issue is change to “Deferred”. So Deferred issues will be fixed in next release or later.
Keyur Shah – Quality Assurance Engineer
Software Testing is a blessing in disguise as it helps bring a zero-bug report for the work projected. Fewer or no errors brings together success to any product or company. Following and understanding the above life cycle and its steps eases the work and helps bring out the desired results as expected by the clients.