+ All Categories
Home > Education > Chapter 18

Chapter 18

Date post: 28-Jun-2015
Category:
Upload: abdur-rehman-muhammadi
View: 83 times
Download: 0 times
Share this document with a friend
Popular Tags:
19
1 Chapter 17 Chapter 17 Software Testing Software Testing Strategies Strategies
Transcript
Page 1: Chapter 18

1

Chapter 17Chapter 17Software Testing Software Testing

StrategiesStrategies

Page 2: Chapter 18

2

Testing StrategyTesting Strategy

unit testunit test integrationintegrationtesttest

validationvalidationtesttest

systemsystemtesttest

Page 3: Chapter 18

3

Unit TestingUnit Testing

modulemoduleto beto betestedtested

test casestest cases

resultsresults

softwaresoftwareengineerengineer

Page 4: Chapter 18

4

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 5: Chapter 18

5

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 6: Chapter 18

6

Integration Testing StrategiesIntegration Testing Strategies

Options:Options:•• the “big bang” approachthe “big bang” approach•• an incremental construction strategyan incremental construction strategy

Page 7: Chapter 18

7

Smoke Smoke TestingTestingUsed for “Shrink Wrapped” software and time – critical projectUsed for “Shrink Wrapped” software and time – critical project

Activities Included in Smoke testing:

1. Software Components are integrated into build

2. A series of tests is designed to expose errors that will keep the build from properly performing functions

3. The build is integrated with other builds and the entire product is smoke tested daily. The integration approach may be top down or bottom up.

Page 8: Chapter 18

8

Validation Validation TestingTesting

Validation:Validation:Validation succeeds when software functions Validation succeeds when software functions

in a manner that can be reasonably expected by the in a manner that can be reasonably expected by the customercustomer

Validation Criteria:Validation Criteria:• Test plan which conforms the user requirementsTest plan which conforms the user requirements

Consequences are tackled accordingly.Consequences are tackled accordingly.

“Are we building the product right”--------(Verification)“Are we building the right product”----------(Validation)

Page 9: Chapter 18

9

Alpha and Beta Alpha and Beta TestingTesting

Alpha Testing:Alpha Testing:AT is conducted at the developer’s sites by the customer in a AT is conducted at the developer’s sites by the customer in a controlled environment.controlled environment.

Beta Testing:Beta Testing:The beta test is conducted at one or more sites by the end-user of the The beta test is conducted at one or more sites by the end-user of the softwaresoftware

Page 10: Chapter 18

10

System System TestingTesting

Testing of the software when it interacts Testing of the software when it interacts with hardware, people, and information.with hardware, people, and information.

These tests are out of the scope of the These tests are out of the scope of the softwaresoftwareTypes of system Testing:

1. Recovery Testing

2. Security Testing

3. Stress Testing

4. Performance Testing

Page 11: Chapter 18

11

Recovery Recovery TestingTesting

RT is a system test that forces the RT is a system test that forces the software to fail in a variety of ways software to fail in a variety of ways and verifies that recovery is properly and verifies that recovery is properly performed.performed.

SecuritySecurity Testing Testing

ST attempts to verify that protection ST attempts to verify that protection mechanisms built into a system will, mechanisms built into a system will, in fact, protect it from improper in fact, protect it from improper penetrationpenetration

Page 12: Chapter 18

12

Stress Stress TestingTesting

Stress testing executes a system in a Stress testing executes a system in a manner that demands resources in manner that demands resources in abnormal quantity, frequency, or abnormal quantity, frequency, or volume .volume .

Performance TestingPerformance Testing

PT is designed to test the run-time PT is designed to test the run-time performance of software within the performance of software within the context of an integrated systemcontext of an integrated system

Page 13: Chapter 18

13

Debugging: Debugging: A Diagnostic ProcessA Diagnostic Process

Debugging occurs as a consequence of successful testing. That is, when a test case uncovers an error, debugging is the process that results in the removal of the error.

Page 14: Chapter 18

14

The Debugging The Debugging ProcessProcess

test casestest cases

resultsresults

DebuggingDebugging

suspectedsuspectedcausescauses

identifiedidentifiedcausescauses

correctionscorrections

regressionregressionteststests

new testnew testcasescases

Page 15: Chapter 18

15

Debugging EffortDebugging Effort

time requiredtime requiredto diagnose theto diagnose thesymptom andsymptom anddetermine thedetermine thecausecause

time requiredtime requiredto correct the errorto correct the errorand conductand conductregression testsregression tests

Page 16: Chapter 18

16

Symptoms & CausesSymptoms & Causes

symptomsymptomcausecause

symptom and cause may be symptom and cause may be geographically separated geographically separated

symptom may disappear when symptom may disappear when another problem is fixedanother problem is fixed

cause may be due to a cause may be due to a combination of non-errors combination of non-errors

cause may be due to a system cause may be due to a system or compiler erroror compiler error

cause may be due to cause may be due to assumptions that everyone assumptions that everyone believesbelieves

Page 17: Chapter 18

17

Debugging Debugging TechniquesTechniques

brute force / testingbrute force / testing

backtrackingbacktracking

cause eliminationcause elimination

Page 18: Chapter 18

18

Debugging: Final Debugging: Final ThoughtsThoughts

Don't run off half-cooked, Don't run off half-cooked, thinkthink about the about the symptom you're seeing.symptom you're seeing.

Use toolsUse tools (e.g., dynamic debugger) to gain (e.g., dynamic debugger) to gain more insight.more insight.

If at an impasse, If at an impasse, get helpget help from someone else.from someone else.

Be absolutely sure to Be absolutely sure to conduct regression testsconduct regression tests when you do "fix" the bug.when you do "fix" the bug.

1.1.

2.2.

3.3.

4.4.

Page 19: Chapter 18

19

Congratulations!Congratulations!

Your Course has ended.Your Course has ended.

What Next ………………..?What Next ………………..?


Recommended