test life cycle - presentation - important concepts covered
DESCRIPTION
TRANSCRIPT
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 0
Testing Life Cycle
Presenter - Praveen Reddy K. Date-
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 1
Targeted Audience
• Anybody who is new to testing and want to know the Test Life Cycle
• Testers who has experience in Adhoc -Testing but want to learn the formal processes and procedures in Software Testing
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 2
Course Content
• Define Software Testing?• Why Software Testing and a specialist for Testing?• Software Testing in SDLC• Test Planning• Test Design• Test Execution and Process• V- Model• Bug Life Cycle• Testing Documentation and Formats. • Guide Lines and Check Lists
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 3
What is Software Testing?
• Testing is the process of proving that a piece of software works as specified
• IEEE Terminology: An examination of the behavior of the program by executing on sample data sets
• Testing comprises of a set of planed activities which result in identification of defect if any
• Testing involves operation of a system or application under controlled conditions and evaluating the results.
• The goal of the testing activity is to find – As many Errors as possible before the user of the software
finds them.– To determine whether a program component meets its
requirements.
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 4
Why Software Testing?
• To uncover defects in the Software• To analyse the reliability of the Software• To ensure that Software works as user expected• Early detection of defects and thus to reduce the cost &
deliver the Software with acceptable quality• To collect the Metrics which will help to plan the future
projects effectively.
Why Software Testers?
• One can’t find his own faults so as Developers• A fresh brain is the best brain• To have systematic and complete testing
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 5
Software Testing in SDLC
Business Requirements Technical
Feasibility Analysis ScheduleFinancial
Project PlanSystem Requirement
UISystem Requirements Functional
EnvironmentFunctional Requirements Performance
SecurityTest Plan
Design UI DesignDB Design High Level DesignApp Design
Test Case DesignCoding Low Level Design
Traceability Matrix
Testing Problems
Release and Maintenance Change Requests
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 6
Test Planning• A document to describe the plan for “What to Test?”,
“How to Test?” and “When to Test?”• Test Plan Template
– Title– Revision History– Objective of the Document– Scope of the Document – Objective of Testing – Brief Description of the Project– Test Environment – Critical Functionalities
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 7
Test Planning (Continues..)• Test Plan Template (Continues)
– Functionality not to be tested – Test data requirement and collection– Automation Analysis– Test Strategy – Training Plan( Technical/ Domain/ Softskill)– Effort Estimation – Resource Requirement ( HR/SW/HW)– Scheduling ( Detailed schedule for all phases of Testing)
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 8
Test Planning (Continues..)• Test Plan Template (Continues)
– Input Criteria – Exit Criteria Acceptance Criteria– Test Suspension & Resumption Criteria – Test Completion Criteria– Test Deliverables– Bug Classifications– Bug Tracking – Test Metrics to be collected– Documents Referred
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 9
Test Design
• The process of identifying the test conditions and preparing test cases
• Test Design involves:–Identifying the Test Conditions–Preparation of Test Scenarios–Preparation of Test Cases–Preparation of Test Scripts–Preparation Traceability Matrix (RTM)
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 10
Test Design (Continues..)
• Test Condition: Every testable requirement is considered as a Test Condition
• Test Scenario: The Test Condition which covers one high level requirement or business transaction is called as Test Scenario
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 11
Test Design (Continues..)
• Test Case: The set of test steps to be performed along with expected result to test a low level requirement is called as Test Case
• Test Scripts: The programs developed to test the application are called as Test Scripts
• Traceability Matrix: The mapping developed between different information sources like :Requirements Test cases Test Scripts
Defects
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 12
Test Execution& Process - 1
• Test Process Depends on the Project Development Model
• Projects are:–Development Projects
• Classical Development• Incremental Development• Modular Development
–Maintenance Projects
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 13
Test Execution& Process - 2
AUT
Sanity Testing
System Testing
Acceptance Testing
Regression Testing
Release& Maintenance
• For Classical Development Model Projects
System Development
DEVELO
PMEN
T
TESTING
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 14
Test Execution& Process - 3
• For Incremental Development Model Projects
UUT/AUT
Sanity Testing
System Testing
Acceptance Testing
Regression Testing
Release& Maintenance
Module Level Testing
Phase 4
DEVELO
PMEN
T
TESTING
Phase3
Phase2Phase1
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 15
Test Execution& Process - 3
• For Modular Development Model ProjectsUUT/AUT
Sanity Testing
System Testing
Acceptance Testing
Regression Testing
Release& Maintenance
Module Level Testing
Integration Testing
System Development
DEVELO
PMEN
T
TESTING
Mod1 Mod2 Mod3
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 16
Test Execution& Process - 4
• For Maintenance Projects
AUT
Sanity Testing
Acceptance Testing
Release& Maintenance
Re-Testing
Regression TestingExisting Application
DEVELO
PMEN
T
TESTINGC
R
Enhancem
ent
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 17
V- ModelBusiness
Requirements
Verification
Systems Requirements
Verification
System Testing
Validation
Integration Testing
Validation
Coding
Transition
Module/Unit Level Testing
Validation
Low Level Design
Verification
High Level Deign
Verification
Acceptance Testing
Validation
Prepare Acceptance Test Plan
Prepare System Test Plan
Prepare Integration Test Plan
Prepare Unit Test Plan
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 18
Advantages of V Model over Water Fall Model
• V Model:– A detailed model with description of all the phases– Allows parallel test activities during development activities– Depicts the dependency of Test Phases on other
development phases
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 19
V-Shaped Model
• V-Shaped life cycle is a sequential path of execution of processes. Each phase must be completed before the next phase begins
• Business Requirements (BRS) begin the life cycle model. Acceptance Test Plan is created based on Business Requirements.
• After BRS, System Requirements will be collected. Based SRS, System Test Plan is created. The test plan focuses on meeting the functionality specified in the requirements gathering.
• The high-level design phase focuses on system architecture and design. An integration test plan is created in this phase.
• The low-level design phase is where the actual software components are designed, and unit test plan is created in this phase as well.
• The implementation phase is, again, where all coding takes place. Once coding is complete, the path of execution continues up the right side of the V where the test plans developed earlier are now put to use.
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 20
Verification and Validation
Verification and Validation (V&V) is a Software Testing activity to enhance quality of the software being built. It is planned and conducted systematically through out the software lifecycle.
• Verification: Are we building the Project right?– Verification is the checking or testing of items, including software, for
conformance and consistency with an associated specification. Reviews, Analysis, Meetings and walkthroughs.
• Validation: Are we building the right product?.– Validation begins when most or all software functions are as per
customer expectations. Validation testing provides final occurrence that the software meets all functional, behavioral and performance requirements. Usually testing is used for this activity.
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 21
Test Deliverables
• Test Plan • Testing Strategy • Test Scenario Documentation• Test Cases Documentation • Test Scripts • Requirement Traceability Matrix • Test Data • Test Results • Test Summary Report • Release Notes • Tested Build
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 22
Bug Life Cycle
• The flow of Bug Status from Time to Time
New (T)
Open (D)
Fixed (D)
Closed (T)
Re-Open (T)
Reject (D)
Differed (D)
Duplicate (D)Limitation (D)
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 23
Testing Documentation and Formats
• Attach the below Templates– System Test Plan– Detailed Test Plan/ Test Scenario– TestCase Template– Test Execution Report– Bug Template– Traceability Matrix– QA Release Notes
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 24
Guide Lines and Check Lists
• Attach the check list for below:– Test Case review checklist– Web Test checklist
NCT-Mind Q Proprietary 3/12/2008 5:38:45 PM 25
Questions?