Академический Документы
Профессиональный Документы
Культура Документы
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide1
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide2
Objectives
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide3
Topics covered
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide4
Verification vs validation
Verification:
"Are we building the product right"
The software should conform to its specification
Validation:
"Are we building the right product"
The software should do what the user really
requires
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide5
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide6
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide7
Requirements
specification
Highlevel
design
Formal
specification
Detailed
design
Dynamic
validation
Prototype
IanSommerville2000
Program
SoftwareEngineering,6thedition.Chapter19
Slide8
Program testing
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide9
Types of testing
Defect testing
Statistical testing
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide10
V& V goals
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide11
V & V confidence
Software function
The level of confidence depends on how critical the software is to
an organisation
User expectations
Users may have low expectations of certain kinds of software
Marketing environment
Getting a product to market early may be more important than
finding defects in the program
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide12
SoftwareEngineering,6thedition.Chapter19
Slide13
Test
results
Locate
error
IanSommerville2000
Test
cases
Specification
Design
errorrepair
Repair
error
SoftwareEngineering,6thedition.Chapter19
Retest
program
Slide14
V & V planning
SoftwareEngineering,6thedition.Chapter19
Slide15
System
specification
System
integration
testplan
Acceptance
testplan
Service
IanSommerville2000
System
design
Acceptance
test
Detailed
design
Subsystem
integration
testplan
System
integrationtest
Moduleand
unitcode
andtess
Subsystem
integrationtest
SoftwareEngineering,6thedition.Chapter19
Slide16
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide17
Software inspections
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide18
Inspection success
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide19
SoftwareEngineering,6thedition.Chapter19
Slide20
Program inspections
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide21
Inspection pre-conditions
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide22
Planning
Overview
Followup
Individual
preparation
IanSommerville2000
Rework
Inspection
meeting
SoftwareEngineering,6thedition.Chapter19
Slide23
Inspection procedure
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide24
Inspection teams
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide25
Inspection checklists
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide26
Faultclass
Datafaults
Inspectioncheck
Areallprogramvariablesinitialisedbeforetheir values
areused?
Haveallconstantsbeennamed?
Shouldthelowerboundofarraysbe0,1,orsomething
else?
Shouldtheupperboundofarraysbeequaltothesizeof
thearrayorSize1?
Ifcharacterstringsare used,isadelimiterexplicitly
assigned?
Controlfaults
Foreachconditionalstatement,istheconditioncorrect?
Iseachloopcertaintoterminate?
Arecompoundstatementscorrectlybracketed?
Incasestatements,areallpossiblecasesaccountedfor?
Input/outputfaults
Areallinputvariablesused?
Arealloutputvariablesassigned avaluebeforetheyare
output?
Interfacefaults
Do allfunctionandprocedurecallshavethecorrect
numberofparameters?
Doformalandactualparametertypesmatch?
Aretheparametersintherightorder?
Ifcomponentsaccesssharedmemory,dotheyhave the
samemodelofthesharedmemorystructure?
Storage management Ifalinkedstructureismodified, havealllinksbeen
faults
correctlyreassigned?
Ifdynamic storageisused,hasspacebeenallocated
correctly?
Isspaceexplicitlydeallocatedafterit
isnolonger
required?
Exception
Haveallpossibleerrorconditionsbeentaken
into
managementfaults
account?
Inspection checks
Inspection rate
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide28
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide29
Staticanalysischeck
Variablesusedbeforeinitialisation
Variablesdeclaredbutneverused
Variables assignedtwicebutneverused
betweenassignments
Possiblearrayboundviolations
Undeclaredvariables
Controlfaults
Unreachablecode
Unconditionalbranchesintoloops
Input/outputfaults
Variables outputtwicewithnointervening
assignment
Interfacefaults
Parametertypemismatches
Parameternumbermismatches
Nonusageoftheresultsoffunctions
Uncalledfunctionsandprocedures
Storage
management Unassignedpointers
faults
Pointerarithmetic
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide30
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide31
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide32
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide34
Incremental development
Formal specification.
Static verification using correctness arguments
Statistical testing to determine program reliability.
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide35
Errorrework
Define
software
increments
Develop
operational
profile
IanSommerville2000
Construct
structured
program
Formally
verify
code
Design
statistical
tests
SoftwareEngineering,6thedition.Chapter19
Integrate
increment
Test
integrated
system
Slide36
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide37
Incremental development
Frozen
specification
Establish
rerquirements
Formal
specification
Develops/w
increment
Deliver
software
Requir ementschangerequest
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide38
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide39
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide40
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide41
Key points
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide42
Key points
IanSommerville2000
SoftwareEngineering,6thedition.Chapter19
Slide43