Chap 4 - Software Testing Life Cycle
Chap 4 - Software Testing Life Cycle
Chap 4 - Software Testing Life Cycle
E N D
Presentation Transcript
Software Testing Life Cycle(STLC) ●Software Testing Life Cycle(STLC) defines the various phases which if followed will result into adequate testing of Application under test ●Each phase has various activities and has some definite deliverables 2
New title Software Testing Life Cycle(STLC) Requirements Analysis Test Planning Test Design Test Execution Test Closure 3
Requirement Analysis ● Activities: Collect information about Application Understand Application domain - Get familiar with domain terminologies, business flow, business rules Understand Application architecture Get familiar with existing functionalities - Attend Application walkthrough of an Application Understand user requirements Read and understand Software Requirement Specification - Attend SRS walkthrough, code Inspection Identify testable Requirements Identify levels of Testing needed Create Test Strategy Scope and Objective Test Levels Test Deliverability Communication and Status reporting Testing tools to be used Training Plan Non functional tests to be conducted Risks and mitigations ● Deliverables: Requirements query log List of Testable Requirements Test Strategy 4
Test Planning ● Activities: Estimate Test Efforts involved Based on Testable features and their complexity Based on Use Case diagram Identify Test team size/ Resource requirement Identify resources Define their Roles and Responsibilities Identify Risks, Assumpions, Dependencies, Issues(RAIDS) Prepare Test schedule ●Deliverable : Test Plan 5
Test Design ● Activities: Create test scenario matrix Review and finalize test scenarios Create Requirements Traceability Matrix (RTM) Create test cases for each test scenario Review and finalize Test cases Identify and create test data for each test case ●Deliverable : Test Scenarios Test Cases RTM Test Data 6
Test Execution ● Activities: Check for Test Environment readiness/ availability Specific hardware, Software, Operating system, network configuration Check that required build is deployed in Test Environment Make correct configuration settings Create Test suite Identify test cases for execution Executing a Test Case Executing the application and performing steps by referring to a Test Case Record the results Observe the Application response based on the steps performed Identify whether Application is working as expected Compare the Actual result with Expected result as written in the test cases Pass/ Fail the test case ● Deliverable: Daily Test Status Report Defect Report 7
Test Closure ● Activities: Prepare Test Closure Report Detailing Test coverage Any variance in actual vs planned as per Test Plan Test Exit criteria MET/ Not MET All Test Deliverables from all phases of STLC to be checked in Configuration Management Tool Post-morterm Review What worked and what did not work Any Leanings ● Deliverable: Test Closure Report Test Metrics 8
Test Planning in Detail ● Test Plan It is devised from Test Strategy There are separate Test plans for Unit testing, Integration testing, System testing and UAT ● Test Plan contains following sections/ details Test Plan Identifier A unique identification number for a Test Plan document Introduction Purpose of document Application overview Scope Extent of testing Interfaces not in scope 9
Test Plan Continued ● Risks & Issues Risks during testing activity and mitigation plan e.g.New test management tool getting implemented and will be used first time in the current project, unavailability of Test Environment Issues which can have negative impact on schedule and budget E.g.Resource on-boarding is delayed impacting schedule ● Assumption & Dependency Assumption made while preparing test schedule and dependency on some other teams E.g.Assumption -Testing team will be given required domain knowedge training Dependency-Year end module will be executed only after month-end module is found stable 10
Test Plan Continued ● Features in-Scope/not in scope Listing of features of an application that are under scope of testing Listing of features of an application that are not in scope of testing ● Roles and Responsibilities Test team structure and their responsibilities ● Test Schedule and their interdependencies Identify Test Activities Allocate resource(s) for each activity Allocate timelines for each activity 11
Test Plan Continued ●Test Environment Test Bed Specific hardware configuration Operating system Network configuration Specific software - Application build version - Browser 12
Test Plan Continued ● Entry Criteria When to start testing E.g.Test closure report of previous level of testing is obtained ● Exit Criteria When to stop testing E.g.All major defects are closed and retested satisfactorily ● Suspension Criteria When to suspend testing activity temporarily E.g. Further testing is not possible due to application issue ● Resumption Criteria Resume testing when suspension issues are resolved 13
Test Plan Continued ●Testing Tools Test data creation tool Test Management tool Defect tracking tool Configuration management tool to be used and location of each configuration item/ test artifact ●Distribution list of a Test Plan Approvers Reviewers 14
Test Completion ● Testing is a never ending process and no one can say that any software is 100% tested ● Following are the aspects which should be considered to stop the testing: Testing Deadlines. Completion of test case execution Completion of functional and code coverage to a certain point. Bug rate falls below a certain level and no high priority bugs are identified Management decision 15
Testing Principles ● Testing is context dependent Testing is done differently in different context Safety critical software is tested differently than e-learning site ●Exhaustive testing is impossible Testing combinations may not be feasible everything with all possible input Risk Analysis should be used to focus Testing efforts 16