Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter.

Similar presentations


Presentation on theme: "1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter."— Presentation transcript:

1 1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies copyright © 1996, 2001, 2005 R.S. Pressman & Associates, Inc. For University Use Only May 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.

2 2 Software Testing Testing is the process of exercising a program with the specific intent of finding errors prior to delivery to the end user.

3 3 What Testing Shows errors requirements conformance performance an indication of quality

4 4 Who Tests the Software? developer independent tester Understands the system but, will test "gently" and, is driven by "delivery" Must learn about the system, but, will attempt to break it and, is driven by quality

5 5 Testing Strategy unit test integrationtest validationtest systemtest

6 6 Testing Strategy We begin by ‘testing-in-the-small’ and move toward ‘testing-in-the-large’ We begin by ‘testing-in-the-small’ and move toward ‘testing-in-the-large’ For conventional software For conventional software The module (component) is our initial focus The module (component) is our initial focus Integration of modules follows Integration of modules follows For OO software 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 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

7 7 Strategic Issues State testing objectives explicitly. State testing objectives explicitly. Understand the users of the software and develop a profile for each user category. Understand the users of the software and develop a profile for each user 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 itself Build “robust” software that is designed to test itself Use effective formal technical reviews as a filter prior to testing Use effective formal technical reviews as a filter prior to testing Conduct formal technical reviews to assess the test strategy and test cases themselves. Conduct formal technical reviews to assess the test strategy and test cases themselves. Develop a continuous improvement approach for the testing process. Develop a continuous improvement approach for the testing process.

8 8 Unit Testing module to be tested test cases results softwareengineer

9 9 Unit Testing interface local data structures boundary conditions independent paths error handling paths module to be tested test cases

10 10 Unit Test Environment Module stub stub driver RESULTS interface local data structures boundary conditions independent paths error handling paths test cases

11 11 Integration Testing Strategies Options: the “big bang” approachthe “big bang” approach an incremental construction strategyan incremental construction strategy

12 12 Top Down Integration top module is tested with stubs stubs are replaced one at a time, "depth first" as new modules are integrated, some subset of tests is re-run A B C DE FG

13 13 Bottom-Up Integration drivers are replaced one at a time, "depth first" worker modules are grouped into builds and integrated A B C DE FG cluster

14 14 Sandwich Testing Top modules are tested with stubs Worker modules are grouped into builds and integrated A B C DE FG cluster


Download ppt "1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 13a: Software Testing Strategies Software Engineering: A Practitioner’s Approach, 6/e Chapter."

Similar presentations


Ads by Google