Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
25 views
37 pages
03 1 SoftwareTestingStrategies
Uploaded by
galen
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF, TXT or read online on Scribd
Download
Save
Save 03_1_SoftwareTestingStrategies For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
0 ratings
0% found this document useful (0 votes)
25 views
37 pages
03 1 SoftwareTestingStrategies
Uploaded by
galen
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF, TXT or read online on Scribd
Carousel Previous
Carousel Next
Download
Save
Save 03_1_SoftwareTestingStrategies For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
Download now
Download
You are on page 1
/ 37
Search
Fullscreen
Software Testing Strategies
UNIT 3 | SOFTWARE TESTING
CPE 3121 | Software Development Strategies
© 2020
Original Slides by
Slide Set to accompany Software Engineering: A
Practitioner’s Approach, 8/e
by Roger S. Pressman and Bruce R. Maxim
Slides copyright © 1996, 2001, 2005, 2009, 2014 by Roger S. Pressman
For non-profit educational use only
Modified for DCpE CpE 3121 © 2020
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
2
(McGraw-Hill 2014). Slides © 2014
Software Testing
▪ Testing is the process of exercising a program with the specific
intent of finding errors prior to delivery to the end user.
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
3
(McGraw-Hill 2014). Slides © 2014
What Testing Shows
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
4
(McGraw-Hill 2014). Slides © 2014 4
Strategic Approach
▪ To perform effective testing, you should conduct effective
technical reviews. By doing this, many errors will be eliminated
before testing commences.
▪ Testing begins at the component level and works "outward" toward
the integration of the entire computer-based system.
▪ Different testing techniques are appropriate for different software
engineering approaches and at different points in time.
▪ Testing is conducted by the developer of the software and (for
large projects) an independent test group.
▪ Testing and debugging are different activities, but debugging must
be accommodated in any testing strategy.
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
5
(McGraw-Hill 2014). Slides © 2014 5
V&V
■ Verification refers to the set of tasks that ensure that software correctly
implements a specific function.
■ Validation refers to a different set of tasks that ensure that the software
that has been built is traceable to customer requirements. Boehm
[Boe81] states this another way:
■ Verification: "Are we building the product right?"
■ Validation: "Are we building the right product?"
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
6
(McGraw-Hill 2014). Slides © 2014
Who Tests the Software?
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
7
(McGraw-Hill 2014). Slides © 2014 7
Testing Strategy
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
8
(McGraw-Hill 2014). Slides © 2014 8
Testing Strategy
▪ We begin by ‘testing-in-the-small’ and move toward ‘testing-
in-the-large’
▪ For conventional software
▪ The module (component) is our initial focus
▪ Integration of modules follows
▪ For OO software
▪ our focus when “testing in the small” changes from an individual
module (the conventional view) to an OO class that encompasses
attributes and operations and implies communication and
collaboration
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
9
(McGraw-Hill 2014). Slides © 2014 9
Strategic Issues
▪ Specify product requirements in a quantifiable manner long before testing
commences.
▪ State testing objectives explicitly.
▪ Understand the users of the software and develop a profile for each user
category.
▪ Develop a testing plan that emphasizes “rapid cycle testing.”
▪ Build “robust” software that is designed to test itself
▪ Use effective technical reviews as a filter prior to testing
▪ Conduct technical reviews to assess the test strategy and test cases
themselves.
▪ Develop a continuous improvement approach for the testing process.
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
10
(McGraw-Hill 2014). Slides © 2014 10
Unit Testing
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
11
(McGraw-Hill 2014). Slides © 2014 11
Unit Testing
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
12
(McGraw-Hill 2014). Slides © 2014 12
Unit Test Environment
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
13
(McGraw-Hill 2014). Slides © 2014 13
Integration Testing Strategies
▪ Options:
• the “big bang” approach
▪
• an incremental construction strategy
▪
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
14
(McGraw-Hill 2014). Slides © 2014 14
Top Down Integration
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
15
(McGraw-Hill 2014). Slides © 2014 15
Bottom-Up Integration
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
16
(McGraw-Hill 2014). Slides © 2014 16
Sandwich Testing
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
17
(McGraw-Hill 2014). Slides © 2014 17
Regression Testing
▪ Regression testing is the re-execution of some subset of tests that
have already been conducted to ensure that changes have not
propagated unintended side effects
▪ Whenever software is corrected, some aspect of the software
configuration (the program, its documentation, or the data that
support it) is changed.
▪ Regression testing helps to ensure that changes (due to testing or
for other reasons) do not introduce unintended behavior or
additional errors.
▪ Regression testing may be conducted manually, by re-executing a
subset of all test cases or using automated capture/playback tools.
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
18
(McGraw-Hill 2014). Slides © 2014 18
Smoke Testing
▪ A common approach for creating “daily builds” for product
software
▪ Smoke testing steps:
▪ Software components that have been translated into code are integrated
into a “build.”
▪ A build includes all data files, libraries, reusable modules, and engineered
components that are required to implement one or more product functions.
▪ A series of tests is designed to expose errors that will keep the build from
properly performing its function.
▪ The intent should be to uncover “show stopper” errors that have the highest
likelihood of throwing the software project behind schedule.
▪ The build is integrated with other builds and the entire product (in its current
form) is smoke tested daily.
▪ The integration approach may be top down or bottom up.
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
19
(McGraw-Hill 2014). Slides © 2014 19
General Testing Criteria
▪ Interface integrity – internal and external module interfaces
are tested as each module or cluster is added to the software
▪ Functional validity – test to uncover functional defects in the
software
▪ Information content – test for errors in local or global data
structures
▪ Performance – verify specified performance bounds are
tested
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
20
(McGraw-Hill 2014). Slides © 2014 20
Object-Oriented Testing
▪ begins by evaluating the correctness and consistency of the
analysis and design models
▪ testing strategy changes
▪ the concept of the ‘unit’ broadens due to encapsulation
▪ integration focuses on classes and their execution across a ‘thread’ or
in the context of a usage scenario
▪ validation uses conventional black box methods
▪ test case design draws on conventional methods, but also
encompasses special features
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
21
(McGraw-Hill 2014). Slides © 2014 21
Broadening the View of “Testing”
▪ It can be argued that the review of OO analysis and design
models is especially useful because the same semantic
constructs (e.g., classes, attributes, operations, messages)
appear at the analysis, design, and code level.
▪ Therefore, a problem in the definition of class attributes that is
uncovered during analysis will circumvent side effects that
might occur if the problem were not discovered until design or
code (or even the next iteration of analysis).
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
22
(McGraw-Hill 2014). Slides © 2014 22
Testing the CRC Model
1. Revisit the CRC model and the object-relationship model.
2. Inspect the description of each CRC index card to determine if a
delegated responsibility is part of the collaborator’s definition.
3. Invert the connection to ensure that each collaborator that is asked for
service is receiving requests from a reasonable source.
4. Using the inverted connections examined in step 3, determine whether
other classes might be required or whether responsibilities are properly
grouped among the classes.
5. Determine whether widely requested responsibilities might be
combined into a single responsibility.
6. Steps 1 to 5 are applied iteratively to each class and through each
evolution of the analysis model.
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
23
(McGraw-Hill 2014). Slides © 2014 23
OO Testing Strategy
▪ class testing is the equivalent of unit testing
▪ operations within the class are tested
▪ the state behavior of the class is examined
▪ integration applied three different strategies
▪ thread-based testing—integrates the set of classes required to
respond to one input or event
▪ use-based testing—integrates the set of classes required to respond
to one use case
▪ cluster testing—integrates the set of classes required to demonstrate
one collaboration
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
24
(McGraw-Hill 2014). Slides © 2014 24
WebApp Testing - I
▪ The content model for the WebApp is reviewed to uncover
errors.
▪ The interface model is reviewed to ensure that all use cases
can be accommodated.
▪ The design model for the WebApp is reviewed to uncover
navigation errors.
▪ The user interface is tested to uncover errors in presentation
and/or navigation mechanics.
▪ Each functional component is unit tested.
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
25
(McGraw-Hill 2014). Slides © 2014 25
WebApp Testing - II
▪ Navigation throughout the architecture is tested.
▪ The WebApp is implemented in a variety of different environmental
configurations and is tested for compatibility with each
configuration.
▪ Security tests are conducted in an attempt to exploit vulnerabilities
in the WebApp or within its environment.
▪ Performance tests are conducted.
▪ The WebApp is tested by a controlled and monitored population of
end-users. The results of their interaction with the system are
evaluated for content and navigation errors, usability concerns,
compatibility concerns, and WebApp reliability and performance.
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
26
(McGraw-Hill 2014). Slides © 2014 26
MobileApp Testing
▪ User experience testing – ensuring app meets stakeholder usability and
accessibility expectations
▪ Device compatibility testing – testing on multiple devices
▪ Performance testing – testing non-functional requirements
▪ Connectivity testing – testing ability of app to connect reliably
▪ Security testing – ensuring app meets stakeholder security expectations
▪ Testing-in-the-wild – testing app on user devices in actual user
environments
▪ Certification testing – app meets the distribution standards
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
27
(McGraw-Hill 2014). Slides © 2014 27
High Order Testing
▪ Validation testing ▪ Security testing
▪ Focus is on software requirements ▪ verifies that protection mechanisms
built into a system will, in fact, protect
▪ System testing it from improper penetration
▪ Focus is on system integration
▪ Stress testing
▪ Alpha/Beta testing ▪ executes a system in a manner that
▪ Focus is on customer usage demands resources in abnormal
quantity, frequency, or volume
▪ Recovery testing
▪ forces the software to fail in a variety ▪ Performance Testing
of ways and verifies that recovery is ▪ test the run-time performance of
properly performed software within the context of an
integrated system
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
28
(McGraw-Hill 2014). Slides © 2014 28
Debugging: A Diagnostic Process
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
29
(McGraw-Hill 2014). Slides © 2014 29
The Debugging Process
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
30
(McGraw-Hill 2014). Slides © 2014 30
Debugging Effort
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
31
(McGraw-Hill 2014). Slides © 2014 31
Symptoms & Causes
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
32
(McGraw-Hill 2014). Slides © 2014 32
Consequences of Bugs
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
33
(McGraw-Hill 2014). Slides © 2014 33
Debugging Techniques
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
34
(McGraw-Hill 2014). Slides © 2014 34
Correcting the Error
▪ Is the cause of the bug reproduced in another part of the
program? In many situations, a program defect is caused by an
erroneous pattern of logic that may be reproduced elsewhere.
▪ What "next bug" might be introduced by the fix I'm about to make?
Before the correction is made, the source code (or, better, the
design) should be evaluated to assess coupling of logic and data
structures.
▪ What could we have done to prevent this bug in the first place?
This question is the first step toward establishing a statistical
software quality assurance approach. If you correct the process as
well as the product, the bug will be removed from the current
program and may be eliminated from all future programs.
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
35
(McGraw-Hill 2014). Slides © 2014 35
Final Thoughts
▪ Think -- before you act to correct
▪ Use tools to gain additional insight
▪ If you’re at an impasse, get help from someone else
▪ Once you correct the bug, use regression testing to uncover
any side effects
Roger Pressman, Software Engineering: A Practitioner’s Approach, 8/e
36
(McGraw-Hill 2014). Slides © 2014 36
You might also like
Class12 Economic HM
PDF
No ratings yet
Class12 Economic HM
280 pages
Jesus Is The Living Stone
PDF
100% (1)
Jesus Is The Living Stone
50 pages
Perception Management
PDF
No ratings yet
Perception Management
126 pages
L11 Software Testing Strategies
PDF
No ratings yet
L11 Software Testing Strategies
42 pages
Unit-6 Se
PDF
No ratings yet
Unit-6 Se
59 pages
Ch13 14
PDF
No ratings yet
Ch13 14
25 pages
Dallara 320D
PDF
No ratings yet
Dallara 320D
21 pages
Software Testing
PDF
No ratings yet
Software Testing
32 pages
Unit 4 Notes
PDF
No ratings yet
Unit 4 Notes
47 pages
SE Unit IV
PDF
No ratings yet
SE Unit IV
54 pages
Slide 9
PDF
No ratings yet
Slide 9
71 pages
WINSEM2024-25 CSE1005 ETH AP2024254000320 2025-02-05 Reference-Material-I
PDF
No ratings yet
WINSEM2024-25 CSE1005 ETH AP2024254000320 2025-02-05 Reference-Material-I
62 pages
Test Strategies
PDF
No ratings yet
Test Strategies
40 pages
Pressman Chapter17 Strategies
PDF
No ratings yet
Pressman Chapter17 Strategies
31 pages
Unit7 Designing Testing
PDF
No ratings yet
Unit7 Designing Testing
27 pages
Oose
PDF
No ratings yet
Oose
63 pages
17 - Software Testing Strategies
PDF
No ratings yet
17 - Software Testing Strategies
29 pages
Unit 5
PDF
No ratings yet
Unit 5
66 pages
SE Unit - 5
PDF
No ratings yet
SE Unit - 5
33 pages
5 Testing2
PDF
No ratings yet
5 Testing2
33 pages
Unit 4
PDF
No ratings yet
Unit 4
63 pages
Slide Set 14 - Software Testing Strategies
PDF
No ratings yet
Slide Set 14 - Software Testing Strategies
62 pages
Chapter 7 (Part-1)
PDF
No ratings yet
Chapter 7 (Part-1)
29 pages
Shortest Path
PDF
No ratings yet
Shortest Path
57 pages
10.1016@j.diin.2019.02.001 Literature
PDF
No ratings yet
10.1016@j.diin.2019.02.001 Literature
26 pages
Interviews Booklet BB Vyas
PDF
No ratings yet
Interviews Booklet BB Vyas
126 pages
Unit IV Testing Pune University SRES COE
PDF
No ratings yet
Unit IV Testing Pune University SRES COE
94 pages
4 Testing1
PDF
No ratings yet
4 Testing1
21 pages
SW Testing - 2 2023 - Till White Box Testing
PDF
No ratings yet
SW Testing - 2 2023 - Till White Box Testing
45 pages
Testing
PDF
No ratings yet
Testing
31 pages
19-Module - 5 Strategic Approach To Software Testing,-09-03-2024
PDF
No ratings yet
19-Module - 5 Strategic Approach To Software Testing,-09-03-2024
32 pages
2 فصل اول- مهندسی نرمافزار
PDF
No ratings yet
2 فصل اول- مهندسی نرمافزار
15 pages
Ch24-Testing Object-Oriented Applications
PDF
No ratings yet
Ch24-Testing Object-Oriented Applications
13 pages
Week 13
PDF
No ratings yet
Week 13
24 pages
CH 23 Testing Techniques
PDF
No ratings yet
CH 23 Testing Techniques
31 pages
SW Testing Strategies2023
PDF
No ratings yet
SW Testing Strategies2023
32 pages
7b. Software Testing
PDF
No ratings yet
7b. Software Testing
23 pages
As Per TR As Per Inventory Remarks: Apply Finishing Touches On Casual Apparel
PDF
No ratings yet
As Per TR As Per Inventory Remarks: Apply Finishing Touches On Casual Apparel
3 pages
Four-Color Technical Report
PDF
No ratings yet
Four-Color Technical Report
24 pages
Slide Set 14 - Software Testing Strategies
PDF
No ratings yet
Slide Set 14 - Software Testing Strategies
61 pages
Software Testing Strategies
PDF
No ratings yet
Software Testing Strategies
27 pages
Phrasal Verbs Revision
PDF
No ratings yet
Phrasal Verbs Revision
9 pages
SEPA8 e Slides CH 2 R1
PDF
No ratings yet
SEPA8 e Slides CH 2 R1
16 pages
Unit Iv Software Testing Strategies
PDF
No ratings yet
Unit Iv Software Testing Strategies
46 pages
PWD Ramp Around
PDF
No ratings yet
PWD Ramp Around
3 pages
SE Unit-4
PDF
No ratings yet
SE Unit-4
33 pages
Fundamental Theories of Damages/Failure
PDF
No ratings yet
Fundamental Theories of Damages/Failure
30 pages
Week - 4 - Lecture - 1 - Chapter - 22 - Software Testing Strategies
PDF
No ratings yet
Week - 4 - Lecture - 1 - Chapter - 22 - Software Testing Strategies
13 pages
Software Testing Techniques: These Courseware Materials Are To Be Used in Conjunction With
PDF
No ratings yet
Software Testing Techniques: These Courseware Materials Are To Be Used in Conjunction With
24 pages
Definition Paragraph
PDF
No ratings yet
Definition Paragraph
20 pages
3126380
PDF
No ratings yet
3126380
10 pages
Writing Task 2 Paragraph (Other Topic)
PDF
No ratings yet
Writing Task 2 Paragraph (Other Topic)
5 pages
CH 18
PDF
No ratings yet
CH 18
31 pages
1.software Testing
PDF
No ratings yet
1.software Testing
40 pages
Chapter - 17 Testing Strategies
PDF
No ratings yet
Chapter - 17 Testing Strategies
27 pages
Chapter Summary 13 PRESSMAN
PDF
No ratings yet
Chapter Summary 13 PRESSMAN
5 pages
Art 5 (Week 3)
PDF
No ratings yet
Art 5 (Week 3)
3 pages
Software Testing Strategies: Chapter 13
PDF
No ratings yet
Software Testing Strategies: Chapter 13
25 pages
Software Testing Strategies
PDF
No ratings yet
Software Testing Strategies
31 pages
Testing Conventional Applications: Software Engineering: A Practitioner's Approach, 7/e
PDF
No ratings yet
Testing Conventional Applications: Software Engineering: A Practitioner's Approach, 7/e
30 pages
20 - Pressman-Ch-1314-Software-Testing
PDF
100% (1)
20 - Pressman-Ch-1314-Software-Testing
39 pages
4.16 Font Styleverticalalign Inheritfont Styleverticalalign Inherittaxas de Cmbio e Preosfontfont
PDF
No ratings yet
4.16 Font Styleverticalalign Inheritfont Styleverticalalign Inherittaxas de Cmbio e Preosfontfont
5 pages
MIICA International Teachers Award 2024
PDF
No ratings yet
MIICA International Teachers Award 2024
2 pages
NPV Annuity Plans
PDF
No ratings yet
NPV Annuity Plans
10 pages
Software Testing Strategies: Software Engineering: A Practitioner's Approach, 7/e
PDF
No ratings yet
Software Testing Strategies: Software Engineering: A Practitioner's Approach, 7/e
31 pages
Pressman7Ch17 Modfied by Arvind
PDF
No ratings yet
Pressman7Ch17 Modfied by Arvind
57 pages
Lecture 13: Chapter 17: Software Testing Strategies
PDF
No ratings yet
Lecture 13: Chapter 17: Software Testing Strategies
23 pages
Anglais Axe 1
PDF
No ratings yet
Anglais Axe 1
1 page
Software Testing Strategies
PDF
No ratings yet
Software Testing Strategies
14 pages
Testing Object-Oriented Applications: Software Engineering: A Practitioner's Approach, 7/e
PDF
No ratings yet
Testing Object-Oriented Applications: Software Engineering: A Practitioner's Approach, 7/e
13 pages
Corn Dog
PDF
No ratings yet
Corn Dog
1 page
Chapter 7 - Segmentation, Target Marketing, and Positioning
PDF
0% (1)
Chapter 7 - Segmentation, Target Marketing, and Positioning
14 pages
SE 14feb11
PDF
No ratings yet
SE 14feb11
44 pages
I. Objectives: (Leads To Formative Assessment)
PDF
100% (1)
I. Objectives: (Leads To Formative Assessment)
3 pages
M4TXX-BR12SH: TIMEKEEPER SNAPHAT (Battery & Crystal)
PDF
No ratings yet
M4TXX-BR12SH: TIMEKEEPER SNAPHAT (Battery & Crystal)
7 pages
Electrical Installation
PDF
No ratings yet
Electrical Installation
41 pages
Se261 Chapter 17
PDF
No ratings yet
Se261 Chapter 17
16 pages
Testing
PDF
No ratings yet
Testing
26 pages
Bangla News Summarization
PDF
No ratings yet
Bangla News Summarization
10 pages
Pressman CH 13 Software Testing Strategies
PDF
100% (1)
Pressman CH 13 Software Testing Strategies
45 pages
Chapter 17 - Software Testing Strategies
PDF
No ratings yet
Chapter 17 - Software Testing Strategies
7 pages
Unit 10
PDF
No ratings yet
Unit 10
9 pages
Service Manual: Colour Television
PDF
No ratings yet
Service Manual: Colour Television
32 pages
ACTIVITY 4 Essay - PE & HEALTH
PDF
No ratings yet
ACTIVITY 4 Essay - PE & HEALTH
1 page
STILL RX 70 Technical Data FREE
PDF
0% (1)
STILL RX 70 Technical Data FREE
22 pages
Cost Estimation in Agile Software Development: Utilizing Functional Size Measurement Methods
From Everand
Cost Estimation in Agile Software Development: Utilizing Functional Size Measurement Methods
Stefan Luckhaus
No ratings yet
How to Start a Career in QA: Steps and Tips
From Everand
How to Start a Career in QA: Steps and Tips
Idrak Mirzayev
No ratings yet
The Software Test Engineer's Handbook, 2nd Edition: A Study Guide for the ISTQB Test Analyst and Technical Test Analyst Advanced Level Certificates 2012
From Everand
The Software Test Engineer's Handbook, 2nd Edition: A Study Guide for the ISTQB Test Analyst and Technical Test Analyst Advanced Level Certificates 2012
Graham Bath
4/5 (5)
Agile Testing: An Overview
From Everand
Agile Testing: An Overview
Florian Heuer
4/5 (10)
Software Testing: A Guide to Testing Mobile Apps, Websites, and Games
From Everand
Software Testing: A Guide to Testing Mobile Apps, Websites, and Games
Mark Garzone
4.5/5 (3)