Software Testing
gksha.ittraining@gmail.com
GKSHA IT Solutions
The Software Development Life Cycle
Requirement
Analysis
Design
CodingTesting
Implementation
 Software Requirement Specification
 Design Specification
 Test Strategy
 Test Plan
gksha.ittraining@gmail.com
GKSHA IT Solutions
Understanding Testing
Testing
Analyzing
Review
Verifying
Validating
Testing
Manual Automated
gksha.ittraining@gmail.com
GKSHA IT Solutions
Testing Objectives
• Testing activity is performed to find
defects in the softwareDetect Defects
• Testing activity is performed to check
if the software meets the specified
requirements
Determine
specified
Requirements are
met
• Testing activity is performed to test the
performance of the application.
Test the
Performance
gksha.ittraining@gmail.com
GKSHA IT Solutions
Testing Principles
 Testing shows presence of defects
 Exhaustive testing is impossible
 Early Testing
 Defect Clustering
 Pesticide paradox
 Testing is context dependent
 Absence of errors fallacy
gksha.ittraining@gmail.com
GKSHA IT Solutions
Software Testing Life Cycle
Test Planning
Test Analysis and
Design
Test Implementation
and Execution
Evaluating Exit
Criteria and Reporting
Test Closure Activities
 Testing Objectives are defined
 Test Case designing
 Identifying the Test Data
 Identifying the environment,
Infrastructure and Tools
 Test Executing
 Test Results
 Logging Defects
 Re-testing
 Verify if more testing is required
 Test Summary Report
 Test Archive
gksha.ittraining@gmail.com
GKSHA IT Solutions
Test Types
Test Type
Functional
Testing
Non
Functional
Testing
Confirmation
Testing
Regression
Testing
Testing the
functionality
against the
software
Testing the
behavioral
characteristic of the
software
Retesting No new defects are
introduced in the
process of fixing the
earlier identified
defects
Black Box
gksha.ittraining@gmail.com
GKSHA IT Solutions
Test Plan
Test Plan describes
 Assign mitigation and contingencies to the identified risks
 Decide scope of testing according to level of risk
 Features to be tested
 Features not to be tested
 Tasks to be performed
 The environment in which testing is to be done
 Test Schedule
 Test Execution
Test Plan
Scope ResourcesApproach Schedule
gksha.ittraining@gmail.com
GKSHA IT Solutions
Test Case
Expected Output Actual Result=
A test case is a document that contains detailed instructions for testing the
functionality of a software application
A Robust Test case should be
 Independent to meet specific requirements
 Easily understandable during testing
 Free from spelling and grammatical mistakes.
 Able to cover at least one functionality or requirement
 Able to uncover bugs
Test Components
 Test Case Name  Objectives  Test Case ID
 Prerequisites  Actions  Expected Result
 Actual Result  Status  General Remarks
gksha.ittraining@gmail.com
GKSHA IT Solutions
Black Box Test Design Technique
Boundary
Value Analysis
Equivalence
partitioning
Error
Guessing
State
Transition
Syntax Testing
Cause effect
Graphic
 Represents a set of valid and invalid conditions
 Test condition which give similar results are grouped under one partition
 Number of test cases is reduced considerably
 Identifies bugs around the boundaries.
 Takes into account output specifications when deriving test cases
 Used to test the behavior of the application where the bug is most likely to occur
 ADHOC method to identify tests that are likely to expose bugs.
 Enables to make guess about bugs that are likely to be present in the application
 Test Activities based on areas that are not covered by formal design techniques.
 Enables you to test the transition from one state to another
 Identifies the events which causes the transition and specifies Actions that result
from the transition
 Used to design test cases for software applications based on the syntax of the input.
 Test the application with different set of input values
 Used to identify possible causes of a problem by using the cause effect diagram
 Analyze Cause of the problem
 Identify the source of bugs and Observe the effects of the problem.
gksha.ittraining@gmail.com
GKSHA IT Solutions
Execute a Test Case
Test
Log
Pass BlockedFail
Attributes of Test Log
 Test log identifier  Test Description  Test Case ID
 Execution Description  Actual Result  Status
 Environmental Information  Anomalous Events  Incident Identifier
 Name of Tester  Date of testing  General Comments
gksha.ittraining@gmail.com
GKSHA IT Solutions
Test Summary Report
Parameters of Report
 Number of Modules tested
 Number of test cases passed or failed
 Number of bugs identified
Precondition of Test Summary Report
 Test Log to be completed
 Testing activities should to be completed
 Testing execution should be completed
Benefits of Test Summary Report
 Effectiveness of testing effort
 Quality of application
 Test Coverage
 Decide any change
 Reference to lessons learned
gksha.ittraining@gmail.com
GKSHA IT Solutions
Defect
Defects are events that occurred during text execution and require
investigation.
New Open Assigned Resolved Verified Closed
Defer
Reject
ReopenDefect Report
 Defect ID
 Defect Summary
 Actual Result
 Expected Result
 Date and Time
 Supporting Evidence
 Potential Impact (Severity & Priority)
 Found By
 Assigned To
 Status
gksha.ittraining@gmail.com
GKSHA IT Solutions
Test Tools
Functional
Testing Tools
Software
Functionality
Software Requirement
Specifications
Used mainly for regression testing
Performance
Testing Tools
Speed Effectiveness
Load
Stress
Features of Performance Test Tool
 Generating Load
 Measuring timing of transactions
 Measuring average response time
 Creating graphs and charts
E.g. QTP, Winrunner
E.g. Load Runner,
gksha.ittraining@gmail.com
GKSHA IT Solutions
Test Management Tool
Requirement
Analysis
Design
Coding
Testing
Implementation
Test
Management
Tool
 Test Case Management
 Test Schedule
 Managing Test effort
 Traceability
 Test report
 Defect Management
E.g. HP Quality Center
gksha.ittraining@gmail.com
GKSHA IT Solutions
Assessment
gksha.ittraining@gmail.com
GKSHA IT Solutions
Question 1
Which is the correct principle of testing?
a. Testing is context independent.
b. Testing shows presence of defects.
c. Exhaustive testing is possible.
d. Defects are evenly distributed across the modules of software.
Answer: Testing shows presence of defects
gksha.ittraining@gmail.com
Question 2
Which is the first phase of the SDLC?
a. Development
b. Testing
c. Analysis
d. Design
Answer: Analysis
gksha.ittraining@gmail.com
Question 3
Which level of testing detects defects in the integration of components?
a. Alpha testing
b. Component integration testing
c. System integration testing
d. Beta testing
Answer: Component integration testing
gksha.ittraining@gmail.com
Question 4
True or False? If a software application has bugs, the expected and the
actual test result will be different.
a. True
b. False
Answer: True
gksha.ittraining@gmail.com
Question 5
Which attribute of a test log is used to describe the sequence of steps or
actions to execute a test log?
a. Execution description
b. Test log identifier
c. Test description
d. Anomalous events
Answer: Execution description
gksha.ittraining@gmail.com
Question 6
Which component of the test case provides a detailed description of every
step of execution?
a. Actual result
b. Expected result
c. Remarks
d. Action
Answer: Action
gksha.ittraining@gmail.com
Question 7
How many test cases will you need to achieve complete coverage on a
branch?
a. One
b. Two
c. Four
d. Three
Answer: Two
gksha.ittraining@gmail.com
Question 8
Risk priority helps you determine:
a. Size of the testing team.
b. Need for regression testing.
c. Extent of testing required.
d. Requirements for a testing tool.
Answer: Extent of testing required
gksha.ittraining@gmail.com
Question 9
True or False? Before creating a test summary report, you need to ensure
that each test case is given a test status such as pass, fail, or blocked.
a. True
b. False
Answer: True
gksha.ittraining@gmail.com
Question 10
Which testing type will you perform to ensure that no new defects are
introduced in a new build of the software?
a. Component testing
b. Confirmation testing
c. Regression testing
d. Acceptance testing
Answer: Regression testing
gksha.ittraining@gmail.com
Question 11
True or False? White-box testing techniques are used at acceptance level
testing.
a. True
b. False
Answer: False
gksha.ittraining@gmail.com
Question 12
True or False? If software is delivered to the customer with defects in it,
then it is a product risk.
a. True
b. False
Answer: True
gksha.ittraining@gmail.com
Question 13
Which test case design technique is used to separate groups of input
conditions to obtain the same kind of output?
a. Equivalence partitioning
b. State transition testing
c. Error guessing
d. Boundary value analysis
Answer: Equivalence partitioning
gksha.ittraining@gmail.com
Question 14
What is the importance of test planning?
a. To prepare test documents.
b. To create a matrix for measuring test results.
c. To define the testing approach.
d. To evaluate exit criteria.
Answer: To define the testing approach.
gksha.ittraining@gmail.com
For any QA training and support
related discussion, mail me at
gksha.ittraining@gmail.com
gksha.ittraining@gmail.com
GKSHA IT Solutions

Software testing

  • 1.
  • 2.
    The Software DevelopmentLife Cycle Requirement Analysis Design CodingTesting Implementation  Software Requirement Specification  Design Specification  Test Strategy  Test Plan gksha.ittraining@gmail.com GKSHA IT Solutions
  • 3.
  • 4.
    Testing Objectives • Testingactivity is performed to find defects in the softwareDetect Defects • Testing activity is performed to check if the software meets the specified requirements Determine specified Requirements are met • Testing activity is performed to test the performance of the application. Test the Performance gksha.ittraining@gmail.com GKSHA IT Solutions
  • 5.
    Testing Principles  Testingshows presence of defects  Exhaustive testing is impossible  Early Testing  Defect Clustering  Pesticide paradox  Testing is context dependent  Absence of errors fallacy gksha.ittraining@gmail.com GKSHA IT Solutions
  • 6.
    Software Testing LifeCycle Test Planning Test Analysis and Design Test Implementation and Execution Evaluating Exit Criteria and Reporting Test Closure Activities  Testing Objectives are defined  Test Case designing  Identifying the Test Data  Identifying the environment, Infrastructure and Tools  Test Executing  Test Results  Logging Defects  Re-testing  Verify if more testing is required  Test Summary Report  Test Archive gksha.ittraining@gmail.com GKSHA IT Solutions
  • 7.
    Test Types Test Type Functional Testing Non Functional Testing Confirmation Testing Regression Testing Testingthe functionality against the software Testing the behavioral characteristic of the software Retesting No new defects are introduced in the process of fixing the earlier identified defects Black Box gksha.ittraining@gmail.com GKSHA IT Solutions
  • 8.
    Test Plan Test Plandescribes  Assign mitigation and contingencies to the identified risks  Decide scope of testing according to level of risk  Features to be tested  Features not to be tested  Tasks to be performed  The environment in which testing is to be done  Test Schedule  Test Execution Test Plan Scope ResourcesApproach Schedule gksha.ittraining@gmail.com GKSHA IT Solutions
  • 9.
    Test Case Expected OutputActual Result= A test case is a document that contains detailed instructions for testing the functionality of a software application A Robust Test case should be  Independent to meet specific requirements  Easily understandable during testing  Free from spelling and grammatical mistakes.  Able to cover at least one functionality or requirement  Able to uncover bugs Test Components  Test Case Name  Objectives  Test Case ID  Prerequisites  Actions  Expected Result  Actual Result  Status  General Remarks gksha.ittraining@gmail.com GKSHA IT Solutions
  • 10.
    Black Box TestDesign Technique Boundary Value Analysis Equivalence partitioning Error Guessing State Transition Syntax Testing Cause effect Graphic  Represents a set of valid and invalid conditions  Test condition which give similar results are grouped under one partition  Number of test cases is reduced considerably  Identifies bugs around the boundaries.  Takes into account output specifications when deriving test cases  Used to test the behavior of the application where the bug is most likely to occur  ADHOC method to identify tests that are likely to expose bugs.  Enables to make guess about bugs that are likely to be present in the application  Test Activities based on areas that are not covered by formal design techniques.  Enables you to test the transition from one state to another  Identifies the events which causes the transition and specifies Actions that result from the transition  Used to design test cases for software applications based on the syntax of the input.  Test the application with different set of input values  Used to identify possible causes of a problem by using the cause effect diagram  Analyze Cause of the problem  Identify the source of bugs and Observe the effects of the problem. gksha.ittraining@gmail.com GKSHA IT Solutions
  • 11.
    Execute a TestCase Test Log Pass BlockedFail Attributes of Test Log  Test log identifier  Test Description  Test Case ID  Execution Description  Actual Result  Status  Environmental Information  Anomalous Events  Incident Identifier  Name of Tester  Date of testing  General Comments gksha.ittraining@gmail.com GKSHA IT Solutions
  • 12.
    Test Summary Report Parametersof Report  Number of Modules tested  Number of test cases passed or failed  Number of bugs identified Precondition of Test Summary Report  Test Log to be completed  Testing activities should to be completed  Testing execution should be completed Benefits of Test Summary Report  Effectiveness of testing effort  Quality of application  Test Coverage  Decide any change  Reference to lessons learned gksha.ittraining@gmail.com GKSHA IT Solutions
  • 13.
    Defect Defects are eventsthat occurred during text execution and require investigation. New Open Assigned Resolved Verified Closed Defer Reject ReopenDefect Report  Defect ID  Defect Summary  Actual Result  Expected Result  Date and Time  Supporting Evidence  Potential Impact (Severity & Priority)  Found By  Assigned To  Status gksha.ittraining@gmail.com GKSHA IT Solutions
  • 14.
    Test Tools Functional Testing Tools Software Functionality SoftwareRequirement Specifications Used mainly for regression testing Performance Testing Tools Speed Effectiveness Load Stress Features of Performance Test Tool  Generating Load  Measuring timing of transactions  Measuring average response time  Creating graphs and charts E.g. QTP, Winrunner E.g. Load Runner, gksha.ittraining@gmail.com GKSHA IT Solutions
  • 15.
    Test Management Tool Requirement Analysis Design Coding Testing Implementation Test Management Tool Test Case Management  Test Schedule  Managing Test effort  Traceability  Test report  Defect Management E.g. HP Quality Center gksha.ittraining@gmail.com GKSHA IT Solutions
  • 16.
  • 17.
    Question 1 Which isthe correct principle of testing? a. Testing is context independent. b. Testing shows presence of defects. c. Exhaustive testing is possible. d. Defects are evenly distributed across the modules of software. Answer: Testing shows presence of defects gksha.ittraining@gmail.com
  • 18.
    Question 2 Which isthe first phase of the SDLC? a. Development b. Testing c. Analysis d. Design Answer: Analysis gksha.ittraining@gmail.com
  • 19.
    Question 3 Which levelof testing detects defects in the integration of components? a. Alpha testing b. Component integration testing c. System integration testing d. Beta testing Answer: Component integration testing gksha.ittraining@gmail.com
  • 20.
    Question 4 True orFalse? If a software application has bugs, the expected and the actual test result will be different. a. True b. False Answer: True gksha.ittraining@gmail.com
  • 21.
    Question 5 Which attributeof a test log is used to describe the sequence of steps or actions to execute a test log? a. Execution description b. Test log identifier c. Test description d. Anomalous events Answer: Execution description gksha.ittraining@gmail.com
  • 22.
    Question 6 Which componentof the test case provides a detailed description of every step of execution? a. Actual result b. Expected result c. Remarks d. Action Answer: Action gksha.ittraining@gmail.com
  • 23.
    Question 7 How manytest cases will you need to achieve complete coverage on a branch? a. One b. Two c. Four d. Three Answer: Two gksha.ittraining@gmail.com
  • 24.
    Question 8 Risk priorityhelps you determine: a. Size of the testing team. b. Need for regression testing. c. Extent of testing required. d. Requirements for a testing tool. Answer: Extent of testing required gksha.ittraining@gmail.com
  • 25.
    Question 9 True orFalse? Before creating a test summary report, you need to ensure that each test case is given a test status such as pass, fail, or blocked. a. True b. False Answer: True gksha.ittraining@gmail.com
  • 26.
    Question 10 Which testingtype will you perform to ensure that no new defects are introduced in a new build of the software? a. Component testing b. Confirmation testing c. Regression testing d. Acceptance testing Answer: Regression testing gksha.ittraining@gmail.com
  • 27.
    Question 11 True orFalse? White-box testing techniques are used at acceptance level testing. a. True b. False Answer: False gksha.ittraining@gmail.com
  • 28.
    Question 12 True orFalse? If software is delivered to the customer with defects in it, then it is a product risk. a. True b. False Answer: True gksha.ittraining@gmail.com
  • 29.
    Question 13 Which testcase design technique is used to separate groups of input conditions to obtain the same kind of output? a. Equivalence partitioning b. State transition testing c. Error guessing d. Boundary value analysis Answer: Equivalence partitioning gksha.ittraining@gmail.com
  • 30.
    Question 14 What isthe importance of test planning? a. To prepare test documents. b. To create a matrix for measuring test results. c. To define the testing approach. d. To evaluate exit criteria. Answer: To define the testing approach. gksha.ittraining@gmail.com
  • 31.
    For any QAtraining and support related discussion, mail me at gksha.ittraining@gmail.com gksha.ittraining@gmail.com GKSHA IT Solutions