Title: Software Testing
1Software Testing
2The Software Development Life Cycle
- Software Requirement Specification
3Understanding Testing
Testing
Analyzing
Review
Verifying
Validating
Testing
Manual
Automated
4Testing Objectives
5Testing Principles
- Testing shows presence of defects
- Exhaustive testing is impossible
- Early Testing
- Defect Clustering
- Pesticide paradox
- Testing is context dependent
- Absence of errors fallacy
6Software Testing Life Cycle
Test Planning
- Testing Objectives are defined
- Test Case designing
- Identifying the Test Data
- Identifying the environment, Infrastructure and
Tools
Test Analysis and Design
- Test Executing
- Test Results
- Logging Defects
- Re-testing
Test Implementation and Execution
Evaluating Exit Criteria and Reporting
- Verify if more testing is required
- Test Summary Report
Test Closure Activities
7Test Types
Test Type
Functional Testing
Non Functional Testing
Confirmation Testing
Regression Testing
Testing the behavioral characteristic of the
software
Testing the functionality against the software
Retesting
No new defects are introduced in the process of
fixing the earlier identified defects
Black Box
8Test Plan
Test Plan
Schedule
Scope
Resources
Approach
- 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
9Test Case
Actual Result
Expected Output
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
10Black Box Test Design Technique
Equivalence partitioning
- 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
Boundary Value Analysis
- 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
Error Guessing
- 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.
State Transition
- 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
Syntax Testing
- Used to design test cases for software
applications based on the syntax of the input. - Test the application with different set of input
values
Cause effect Graphic
- 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.
11Execute a Test Case
Test Log
Fail
Pass
Blocked
Attributes of Test Log
- Environmental Information
12Test 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
13Defect
Defects are events that occurred during text
execution and require investigation.
Reopen
Defer
- Defect Report
- Defect ID
- Defect Summary
- Actual Result
- Expected Result
- Date and Time
- Supporting Evidence
- Potential Impact (Severity Priority)
- Found By
- Assigned To
- Status
Reject
14Test Tools
Software Requirement Specifications
Functional Testing Tools
Software Functionality
Used mainly for regression testing
E.g. QTP, Winrunner
Load
Performance Testing Tools
Effectiveness
Speed
Stress
- Features of Performance Test Tool
- Generating Load
- Measuring timing of transactions
- Measuring average response time
- Creating graphs and charts
E.g. Load Runner,
15Test Management Tool
- Test Case Management
- Test Schedule
- Managing Test effort
- Traceability
- Test report
- Defect Management
Test Management Tool
E.g. HP Quality Center
16Assessment
17Question 1
- Which is the correct principle of testing?
- Testing is context independent.
- Testing shows presence of defects.
- Exhaustive testing is possible.
- Defects are evenly distributed across the modules
of software.
Answer Testing shows presence of defects
18Question 2
- Which is the first phase of the SDLC?
- Development
- Testing
- Analysis
- Design
Answer Analysis
19Question 3
- Which level of testing detects defects in the
integration of components? - Alpha testing
- Component integration testing
- System integration testing
- Beta testing
Answer Component integration testing
20Question 4
- True or False? If a software application has
bugs, the expected and the actual test result
will be different. - True
- False
Answer True
21Question 5
- Which attribute of a test log is used to describe
the sequence of steps or actions to execute a
test log? - Execution description
- Test log identifier
- Test description
- Anomalous events
Answer Execution description
22Question 6
- Which component of the test case provides a
detailed description of every step of execution? - Actual result
- Expected result
- Remarks
- Action
Answer Action
23Question 7
- How many test cases will you need to achieve
complete coverage on a branch? - One
- Two
- Four
- Three
Answer Two
24Question 8
- Risk priority helps you determine
- Size of the testing team.
- Need for regression testing.
- Extent of testing required.
- Requirements for a testing tool.
Answer Extent of testing required
25Question 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. - True
- False
Answer True
26Question 10
- Which testing type will you perform to ensure
that no new defects are introduced in a new build
of the software? - Component testing
- Confirmation testing
- Regression testing
- Acceptance testing
Answer Regression testing
27Question 11
- True or False? White-box testing techniques are
used at acceptance level testing. - True
- False
Answer False
28Question 12
- True or False? If software is delivered to the
customer with defects in it, then it is a product
risk. - True
- False
Answer True
29Question 13
- Which test case design technique is used to
separate groups of input conditions to obtain the
same kind of output? - Equivalence partitioning
- State transition testing
- Error guessing
- Boundary value analysis
Answer Equivalence partitioning
30Question 14
- What is the importance of test planning?
- To prepare test documents.
- To create a matrix for measuring test results.
- To define the testing approach.
- To evaluate exit criteria.
Answer To define the testing approach.
31For any QA training and support related
discussion, mail me at gksha.ittraining_at_gmail.com