1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies...
-
Upload
jewel-park -
Category
Documents
-
view
213 -
download
0
Transcript of 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies...
![Page 1: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/1.jpg)
1
Software Engineering: A Practitioner’s Software Engineering: A Practitioner’s Approach, 6/eApproach, 6/e
Chapter 13a:Chapter 13a:Software Testing StrategiesSoftware Testing Strategies
copyright © 1996, 2001, 2005
R.S. Pressman & Associates, Inc.
For University Use OnlyMay be reproduced ONLY for student use at the university level
when used in conjunction with Software Engineering: A Practitioner's Approach.Any other reproduction or use is expressly prohibited.
![Page 2: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/2.jpg)
2
Software Software TestingTesting
Testing is the process of exercising aTesting is the process of exercising aprogram with the specific intent of findingprogram with the specific intent of findingerrors prior to delivery to the end user.errors prior to delivery to the end user.
![Page 3: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/3.jpg)
3
What Testing ShowsWhat Testing Shows
errorserrors
requirements conformancerequirements conformance
performanceperformance
an indicationan indicationof qualityof quality
![Page 4: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/4.jpg)
4
Who Tests the Who Tests the Software?Software?
developerdeveloper independent testerindependent tester
Understands the system Understands the system
but, will test "gently"but, will test "gently"
and, is driven by "delivery"and, is driven by "delivery"
Must learn about the system,Must learn about the system,but, will attempt to break itbut, will attempt to break itand, is driven by qualityand, is driven by quality
![Page 5: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/5.jpg)
5
Testing StrategyTesting Strategy
unit testunit test integrationintegrationtesttest
validationvalidationtesttest
systemsystemtesttest
![Page 6: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/6.jpg)
6
Testing StrategyTesting Strategy
We begin by ‘We begin by ‘testing-in-the-small’testing-in-the-small’ and move and move toward ‘toward ‘testing-in-the-large’testing-in-the-large’
For conventional softwareFor conventional software The module (component) is our initial focusThe module (component) is our initial focus Integration of modules followsIntegration of modules follows
For OO softwareFor OO software our focus when “testing in the small” changes from an our focus when “testing in the small” changes from an
individual module (the conventional view) to an OO individual module (the conventional view) to an OO class that encompasses attributes and operations and class that encompasses attributes and operations and implies communication and collaborationimplies communication and collaboration
![Page 7: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/7.jpg)
7
Strategic IssuesStrategic Issues
State testing objectives explicitly. State testing objectives explicitly. Understand the users of the software and develop a profile for each user Understand the users of the software and develop a profile for each user
category.category. Develop a testing plan that emphasizes “rapid cycle testing.”Develop a testing plan that emphasizes “rapid cycle testing.” Build “robust” software that is designed to test itselfBuild “robust” software that is designed to test itself Use effective formal technical reviews as a filter prior to testingUse effective formal technical reviews as a filter prior to testing Conduct formal technical reviews to assess the test strategy and test Conduct formal technical reviews to assess the test strategy and test
cases themselves. cases themselves. Develop a continuous improvement approach for the testing process. Develop a continuous improvement approach for the testing process.
![Page 8: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/8.jpg)
8
Unit TestingUnit Testing
modulemoduleto beto betestedtested
test casestest cases
resultsresults
softwaresoftwareengineerengineer
![Page 9: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/9.jpg)
9
Unit TestingUnit Testing
interface interface local data structureslocal data structures
boundary conditionsboundary conditionsindependent pathsindependent pathserror handling pathserror handling paths
modulemoduleto beto betestedtested
test casestest cases
![Page 10: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/10.jpg)
10
Unit Test Unit Test EnvironmentEnvironment
ModuleModule
stubstub stubstub
driverdriver
RESULTSRESULTS
interface interface
local data structureslocal data structures
boundary conditionsboundary conditions
independent pathsindependent paths
error handling pathserror handling paths
test casestest cases
![Page 11: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/11.jpg)
11
Integration Testing StrategiesIntegration Testing StrategiesOptions:Options:
•• the “big bang” approachthe “big bang” approach•• an incremental construction strategyan incremental construction strategy
![Page 12: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/12.jpg)
12
Top Down IntegrationTop Down Integration
top module is tested with top module is tested with stubsstubs
stubs are replaced one at stubs are replaced one at a time, "depth first"a time, "depth first"
as new modules are integrated, as new modules are integrated, some subset of tests is re-runsome subset of tests is re-run
AA
BB
CC
DD EE
FF GG
![Page 13: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/13.jpg)
13
Bottom-Up IntegrationBottom-Up Integration
drivers are replaced one at a drivers are replaced one at a time, "depth first"time, "depth first"
worker modules are grouped into worker modules are grouped into builds and integratedbuilds and integrated
AA
BB
CC
DD EE
FF GG
clustercluster
![Page 14: 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.](https://reader036.fdocuments.net/reader036/viewer/2022071807/56649eab5503460f94bb0699/html5/thumbnails/14.jpg)
14
Sandwich TestingSandwich Testing
Top modules areTop modules aretested with stubstested with stubs
Worker modules are grouped into Worker modules are grouped into builds and integratedbuilds and integrated
AA
BB
CC
DD EE
FF GG
clustercluster