SOFTWARE TESTING LIFE CYCLESoftware Testing Life Cycle (STLC) is described as a string of activities handled by testing team in their testing process over a particular product. This process contains 6 different steps where each of steps individually performs a specific responsibility contributed in a whole testing mechanism. Also, every step has some Entry Criteria (a set of actions should be done to start the test) as well as Exit Criteria (a set of actions should be achieved before finishing the test). Basically, these criteria will decide if the tester can shift to next stage of Testing Life Cycle or not. To better understand this sequence, we will go through step by step in detail as following. Requirement AnalysisAt the first phase, Testing team interprets the requirements collected from customers/users with both functional and non-functional elements to clarify which is testable or not. If there is any ambiguity occurred, QA team may collaborate with stakeholders( Business Analyst, System Architects and so on) as well as clients to better understand requirements before conducting the test. Since the QA team gets ready to the test, they should have an approval from clients before starting.
Activities to be done in Requirement Analysis:Analyze the System Requirement specificationsPrepare Requirement Traceability MatrixIdentify the testing techniques and testing typesPrioritize the feature which needs to be primarily targeted on the testAnalyze the Automation feasibilityIdentify the details about the testing environment where the actual test will be executedDeliverables (Outcome) of Requirement analysis phase are:Requirement Traceability Matrix (RTM)Automation feasibility reportTest PlanningAfter passing the Requirement Analysis phase, QA manager (or Leader) will develop the Test Plan and Test strategy documents. Also, this is the phase where team discusses the feasible cost and effort should be invested.Activities to be done in Test Planning phase are given below:Estimate the testing effortDefine the Testing ApproachPrepare Test Plan and Test Strategy documentsAssign particular tasks and duties to each individual in team associated with possible resources.Select Testing tool.Deliverables (Outcome) are:Test Plan documentTest Strategy documentTesting ApproachResources, individual’s roles and duties as well as skill requires.Testing tool Test Case DevelopmentTest case will be created and verified in this step. Also, scripts for automation will be verified id needed and Test Data will be created.
Activities to be achieved in Test Case Development phase:Verify test cases and automation scriptsCreate Test Data in testing environmentDeliverables (Outcome) are:Test casesTest scripts (for automation if needed)Test DataEnvironment SetupTo carry out the test, we initially need to start from the environment creation for testing where a set of software and hardware related to the test object needed to be installed. Furthermore, there might be a third-party committed it is crucial towards the project. The installation will be checked once the establishment of required instruments is done. If the installation successfully passed the test, Test Data will be designed. There are number of issues may come so a Smoke Testing is needed after creating Test Data. This basically aims to inspect whether the core features are in any troubles or not.
Activities to be completed: The Requirement and Architecture document, the list of required software and hardware must be shown up.Set up test environmentCreate test dataInstall, build and execute of Smoke testingDeliverables (Outcome) are:Test Environment Test DataResults of Smoke testingTest ExecutionIt is not hard to realize that the test will be done in the given environment installed in the previous stage. During the test, found bugs will be recorded under the specific test cases. Then, Developers will take the responsibility to fix these bugs and QA will check this case over again. Activities to be achieved: Execute of Test CasesReport test resultsLog defects for the failed test casesVerify and retest of the defectClosure the defectsDeliverables (Outcome):Test execution ReportUpdated test cases with specific resultsBugs/Errors ReportTest Cycle ClosureTo finish the Testing Cycle, QA will have a further meeting about testing artifacts which aims to gain more experiences after bad practices in previous phases. Thus so, any future project will have a chance to avoid the possible troubles which already happened in previous testing project. Activities to be achieved:To evaluate the test completion on the basis of Test Coverage and Software QualityDocumentation of the lessons learned from the project.
Analyze the test results to find out the distribution of severe defectsTest Closure Report preparationDeliverables (Outcome) of Test Cycle Closure phase are:Report of Test Closure