Date post: | 28-Jun-2015 |
Category: |
Education |
Upload: | abdur-rehman-muhammadi |
View: | 83 times |
Download: | 0 times |
1
Chapter 17Chapter 17Software Testing Software Testing
StrategiesStrategies
2
Testing StrategyTesting Strategy
unit testunit test integrationintegrationtesttest
validationvalidationtesttest
systemsystemtesttest
3
Unit TestingUnit Testing
modulemoduleto beto betestedtested
test casestest cases
resultsresults
softwaresoftwareengineerengineer
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
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
6
Integration Testing StrategiesIntegration Testing Strategies
Options:Options:•• the “big bang” approachthe “big bang” approach•• an incremental construction strategyan incremental construction strategy
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.
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)
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
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
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
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
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.
14
The Debugging The Debugging ProcessProcess
test casestest cases
resultsresults
DebuggingDebugging
suspectedsuspectedcausescauses
identifiedidentifiedcausescauses
correctionscorrections
regressionregressionteststests
new testnew testcasescases
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
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
17
Debugging Debugging TechniquesTechniques
brute force / testingbrute force / testing
backtrackingbacktracking
cause eliminationcause elimination
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.
19
Congratulations!Congratulations!
Your Course has ended.Your Course has ended.
What Next ………………..?What Next ………………..?