SlideShare a Scribd company logo
1 of 32
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 1
Verification and Validation
 Assuring that a software
system meets a user's needs
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 2
Objectives
 To introduce software verification and validation
 To describe the stages of the testing process
 To explain the importance of test planning
 To describe various complementary testing
strategies
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 3
Topics covered
 The testing process
 Test planning
 Testing strategies
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 4
 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
Verification vs validation
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 5
 Is a whole life-cycle process - V & V must be
applied at each stage in the software process.
 Has two principal objectives
• The discovery of defects in a system
• The assessment of whether or not the system is usable in
an operational situation.
The V & V process
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 6
 Dynamic V & V Concerned with exercising and
observing product behaviour (testing)
 Static verification Concerned with analysis of
the static system representation to discover
problems
Dynamic and static verification
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 7
Static and dynamic V&V
Formal
specification
High-level
design
Requirements
specification
Detailed
design
Program
Prototype
Dynamic
validation
Static
verification
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 8
 Can reveal the presence of errors NOT their
absence
 A successful test is a test which discovers one
or more errors
 Only validation technique for non-functional
requirements
 Should be used in conjunction with static
verification
Program testing
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 9
 Statistical testing
• tests designed to reflect the frequence of user inputs. Used
for reliability estimation.
• Covered in Chapter 18 - Software reliability.
 Defect testing
• Tests designed to discover system defects.
• A successful defect test is one which reveals the presence
of defects in a system.
• Covered in Chapter 23 - Defect testing
Types of testing
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 10
 Defect testing and debugging are distinct
processes
 Defect testing is concerned with confirming the
presence of errors
 Debugging is concerned with locating and
repairing these errors
 Debugging involves formulating a hypothesis
about program behaviour then testing these
hypotheses to find the system error
Testing and debugging
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 11
The debugging process
Locate
error
Design
error repair
Repair
error
Re-test
program
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 12
 Unit testing
• testing of individual components
 Module testing
• testing of collections of dependent components
 Sub-system testing
• testing collections of modules integrated into sub-systems
 System testing
• testing the complete system prior to delivery
 Acceptance testing
• testing by users to check that the system satisfies
requirements. Sometimes called alpha testing
Testing stages
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 13
The testing process
Sub-system
testing
Module
testing
Unit
testing
System
testing
Acceptance
testing
Component
testing
Integration testing User
testing
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 14
Object-oriented system testing
 Less closely coupled systems. Objects are not
necessarily integrated into sub-systems
 Cluster testing. Test a group of cooperating
objects
 Thread testing. Test a processing thread as it
weaves from object to object. Discussed later in
real-time system testing
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 15
 Describe major phases of the testing process
 Describe tracability of tests to requirements
 Estimate overall schedule and resource
allocation
 Describe relationship with other project plans
 Describe recording method for test results
Test planning and scheduling
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 16
The test plan
 The testing process
 Requirements traceability
 Tested items
 Testing schedule
 Test recording procedures
 Hardware and software requirements
 Constraints
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 17
The V-model of development
Requirements
specification
System
specification
System
design
Detailed
design
Module and
unit code
and tess
Sub-system
integration
test plan
System
integration
test plan
Acceptance
test plan
Service
Acceptance
test
System
integration test
Sub-system
integration test
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 18
Testing strategies
 Tetsing strategies are ways of approaching the
testing process
 Different strategies may be applied at different
stages of the testing process
 Strategies covered
• Top-down testing
• Bottom-up testing
• Thread testing
• Stress testing
• Back-to-back testing
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 19
Incremental testing
T3
T2
T1
T4
T5
A
B
C
D
T2
T1
T3
T4
A
B
C
T1
T2
T3
A
B
Test sequence
1
Test sequence
2
Test sequence
3
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 20
Top-down testing
Level 2Level 2Level 2Level 2
Level 1 Level 1
Testing
sequence
Level 2
stubs
Level 3
stubs
. . .
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 21
Top-down testing
 Start with the high-levels of a system and work
your way downwards
 Testing strategy which is used in conjunction
with top-down development
 Finds architectural errors
 May need system infrastructure before any testing
is possible
 May be difficult to develop program stubs
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 22
Bottom-up testing
Level NLevel NLevel NLevel NLevel N
Level N–1 Level N–1Level N–1
Testing
sequence
Test
drivers
Test
drivers
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 23
Bottom-up testing
 Necessary for critical infrastructure components
 Start with the lower levels of the system and
work upward
 Needs test drivers to be implemented
 Does not find major design problems until late in
the process
 Appropriate for object-oriented systems
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 24
Thread testing
 Suitable for real-time and object-oriented systems
 Based on testing an operation which involves a
sequence of processing steps which thread their
way through the system
 Start with single event threads then go on to
multiple event threads
 Complete thread testing is impossible because of
the large number of event combinations
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 25
Process interactions
P2
P1
P5
P4
I1 (P2)
O2 (P4)
O1
(P5)
I2 (P1)
I1 (P1)
I3 (P1)
P3I1 (P3) O1 (P4)
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 26
Thread testing
P2P3 P4 O1
(P4)
I1
(P3)
P2P1 P5 O1
(P5)
I2
(P1)
I1
(P1)
I3
(P1)
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 27
Multiple-thread testing
P2P1 P5
P4
I1 (P2)
O2 (P4)
O1 (P5)I2 (P1)
I1 (P1)
I3 (P1)
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 28
 Exercises the system beyond its maximum design
load. Stressing the system often causes defects to
come to light
 Stressing the system test faulure behaviour..
Systems should not fail catastrophically. Stress
testing checks for unacceptable loss of service or
data
 Particularly relevant to distributed systems
which can exhibit severe degradation as a
network becomes overloaded
Stress testing
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 29
Back-to-back testing
 Present the same tests to different versions of the
system and compare outputs. Differing outputs
imply potential problems
 Reduces the costs of examining test results.
Automatic comparison of outputs.
 Possible twhen a prototype is available or with
regression testing of a new system version
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 30
Back-to-back testing
Test data
Program
version A
Program
version B
Results
comparator
Difference report
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 31
Key points
 Verification and validation are not the same thing
 Testing is used to establish the rpesence of
defects and to show fitness for purpose
 Testing activities include unit testing, module
testing, sub-system testing, integration testing and
acceptance testing
 Object classes should be testing in O-O systems
©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 32
Key points
 Testing should be scheduled as part of the
planning process. Adequate resources must be
made available
 Test plans should be drawn up to guide the testing
process
 Testing strategies include top-down testing,
bottom-up testing, stress testing, thread testing
and back-to-back testing

More Related Content

What's hot

Types of software testing
Types of software testingTypes of software testing
Types of software testingPrachi Sasankar
 
SOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATIONSOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATIONAmin Bandeali
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)bharathanche
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testingBipul Roy Bpl
 
Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineeringSweta Kumari Barnwal
 
ST-All about Test Case-p3
ST-All about Test Case-p3ST-All about Test Case-p3
ST-All about Test Case-p3Prachi Sasankar
 
Software Testing - Software V&V and selection processes
Software Testing - Software V&V and selection processesSoftware Testing - Software V&V and selection processes
Software Testing - Software V&V and selection processesanasz3z3
 
Testing strategies,techniques & test case SE
Testing strategies,techniques & test case SETesting strategies,techniques & test case SE
Testing strategies,techniques & test case SEMeet1020
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceRajeev Sharan
 
Fundamentals of Software Quality Assurance & Testing
Fundamentals of Software Quality Assurance & TestingFundamentals of Software Quality Assurance & Testing
Fundamentals of Software Quality Assurance & Testingrongbaz
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design Jayant Dalvi
 
Role of Testing
Role of Testing Role of Testing
Role of Testing Rishu Seth
 
Software validation
Software validationSoftware validation
Software validationRobert Phe
 
verification and validation
verification and validationverification and validation
verification and validationDinesh Pasi
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviAbuulHassan2
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-pptatish90
 

What's hot (18)

Types of software testing
Types of software testingTypes of software testing
Types of software testing
 
SOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATIONSOFTWARE VERIFICATION & VALIDATION
SOFTWARE VERIFICATION & VALIDATION
 
Unit 6
Unit 6Unit 6
Unit 6
 
Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)Quality assuarance bharath anche (1)
Quality assuarance bharath anche (1)
 
Software engineering quality assurance and testing
Software engineering quality assurance and testingSoftware engineering quality assurance and testing
Software engineering quality assurance and testing
 
Validation & verification software engineering
Validation & verification software engineeringValidation & verification software engineering
Validation & verification software engineering
 
ST-All about Test Case-p3
ST-All about Test Case-p3ST-All about Test Case-p3
ST-All about Test Case-p3
 
Software Testing - Software V&V and selection processes
Software Testing - Software V&V and selection processesSoftware Testing - Software V&V and selection processes
Software Testing - Software V&V and selection processes
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Testing strategies,techniques & test case SE
Testing strategies,techniques & test case SETesting strategies,techniques & test case SE
Testing strategies,techniques & test case SE
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
Fundamentals of Software Quality Assurance & Testing
Fundamentals of Software Quality Assurance & TestingFundamentals of Software Quality Assurance & Testing
Fundamentals of Software Quality Assurance & Testing
 
Structured system analysis and design
Structured system analysis and design Structured system analysis and design
Structured system analysis and design
 
Role of Testing
Role of Testing Role of Testing
Role of Testing
 
Software validation
Software validationSoftware validation
Software validation
 
verification and validation
verification and validationverification and validation
verification and validation
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
 
16103271 software-testing-ppt
16103271 software-testing-ppt16103271 software-testing-ppt
16103271 software-testing-ppt
 

Similar to Software engineering testing and types

Software-Testing.pdf
Software-Testing.pdfSoftware-Testing.pdf
Software-Testing.pdfSalim533277
 
Verifcation and Validation
Verifcation and ValidationVerifcation and Validation
Verifcation and ValidationSaggitariusArrow
 
Dr. Jonathan validation verification.ppt
Dr. Jonathan validation verification.pptDr. Jonathan validation verification.ppt
Dr. Jonathan validation verification.pptPhial
 
Software testing
Software testingSoftware testing
Software testingMahfuz1061
 
Dr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.pptDr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.pptPhial
 
Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Mateti Anilraja
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8Mohammed Romi
 
about how software prototyping helps in SDLC
about how software prototyping helps in SDLCabout how software prototyping helps in SDLC
about how software prototyping helps in SDLCshettyplacement08
 
Quality Assurance with Manual Testing
Quality Assurance with Manual TestingQuality Assurance with Manual Testing
Quality Assurance with Manual TestingEdureka!
 
Software Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, PuneSoftware Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, Punesanjayjadhav8789
 
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineeringمدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software EngineeringAhmed Alageed
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software PrototypingZafar Ayub
 
Software Engineering - Ch17
Software Engineering - Ch17Software Engineering - Ch17
Software Engineering - Ch17Siddharth Ayer
 

Similar to Software engineering testing and types (20)

Ch23
Ch23Ch23
Ch23
 
Software-Testing.pdf
Software-Testing.pdfSoftware-Testing.pdf
Software-Testing.pdf
 
Verifcation and Validation
Verifcation and ValidationVerifcation and Validation
Verifcation and Validation
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Dr. Jonathan validation verification.ppt
Dr. Jonathan validation verification.pptDr. Jonathan validation verification.ppt
Dr. Jonathan validation verification.ppt
 
Ch. 20 software testing
Ch. 20 software testingCh. 20 software testing
Ch. 20 software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Software Verification & Validation
Software Verification & ValidationSoftware Verification & Validation
Software Verification & Validation
 
Dr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.pptDr.Jonathan Software verification validation.ppt
Dr.Jonathan Software verification validation.ppt
 
Sech1920 1200112979886874-3
Sech1920 1200112979886874-3Sech1920 1200112979886874-3
Sech1920 1200112979886874-3
 
Ian Sommerville, Software Engineering, 9th EditionCh 8
Ian Sommerville,  Software Engineering, 9th EditionCh 8Ian Sommerville,  Software Engineering, 9th EditionCh 8
Ian Sommerville, Software Engineering, 9th EditionCh 8
 
about how software prototyping helps in SDLC
about how software prototyping helps in SDLCabout how software prototyping helps in SDLC
about how software prototyping helps in SDLC
 
Quality Assurance with Manual Testing
Quality Assurance with Manual TestingQuality Assurance with Manual Testing
Quality Assurance with Manual Testing
 
Evolution-2.ppt
Evolution-2.pptEvolution-2.ppt
Evolution-2.ppt
 
Software Processes
Software ProcessesSoftware Processes
Software Processes
 
Software Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, PuneSoftware Testing Tutorials - MindScripts Technologies, Pune
Software Testing Tutorials - MindScripts Technologies, Pune
 
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineeringمدخل الى هندسة البرمجيات _ Introduction to Software Engineering
مدخل الى هندسة البرمجيات _ Introduction to Software Engineering
 
Software Prototyping
Software PrototypingSoftware Prototyping
Software Prototyping
 
Software Engineering - Ch17
Software Engineering - Ch17Software Engineering - Ch17
Software Engineering - Ch17
 
sftware cst est
sftware cst estsftware cst est
sftware cst est
 

Recently uploaded

Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfSumit Tiwari
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxmanuelaromero2013
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...JhezDiaz1
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdfssuser54595a
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxOH TEIK BIN
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for BeginnersSabitha Banu
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.arsicmarija21
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17Celine George
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfUjwalaBharambe
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Educationpboyjonauth
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Jisc
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxRaymartEstabillo3
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Celine George
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️9953056974 Low Rate Call Girls In Saket, Delhi NCR
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxJiesonDelaCerna
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPCeline George
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...jaredbarbolino94
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfMr Bounab Samir
 

Recently uploaded (20)

Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdfEnzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
Enzyme, Pharmaceutical Aids, Miscellaneous Last Part of Chapter no 5th.pdf
 
How to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptxHow to Make a Pirate ship Primary Education.pptx
How to Make a Pirate ship Primary Education.pptx
 
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
ENGLISH 7_Q4_LESSON 2_ Employing a Variety of Strategies for Effective Interp...
 
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
18-04-UA_REPORT_MEDIALITERAСY_INDEX-DM_23-1-final-eng.pdf
 
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
Model Call Girl in Tilak Nagar Delhi reach out to us at 🔝9953056974🔝
 
Solving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptxSolving Puzzles Benefits Everyone (English).pptx
Solving Puzzles Benefits Everyone (English).pptx
 
Full Stack Web Development Course for Beginners
Full Stack Web Development Course  for BeginnersFull Stack Web Development Course  for Beginners
Full Stack Web Development Course for Beginners
 
AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.AmericanHighSchoolsprezentacijaoskolama.
AmericanHighSchoolsprezentacijaoskolama.
 
How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17How to Configure Email Server in Odoo 17
How to Configure Email Server in Odoo 17
 
OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...OS-operating systems- ch04 (Threads) ...
OS-operating systems- ch04 (Threads) ...
 
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdfFraming an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
Framing an Appropriate Research Question 6b9b26d93da94caf993c038d9efcdedb.pdf
 
Introduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher EducationIntroduction to ArtificiaI Intelligence in Higher Education
Introduction to ArtificiaI Intelligence in Higher Education
 
Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...Procuring digital preservation CAN be quick and painless with our new dynamic...
Procuring digital preservation CAN be quick and painless with our new dynamic...
 
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptxEPANDING THE CONTENT OF AN OUTLINE using notes.pptx
EPANDING THE CONTENT OF AN OUTLINE using notes.pptx
 
Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17Difference Between Search & Browse Methods in Odoo 17
Difference Between Search & Browse Methods in Odoo 17
 
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
call girls in Kamla Market (DELHI) 🔝 >༒9953330565🔝 genuine Escort Service 🔝✔️✔️
 
CELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptxCELL CYCLE Division Science 8 quarter IV.pptx
CELL CYCLE Division Science 8 quarter IV.pptx
 
What is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERPWhat is Model Inheritance in Odoo 17 ERP
What is Model Inheritance in Odoo 17 ERP
 
Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...Historical philosophical, theoretical, and legal foundations of special and i...
Historical philosophical, theoretical, and legal foundations of special and i...
 
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdfLike-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
Like-prefer-love -hate+verb+ing & silent letters & citizenship text.pdf
 

Software engineering testing and types

  • 1. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 1 Verification and Validation  Assuring that a software system meets a user's needs
  • 2. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 2 Objectives  To introduce software verification and validation  To describe the stages of the testing process  To explain the importance of test planning  To describe various complementary testing strategies
  • 3. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 3 Topics covered  The testing process  Test planning  Testing strategies
  • 4. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 4  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 Verification vs validation
  • 5. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 5  Is a whole life-cycle process - V & V must be applied at each stage in the software process.  Has two principal objectives • The discovery of defects in a system • The assessment of whether or not the system is usable in an operational situation. The V & V process
  • 6. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 6  Dynamic V & V Concerned with exercising and observing product behaviour (testing)  Static verification Concerned with analysis of the static system representation to discover problems Dynamic and static verification
  • 7. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 7 Static and dynamic V&V Formal specification High-level design Requirements specification Detailed design Program Prototype Dynamic validation Static verification
  • 8. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 8  Can reveal the presence of errors NOT their absence  A successful test is a test which discovers one or more errors  Only validation technique for non-functional requirements  Should be used in conjunction with static verification Program testing
  • 9. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 9  Statistical testing • tests designed to reflect the frequence of user inputs. Used for reliability estimation. • Covered in Chapter 18 - Software reliability.  Defect testing • Tests designed to discover system defects. • A successful defect test is one which reveals the presence of defects in a system. • Covered in Chapter 23 - Defect testing Types of testing
  • 10. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 10  Defect testing and debugging are distinct processes  Defect testing is concerned with confirming the presence of errors  Debugging is concerned with locating and repairing these errors  Debugging involves formulating a hypothesis about program behaviour then testing these hypotheses to find the system error Testing and debugging
  • 11. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 11 The debugging process Locate error Design error repair Repair error Re-test program
  • 12. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 12  Unit testing • testing of individual components  Module testing • testing of collections of dependent components  Sub-system testing • testing collections of modules integrated into sub-systems  System testing • testing the complete system prior to delivery  Acceptance testing • testing by users to check that the system satisfies requirements. Sometimes called alpha testing Testing stages
  • 13. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 13 The testing process Sub-system testing Module testing Unit testing System testing Acceptance testing Component testing Integration testing User testing
  • 14. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 14 Object-oriented system testing  Less closely coupled systems. Objects are not necessarily integrated into sub-systems  Cluster testing. Test a group of cooperating objects  Thread testing. Test a processing thread as it weaves from object to object. Discussed later in real-time system testing
  • 15. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 15  Describe major phases of the testing process  Describe tracability of tests to requirements  Estimate overall schedule and resource allocation  Describe relationship with other project plans  Describe recording method for test results Test planning and scheduling
  • 16. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 16 The test plan  The testing process  Requirements traceability  Tested items  Testing schedule  Test recording procedures  Hardware and software requirements  Constraints
  • 17. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 17 The V-model of development Requirements specification System specification System design Detailed design Module and unit code and tess Sub-system integration test plan System integration test plan Acceptance test plan Service Acceptance test System integration test Sub-system integration test
  • 18. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 18 Testing strategies  Tetsing strategies are ways of approaching the testing process  Different strategies may be applied at different stages of the testing process  Strategies covered • Top-down testing • Bottom-up testing • Thread testing • Stress testing • Back-to-back testing
  • 19. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 19 Incremental testing T3 T2 T1 T4 T5 A B C D T2 T1 T3 T4 A B C T1 T2 T3 A B Test sequence 1 Test sequence 2 Test sequence 3
  • 20. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 20 Top-down testing Level 2Level 2Level 2Level 2 Level 1 Level 1 Testing sequence Level 2 stubs Level 3 stubs . . .
  • 21. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 21 Top-down testing  Start with the high-levels of a system and work your way downwards  Testing strategy which is used in conjunction with top-down development  Finds architectural errors  May need system infrastructure before any testing is possible  May be difficult to develop program stubs
  • 22. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 22 Bottom-up testing Level NLevel NLevel NLevel NLevel N Level N–1 Level N–1Level N–1 Testing sequence Test drivers Test drivers
  • 23. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 23 Bottom-up testing  Necessary for critical infrastructure components  Start with the lower levels of the system and work upward  Needs test drivers to be implemented  Does not find major design problems until late in the process  Appropriate for object-oriented systems
  • 24. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 24 Thread testing  Suitable for real-time and object-oriented systems  Based on testing an operation which involves a sequence of processing steps which thread their way through the system  Start with single event threads then go on to multiple event threads  Complete thread testing is impossible because of the large number of event combinations
  • 25. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 25 Process interactions P2 P1 P5 P4 I1 (P2) O2 (P4) O1 (P5) I2 (P1) I1 (P1) I3 (P1) P3I1 (P3) O1 (P4)
  • 26. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 26 Thread testing P2P3 P4 O1 (P4) I1 (P3) P2P1 P5 O1 (P5) I2 (P1) I1 (P1) I3 (P1)
  • 27. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 27 Multiple-thread testing P2P1 P5 P4 I1 (P2) O2 (P4) O1 (P5)I2 (P1) I1 (P1) I3 (P1)
  • 28. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 28  Exercises the system beyond its maximum design load. Stressing the system often causes defects to come to light  Stressing the system test faulure behaviour.. Systems should not fail catastrophically. Stress testing checks for unacceptable loss of service or data  Particularly relevant to distributed systems which can exhibit severe degradation as a network becomes overloaded Stress testing
  • 29. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 29 Back-to-back testing  Present the same tests to different versions of the system and compare outputs. Differing outputs imply potential problems  Reduces the costs of examining test results. Automatic comparison of outputs.  Possible twhen a prototype is available or with regression testing of a new system version
  • 30. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 30 Back-to-back testing Test data Program version A Program version B Results comparator Difference report
  • 31. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 31 Key points  Verification and validation are not the same thing  Testing is used to establish the rpesence of defects and to show fitness for purpose  Testing activities include unit testing, module testing, sub-system testing, integration testing and acceptance testing  Object classes should be testing in O-O systems
  • 32. ©Ian Sommerville 1995 Software Engineering, 5th edition. Chapter 22 Slide 32 Key points  Testing should be scheduled as part of the planning process. Adequate resources must be made available  Test plans should be drawn up to guide the testing process  Testing strategies include top-down testing, bottom-up testing, stress testing, thread testing and back-to-back testing