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 step, 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 Requirements collected from clients and stakeholdersPrepare Requirement Traceability MatrixIdentify the testing techniques and testing typesPrioritize the feature needed to be primarily targeted on the testAnalyze the Automation feasibilityIdentify the details about the testing environment where the actual test will be executedExpected results: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 stage where team discusses the foreseen cost and effort should be invested.Activities to be achieved:Estimate the testing effortDefine the Testing ApproachPrepare Test Plan and Test Strategy documentsAssign particular tasks and duties to each team member associated with available resources.Select Testing tool.Expected results:Test Plan documentTest Strategy documentTesting ApproachResources, individual’s roles and duties as well as skill requires.
Testing tool Test Case DevelopmentTest case will be built and verified in this step. Also, scripts for automation will be verified if needed and Test Data will be created. Activities to be achieved:Verify test cases and automation scriptsMake a Test Data Expected results:Test casesTest scripts (for automation if needed)Test DataEnvironment SetupTo carry out the test, we 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 if it is crucial towards the project. The installation will be checked once the establishment of needed 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 needed software and hardware must be shown up.Set up test environmentCreate test dataInstall, build and execute of Smoke testingExpected results: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 defectsExpected results: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 and learn from the failure to improve the product in the future. 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:Evaluate the test completion on the basis of Test Coverage and Software QualityForm the lessons learned from the project.
Analyze the test results to discover the allocation of bugsTest Closure Report preparationExpected results:Report of Test Closure