Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
By
Bharathi Simha
Technology Consultant
Page 1
Software testing Concepts
Table of Contents
Module 1: Overview of System Development Life Cycle
o What is SDLC
o SDLC Phase
o WaterFall Model
o Incremental Model
o Spiral Model
o RAD
o Evolutionary Model
o V-Model
o Agile SDLC
o Extreme programming
o FDD
o RUP
o Scrum
Page 2
Software testing Concepts
o Examples:
o Testing terminology
o Review of V-Model
o Test Coverage
Understanding testing in
• Design Phase
• Development Phase
o Test Levels
Page 3
Software testing Concepts
o Smoke Test
o Integration Test
o System Test
o Test Types
o Regression Test
o Performance Test
o Security Test
o Load Test
o Stress Test
o Volume Test
o Usability Test
o Cross-browser test
o Exploratory test
o Cyclomatic Complexity
• Exploratory testing
Page 4
Software testing Concepts
o Reporting
Page 5
Software testing Concepts
o Team
o Activities
o Checklist
Exercise
o Static Test
Static vs. Dynamic
Test Coverage
Requirements Ambiguity Analysis (Requirements
Features)
Risk analysis
Exercise
Page 6
Software testing Concepts
o Results evaluation
Page 7
Software testing Concepts
Module 1:
Overview of System Development Life Cycle
• In some of the models we will see that these are performed once
and in others some or all the steps are repeated or broken down
into sub steps.
▫ Planning
▫ Requirements Analysis
▫ Design
▫ Build
▫ Test
Page 8
Software testing Concepts
▫ Project plan
▫ Test plan
▫ Configuration plan
▫ Design Plan
▫ Define the milestones for the deliverables...and so on
This is the entry point for all the projects under construction /
maintenance
Deliverables:
▫ Requirements feasibility
Deliverables
Page 9
Software testing Concepts
▫ Database design
▫ Component design
▫ Design interface…
▫ And so on……
Input Artifacts:
Deliverables
Page 10
Software testing Concepts
Input Artifacts:
System Build
Deliverables:
User Procedures
Test plan
Page 11
Software testing Concepts
1. Easy to use
2. Easy to understand
4. Importance is given to quality not for the cost and schedule of the
Project
1. Very Expensive
Other Models:
Page 12
Software testing Concepts
1 Planning
2 Goal determination
3 Risk Analysis
Page 13
Software testing Concepts
RAD Strengths??
What mainly gets reduced by using RAD model?
Reduced cycle time and improved productivity with fewer
people -means lower costs
How does customer involvement in the SDLC cycle help?
Page 14
Software testing Concepts
RAD Weaknesses??
What is the risk associated with this model?
Due to time boxing, where features are pushed off to later
versions in favor of delivering an application in a short time
frame, RAD may produce applications that are less full featured
than traditionally developed applications.
We can see that the incremental, iterative, and spiral models all still
suffer from the problem of the length of time from the start of the
SDLC to delivery of software for use by the customers.
The evolutionary/prototype model was developed, because it helps to
break down the software into chunks that can be delivered earlier to
the customer; this means that the real-life problem is at least partly
resolved more quickly.
i. the database
ii. user interface
iii. algorithmic functions
6 The designer demonstrates the prototype; the user
evaluates for problems and suggests improvements.
7 This loop continues until the user is satisfied
1.9 V-Model
Page 16
Software testing Concepts
Disadvantages
Agile means Fast, with Agile SDLC you will understand how to speed up
the process of development and how to reduce defects by continuous
testing across the life cycle
Page 17
Software testing Concepts
Scrum
Inception
Elaboration
Construction
Page 18
Software testing Concepts
Transition
Page 19
Software testing Concepts
XP-Practices
Page 20
Software testing Concepts
Summary:
At the end of this module, you will be able to identify a model for the
given requirements. Why Agile SDLC. Advantages of using, iterative
development. Advantages and disadvantages of different modules.
Page 21
Software testing Concepts
Page 22
Software testing Concepts
Let us now discuss about some of the scenarios in real time which
helps us to visualize why Software testing is important
2.0.2 Scenario1:
2.0.4 Scenario 3:
Robustness
Efficiency
Safety
Page 23
Software testing Concepts
Stability
Reliability and so on….
Page 24
Software testing Concepts
Page 25
Software testing Concepts
o Planning Process
o Test Design
o Execution
o Evaluation
Quantitative Measurement
Test Reporting
Page 26
Software testing Concepts
• Pre-Planning Activities
• Test Planning
• Post-Planning Activities
• Design Preparation
o Test Coverage
• Design Execution
o Specifications
o Cases
o Scripts
o Data
• Design Preparation
Page 27
Software testing Concepts
• Test Coverage
• Design Execution
o Specifications
o Cases
• Design Execution
o Scripts
o Data
• Execute Tests
Page 28
Software testing Concepts
• Test Log
o Logging tests in a desired form. This includes incidents not
related to testing, but still stopping testing from occurring.
• Record Discrepancies
o Documenting defects as they happen including supporting
evidence.
• Evaluation
o Evaluate the test results to identify defects
• Defect Tracking
o Defect Recording
o Defect Reporting
o Defect Tracking
o Regression Testing
o Verification
• Test Metrics
• Management By Fact
Page 29
Software testing Concepts
o Code Coverage
• Test Metrics
o Metrics Unique to Test
Page 30
Software testing Concepts
• Stage Containment
Page 31
Software testing Concepts
Stage Containment:
Page 32
Software testing Concepts
Page 33
Software testing Concepts
eXtreme programming
Scrum
DSDM
FDD
LD
ASD
MS Synch-and-Stabilize
Crystal family
Page 34
Software testing Concepts
E.g. FDD: “… processes used for testing are not the main
process issues with which the organisations are struggling
… and most organizations already have reasonable testing
processes in place”
Improved intelligence
Page 35
Software testing Concepts
Write the test before writing the code. Of course, the test will fail,
and that’s ok.
Page 36
Software testing Concepts
Then, write only the minimally necessary code to make the test
pass.
Summary:
At the end of this module, you will be able to understand
Page 37
Software testing Concepts
Structural testing
Behavioral,
Functional,
Opaque-box, and
Closed-box.
What is Verification?
Page 38
Software testing Concepts
What is Validation?
Test Plan
Test Strategy
- Requirements Phase
- Design Phase
Page 39
Software testing Concepts
- Coding Phase
- Maintenance Phase
- Manual or Automated
Page 40
Software testing Concepts
o low reliability,
o compatibility,
o portability,
o efficiency,
o security,
o accessibility etc
Summary:
At the end of this module, you will understand the
Page 41
Software testing Concepts
Unit Testing:
lowest level
tested in isolation
Error handling
Interfaces
System Testing:
Page 42
Software testing Concepts
Business scenarios
Use cases
Customer can perform any test they wish, usually based on their
business processes
Approach
Regression Test
Performance Test
Security Test
Load Test
Stress Test
Volume Test
Usability Test
Page 43
Software testing Concepts
Cross-browser test
Exploratory test
Load Testing
Stress Testing:
Testing the system under extreme load conditions until the system
breaks down.
For example, if the lift can take only 10 person’s load, then we will test
the system for a load greater than 10
Volume Testing
Usability Testing
Page 44
Software testing Concepts
Cross-Browser testing
This type of testing is performed to see the look feel of the application
across various browsers and the browser support
Exploratory testing
Summary:
On Completion of this module, you will be able to define
What is ORT?
Page 45
Software testing Concepts
Page 46
Software testing Concepts
4. Loop Coverage
Page 47
Software testing Concepts
Test Coverage
Statement Coverage
statements
Example:
Page 48
Software testing Concepts
1 Read(a)
2 If a>6 then
3 B=a
4 End if
5 Print b
1 7 7
Decision Coverage:
Example:
1 Read A
2 If A>0 then
i) If A = 21 then
Page 49
Software testing Concepts
ii) End if
3 Print “key1”
4 End if
Cyclomatic Complexity: 3
Statement Coverage: 1
Branch Coverage: 3
3. Unscripted Testing
Page 51
Software testing Concepts
Untested
Unknown or
Unstable
Page 52
Software testing Concepts
1. Top-Down Approach
2. Bottom-up approach
This allows high-level logic and data flow to be tested early in the
process and it tends to minimize the need for drivers.
Stubs:
Page 53
Software testing Concepts
Drivers:
1. Big-Bang Integration
2. Incremental Integration
In theory:
In practice:
Page 54
Software testing Concepts
Advantages:
Requirements
7.2.0 Deliverables
Test Conditions
Expected Results
Summary:
Page 55
Software testing Concepts
Background
Test Requirements
Page 56
Software testing Concepts
Do NOT have case specific data values assigned to them yet (data
appears in test cases, the “How” of testing) examples
The data is irrelevant at this level, it will appear in the test cases
used to cover these test requirements
“Validate you can insert ‘John Doe’” is a test case not a test
requirement
Page 57
Software testing Concepts
Reality:
Page 58
Software testing Concepts
Drilling Down:
Page 59
Software testing Concepts
Page 60
Software testing Concepts
The data is irrelevant at this level, it will appear in the test cases
used to cover these test requirements
Clear? (unambiguous)
Page 61
Software testing Concepts
Complete?
Reasonable? (achievable)
Measurable? (quantifiable)
Modifiable? (Will it change or is it stable?)
Complete?
Reasonable? (achievable)
Are all the test requirements verified and signed off by the
Development Team?
Page 62
Software testing Concepts
o “Validate that…”
o “Check for…”
o “Test that…”
• Organize them!
Page 63
Software testing Concepts
B u s in e s s
R e q u ir e m e n t
Test
R e q u ir e m e n t
Test
S c e n a r io s /
Cases
Test
P ro c e d u re /
S c rip t
Page 64
Software testing Concepts
Page 65
Software testing Concepts
T h e " w h a t" t h a t th e s o ft w a r e is in t e n d e d t o
B u s in e s s F u n c tio n d o , lik e " R e n t a C a r t o a c u s t o m e r "
T a s k s w it h i n t h e T h e t a s k s in v o lv e d : 1 ) q u e r y c a r r a te s ,
F u n c tio n 2 ) c h e c k c u s t o m e r p o lic y c o v e r a g e s , .. ..
T r a n s a c t io n s t o T h e d a ta b a s e tr a n s a c tio n s n e c e s s a r y
p e rfo rm a ta s k to p e r fo r m th e ta s k .
T h e ty p e s o f d a ta e n tr y th e D a ta E n tr y T y p e s
tr a n s a c tio n c a n p r o c e s s : A d d , fo r tr a n s a c tio n s
C h a n g e , D e le te , In q u ir e
T h e e d its o n th e d a t a in c lu d e d w it h in
F ie ld V a lid a tio n
t h e d if fe r e n t ty p e s
Page 66
Software testing Concepts
You can start on the high level functional areas early into the
project & build in lower level areas as they become available
Any level can contain a test requirement which can also be made
up of (or broken down into) lower level test requirements
Task Level:
Break down each Function area into the tasks within the function
Page 67
Software testing Concepts
From this level down, we start to address the internal things that
occur to make the functions and tasks happen
Identify any logical transactions that ties the task to the database
or any other transactions necessary to perform the task.
Identify which of the four types the transaction can become: Add,
Change, Delete, Inquire
If a transaction is only one type, you can wrap this level up into
the higher level.
Most testers like to jump directly to this level. It’s the most
obvious at times.
Page 68
Software testing Concepts
Field validation covers all edits & cross edits on fields and data.
Page 69
Software testing Concepts
2. Billing Function
3. Reservation Function
Page 70
Software testing Concepts
Expiring.
Test Requirements are the “what” of testing & are the basis for
establishing the completion of testing
Summary:
On Completion of this module, you will be able to
Page 71
Software testing Concepts
Page 72
Software testing Concepts
desk-checking, proof-reading-group:
software code
Page 73
Software testing Concepts
Cost of Reviews
meeting
Widely viewed as useful and cheap (but no one can prove it!), A
helpful first step for chaotic organisations.
Decision-making Review
Page 74
Software testing Concepts
9.1.0 Walkthrough
- author guides the group through a document and his or her thought
processes, so all understand the same thing, consensus on changes to
make
9.1.1 Inspection
n := 0
read (x)
Page 75
Software testing Concepts
n := 1
while x > y do
begin
Z := 0
read (y)
write( n*y)
x := x - n
end
Highlights:
infinite loops
Macro definitions
Buffsize: 1000
Mailboxmax: 1000
Page 76
Software testing Concepts
Error-Exit
ENDIF
The more complex the flow graph, the greater the measure, it
can most easily be calculated as:
Page 77
Software testing Concepts
Limitations:
Advantages:
Page 78
Software testing Concepts
Effective testing:
Avoid duplication
Static (non-execution)
Page 79
Software testing Concepts
Equivalence partitioning
Decision Tables
Page 80
Software testing Concepts
divide (partition) the inputs, outputs, etc. into areas which are the
same (equivalent)
Page 81
Software testing Concepts
Page 82
Software testing Concepts
Customer Name
Number of characters
Conditions
Account Number
Page 83
Software testing Concepts
Conditions
9.4.2.0 Condition template
Account 6
C o n
number
d i t i o n
1
P
Page 84
Software testing Concepts
record found
file exists
code valid
policy expired
Page 85
Software testing Concepts
account in credit
each entry in the table may be either ‘T’ for true, ‘F’ for false.
Page 86
Software testing Concepts
Scenario Based Tests (SBT) are best suited when you need to
tests need to concentrate on the functionality of the application, than
anything else.
It is
(b) motivating,
(c) credible,
Unscripted Testing
Page 87
Software testing Concepts
Functional Testing
1. Unit Testing
5. System Testing
6. Regression Testing
9.7 Summary:
On the completion of this module, you will understand
Test execution is the phase held after test planning and test
preparation that involves a set of required deliverables. Test execution
is conducted with either manual or automated test scripts
Page 89
Software testing Concepts
A Developer’s Perspective:
Page 90
Software testing Concepts
Inform the test lead of any issues that may affect the
schedule, budget, or quality of the application or testing
process.
Page 91
Software testing Concepts
Responsible Group Unit Integration System Acceptance
Testers X X X
Developers X X X
End-Users X X
• Execute all test scripts for the test phase at least once to drive
out defects as early as possible
Page 92
Software testing Concepts
• Retest defects identified from the First Pass and new defects
found in the Second Pass based on priority (iterative)
Test Test
Preparation Execution
Test
Test Recording
Planning
Defect
Sign -Off Management
Test
Re-Test
Completion
Page 93
Software testing Concepts
Deliverables:
Test Script
Test Data
Test Results
As you pass from one phase of testing into the next, there is a
need for control.
There is a need for the first phase (or the supplier) to retain
control of their testing phase, until such time as it is
deemed ready for release.
The 2nd phase (or the recipient) on the other hand, needs to
ensure that the testing performed by the supplier has
achieved a sufficiently high standard as to be acceptable.
Page 94
Software testing Concepts
The following are the set of entry criteria to control the quality of
the deliverables related to application product test.
10.4.1Execute
Page 95
Software testing Concepts
Install and test the test execution and version control tools.
Populate databases.
Install and test the test execution and version control tools.
Populate databases.
10.4.2 Approach
Page 96
Software testing Concepts
Risks
Metrics
10.4.3 Plan
Page 97
Software testing Concepts
Communication
Data conversion
Error/restart/recovery
Loading of database
Performance
Periodic functions
Primary interfaces
Secondary interfaces
Stress
Page 98
Software testing Concepts
10.4.4 Prepare
Create scripts.
Ensure the planner walks through the test model with the
executor.
Page 99
Software testing Concepts
The following are the set of exit criteria to control the quality of
the deliverables related to application product test.
Complete Deliverables
Meet Standards
Page 100
Software testing Concepts
Meet Criteria
Page 101
Software testing Concepts
Page 102
Software testing Concepts
Test Steps
Page 103
Software testing Concepts
Execute test.
Page 104
Software testing Concepts
Results:
Defect management.
Re-test.
Page 105
Software testing Concepts
Page 106
Software testing Concepts
1. Common, or random.
This occurs when test execution exit criteria goals are met.
Confirm that all defects required for test completion are closed
and regression tested, and that any remaining defects are
deferred for future reference.
This occurs after the test execution exit criteria are verified. At
this point all the test planning, test preparation, test execution
and defect fix is complete and the product under test is ready to
go live.
Page 107
Software testing Concepts
Save or flag the final tested code set, configurations, and other
technical components.
10.7 Summary:
On completion of this module, you will be able to
Deliverables
Test Metrics
Page 108
Software testing Concepts
11 What is a Defect?
Page 109
Software testing Concepts
Wrong
Missing
Page 110
Software testing Concepts
Extra
Poor programming
Poor requirements
Missing requirements
Poor programming
Poor requirements
Missing requirements
Page 111
Software testing Concepts
Critical
High
Medium
Low
System Functionality
User Interface
Integration
Security
Page 112
Software testing Concepts
Technical Architecture
Omission
Lack of knowledge
Miscommunication
Accidental
Others:
Incorrect program
Reasons Solutions
Page 113
Software testing Concepts
Provide checklists.
Lack of Knowledge
Reasons Solutions
Miscommunication
Page 114
Software testing Concepts
Reasons
Reasons Solutions
Solutions
Information
Incorrect is
information is When giving
Establish directions,using
communication ask staff
a
misinterpreted.
communicated. to repeat
central what was said.
and accountable source, such as
a team leader or project manager.
When giving an assignment,
request
When a small affects
information samplemultiple
to ensure
staff,
understanding.
communicate to staff all at once so that
everyone gets the same message. (For
Written instructions, such as Revise through
example, source document,
training, or a staff
the source document, standards,
meeting guidelines, or
as applicable).
standards, guidelines or checklists.
checklists are unclear or Communicate critical information in
incorrect. Use review
writing procedures,
(For example, such as
use programmer
document
bulletins and reviews and
checklists).
inspections, to ensure clarity and
accuracy.
Accidental
Reasons Solutions
Wrong specification
Page 115
Software testing Concepts
Page 116
Software testing Concepts
Page 117
Software testing Concepts
New
The tester logs the defect with the status as “New” in the
defect report.
Assigned
Open
Fix In progress
Fixed
Ready to Test
Retest
Reopen
Page 118
Software testing Concepts
Closed
Rejected
The test lead reviews the defect and if the defect is not
valid then the state is changed to “Rejected” or rejected by
development if the defect is invalid.
Withdrawn
Deferred
Awaiting Information:
Page 119
Software testing Concepts
Test Analyst
Page 120
Software testing Concepts
Single point of contact for all test and business teams for
defect fixes.
Defect Identification
Defect Logging
Defect Tracking
Defect Resolution
Defect Closure
Process Optimization
Process Improvement
Identify
Find out the deviation from the expected result as per the
requirement specifications.
Page 121
Software testing Concepts
Analyze
Record
• Can it be isolated?
• Is it worth reporting?
• Defect ID
Page 122
Software testing Concepts
• Summary
• Description
• Severity
• Priority
• Test Stage
• Detected By
• Detected Date
• Assigned To
• Environment
• Module
• Defect Category
• Closed Date
• Project
• Detected in Version
• Closed in Version
Page 123
Software testing Concepts
Defect ID / Number
Page 124
Software testing Concepts
Release Name
Project Name
Module Name
Submitter
Submit Date
Title
Description
Page 125
Software testing Concepts
Report Status
Severity
Priority
Resolution Status
Severity 2
Severity 3
Severity 4
Page 126
Software testing Concepts
Severity 5: Enhancement!
Status Indicators
Priority 1: Critical
Priority 2: High
Priority 3: Medium
Priority - 4: Low
Page 127
Software testing Concepts
Environment
Expected result
Actual result
Memory dump
Trace files
Error logs
Error printouts
Miscellaneous – Components
Steps to reproduce
Page 128
Software testing Concepts
Environment
Target Release
Closed Release
Closed Date
Discovered by
Defect Type
Fix Hours
Test Hours
T r a c k a n d A s s ig n D e fe c ts
Workarounds
T e s te r )
Team
1 4. D e fe r
M anager
1 3. A n a ly s is W ith No 1 1.
P r o je c t
D e f e c t to N o S ta k e h o ld: Is 1 2. R e v ie w
End e r sF ix In te r n a l A n a: Is
ly sFisix
S ubsequent D e f e c t W ith
R e q u ir e d fo r th e R e q u ir e d f o r t h e
R e le a /s e S ta k e h o ld e r s
R e le a /P
s ea c k a ?g e R e le a /Ps ea c k a ?g e
P ackage
Y es 1 5. E v a lu a t e
Y es
D e fe c t F ix E nd 1 0. C o n d u c t
C a p a c ity a n d Im p a c t
E nd 9. R e je c t D e f e c t A s s ig n A n a ly s is
No
Test Lead
6. 8.
7. M a r k D e fe c t R e c o r d
E nd I s th e D e fe c t a Is th e D e fe c t
D u p lic a t e Yes
D u p lic a? te N o V a lid
? Yes
No 5. M a r k S c r ip t “ F a ile d ” a n d
C r e a te o r R e o p e n D e fe c t
1. E x e c u te T e s t 2. R e c o rd A c tu a l 3.
T e s te r
S c r ip t R e s u lts D id th e T e s t
P a s?s
Y e s 4. M a rk S c r ip t “ P a s s e d ” Page 129
End
a n d C lo s e D e fe c t
Software testing Concepts
TrackRecord (Compuware)
11.10 Summary:
On Completion of this module, you will be able to
Define a defect
Identify a defect
Page 130
Software testing Concepts
Page 131
Software testing Concepts
Are any special tools to be used and what are they (Need to
mention the tools that are using in the current project)?
If this is a master test plan the overall project testing approach and
coverage requirements must also be identified.
A document that indicates what testing will occur, how it will occur,
and what resources will be necessary for it to occur.
A test plan also details how results and defect reporting will occur.
This document describes the general approach, along with the specific
methodologies and techniques used by the Quality Assurance testing
team to plan, organize and manage the testing activities for the overall
testing
Page 132
Software testing Concepts
1. Team Formation
2. Identify Tactical Risks
3. Test Plan writing
4. Test Plan Review
12.1.3 Identifying Tactical risks
Lack of Budget.
Lack of Resources.
Delays in Delivery.
12.1.4 References:
The following documents are useful for reference in preparing the Test
Plan Document.
Project Plan
Page 133
Software testing Concepts
Introduction:
Features to be tested
We can set the level of risk for each feature that need to test. We can
use a simple rating scale such as (H-High, M-Medium, and L-Low).
These types of levels are understandable to a User. We need to be
prepared to discuss why a particular level was chosen.
Low risk has been used before and is considered stable(if the
priority is low).
Page 134
Software testing Concepts
Page 135
Software testing Concepts
One Use case describes that how a user can access a specific
functionality in the system
To cover this type of input objects sizes and types Testers concentrate
on Input domain based test case design method. In this method test
engineers follow below approach to write the test case.
Page 136
Software testing Concepts
3)Identify the critical attributes that are used for data manipulations
and retrieving.
Example:
Pre-Planning Activities
Test Planning
Post-Planning Activities
Test Objectives
Assumptions
Test Plan
Requirements / Traceability
Estimating
Scheduling
Page 137
Software testing Concepts
Staffing
Approach
Test Plan
Test Objectives
Schedule
Test Approach
Requirements / Traceability
Written or verbal
Estimating
Page 138
Software testing Concepts
Checklist
Milestone Review
Traceability Matrix
12.3.6 Testing Life Cycle (Planning Process - Post-Planning
Activities)
Check Management
Page 139
Software testing Concepts
In this section we specify the names of the testing team those who
involve in this project : Training on the application/system, Need to
provide training if the Testers are not aware of the domain, Training for
any test tools to be used
In this section the Roles and Responsibilities of all the Testing Team
right from QA manger to Tester is specified.
Understanding Requirements
Defect reporting
Page 140
Software testing Concepts
Test Plan.
Test Cases.
Test Scripts.
Defect Reports.
12.3.14 Approvals
The final authority of the QA (Ex. Test manager) has to approve the
test plan, test cases…
After completion of Test Plan writing, The author of Test Plan and
corresponding Test Engineers review the test plan document for
completeness and correctness depends on the below factors.
Page 141
Software testing Concepts
12.4 Summary:
At the end of this module, you will be able to
Testing Staff
Test Bed
Page 142