SlideShare a Scribd company logo
1 of 40
Verification and Validation
What’s the difference?
• Verification
– Are you building the product right?
– Software must conform to its specification
• Validation
– Are you building the right product?
– Software should do what the user really
requires
Verification and Validation Process
• Must applied at each stage of the software
development process to be effective
• Objectives
– Discovery of system defects
– Assessment of system usability in an
operational situation
Static and Dynamic Verification
• Software inspections (static)
– Concerned with analysis of static system
representations to discover errors
– May be supplemented by tool-based analysis of
documents and program code
• Software testing (dynamic)
– Concerned with exercising product using test
data and observing behavior
Program Testing
• Can only reveal the presence of errors,
cannot prove their absence
• A successful test discovers 1 or more errors
• The only validation technique that should
be used for non-functional (or performance)
requirements
• Should to used in conjunction with static
verification to ensure full product coverage
Types of Testing
• Defect testing
– Tests designed to discover system defects
– A successful defect test reveals the presence of
defects in the system
• Statistical testing
– Tests designed to reflect the frequency of user
inputs
– Used for reliability estimation
Verification and Validation Goals
• Establish confidence that software is fit for
its intended purpose
• The software may or may not have all
defects removed by the process
• The intended use of the product will
determine the degree of confidence in
product needed
Confidence Parameters
• Software function
– How critical is the software to the organization?
• User expectations
– Certain kinds of software have low user
expectations
• Marketing environment
– getting a product to market early might be more
important than finding all defects
Testing and Debugging
• These are two distinct processes
• Verification and validation is concerned with
establishing the existence of defects in a program
• Debugging is concerned with locating and
repairing these defects
• Debugging involves formulating a hypothesis
about program behavior and then testing this
hypothesis to find the error
Planning
• Careful planning is required to get the most out of
the testing and inspection process
• Planning should start early in the development
process
• The plan should identify the balance between
static verification and testing
• Test planning must define standards for the testing
process, not just describe product tests
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
Software Test Plan Components
• Testing process
• Requirements traceability
• Items tested
• Testing schedule
• Test recording procedures
• Testing HW and SW requirements
• Testing constraints
Software Inspections
• People examine a source code
representation to discover anomalies and
defects
• Does not require systems execution so they
may occur before implementation
• May be applied to any system
representation (document, model, test data,
code, etc.)
Inspection Success
• Very effective technique for discovering defects
• It is possible to discover several defects in a single
inspection
• In testing one defect may in fact mask another
• They reuse domain and programming knowledge
(allowing reviewers to help authors avoid making
common errors)
Inspections and Testing
• These are complementary processes
• Inspections can check conformance to
specifications, but not with customer’s real
needs
• Testing must be used to check compliance
with non-functional system characteristics
like performance, usability, etc.
Program Inspections
• Formalizes the approach to document
reviews
• Focus is on defect detection, not defect
correction
• Defects uncovered may be logic errors,
coding errors, or non-compliance with
development standards
Inspection Preconditions
• A precise specification must be available
• Team members must be familiar with organization
standards
• All representations must be syntactically correct
• An error checklist must be prepare in advance
• Management must buy into the the fact the inspections will
increase the early development costs
• Inspections cannot be used to evaluate staff performance
Inspection Procedure
• System overview presented to inspection team
• Code and associated documents are distributed to
team in advance
• Errors discovered during the inspection are
recorded
• Product modifications are made to repair defects
• Re-inspection may or may not be required
Inspection Teams
• Have at least 4 team members
– product author
– inspector (looks for errors, omissions, and
inconsistencies)
– reader (reads the code to the team)
– moderator (chairs meeting and records errors
uncovered)
Inspection Checklists
• Checklists of common errors should be used
to drive the inspection
• Error checklist should be language
dependent
• The weaker the type checking in the
language, the larger the checklist is likely to
become
Inspection Fault Classes
• Data faults (e.g. array bounds)
• Control faults (e.g. loop termination)
• Input/output faults (e.g. all data read)
• Interface faults (e.g. parameter assignment)
• Storage management faults (e.g. memory leaks)
• Exception management faults (e.g. all error
conditions trapped)
Inspection Rate
• 500 statements per hour during overview
• 125 statements per hour during individual
preparation
• 90-125 statements per hour can be inspected
by a team
• Including preparation time, each 100 lines
of code costs one person day (if a 4 person
team is used)
Automated Static Analysis
• Performed by software tools that process
source code listing
• Can be used to flag potentially erroneous
conditions for the inspection team to
examine
• They should be used to supplement the
reviews done by inspectors
Static Analysis Checks
• Data faults (e.g. variables not initialized)
• Control faults (e.g. unreachable code)
• Input/output faults (e.g. duplicate variables output)
• Interface faults (e.g. parameter type mismatches)
• Storage management faults (e.g. pointer
arithmetic)
Static Analysis Stages - part 1
• Control flow analysis
– checks loops for multiple entry points or exits
– find unreachable code
• Data use analysis
– finds initialized variables
– variable declared and never used
• Interface analysis
– check consistency of function prototypes and instances
Static Analysis Stages - part 2
• Information flow analysis
– examines output variable dependencies
– highlights places for inspectors to look at closely
• Path analysis
– identifies paths through the program determines order
of statements executed on each path
– highlights places for inspectors to look at closely
Defect Testing
• Component Testing
– usually responsibility of component developer
– test derived from developer’s experiences
• Integration Testing
– responsibility of independent test team
– tests based on system specification
Testing Priorities
• Exhaustive testing only way to show program is
defect free
• Exhaustive testing is not possible
• Tests must exercise system capabilities, not its
components
• Testing old capabilities is more important than
testing new capabilities
• Testing typical situations is more important than
testing boundary value cases
The defect testing process
Design test
cases
Prepare test
data
Runprogram
withtest data
Compare results
totest cases
Test
cases
Test
data
Test
results
Test
reports
Testing Approaches
• Covered in fairly well in CIS 375
• Functional testing
– black box techniques
• Structural testing
– white box techniques
• Integration testing
– incremental black box techniques
• Object-oriented testing
– cluster or thread testing techniques
Interface Testing
• Needed whenever modules or subsystems
are combined to create a larger system
• Goal is to identify faults due to interface
errors or to invalid interface assumptions
• Particularly important in object-oriented
systems development
Interface Types
• Parameter interfaces
– data passed normally between components
• Shared memory interfaces
– block of memory shared between components
• Procedural interfaces
– set of procedures encapsulated in a package or sub-
system
• Message passing interfaces
– sub-systems request services from each other
Interface Errors
• Interface misuse
– parameter order, number, or types incorrect
• Interface misunderstanding
– call component makes incorrect assumptions
about component being called
• Timing errors
– race conditions and data synchronization errors
Interface Testing Guidelines
• Design tests so actual parameters passed are at
extreme ends of formal parameter ranges
• Test pointer variables with null values
• Design tests that cause components to fail
• Use stress testing in message passing systems
• In shared memory systems, vary the order in
which components are activated
Testing Workbenches
• Provide a range of tools to reduce the time
required and the total testing costs
• Usually implemented as open systems since
testing needs tend to be organization
specific
• Difficult to integrate with closed design and
analysis work benches
A testing workbench
Dynamic
analyser
Program
being tested
Test
results
Test
predictions
File
comparator
Execution
report
Simulator
Source
code
Test
manager Test data Oracle
Test data
generator
Specification
Report
generator
Test results
report
Testing Workbench Adaptation
• Scripts may be developed for user interface
simulators and patterns for test data
generators
• Test outputs may need to be developed for
comparison with actual outputs
• Special purpose file comparison programs
may also be useful
System Testing
• Testing of critical systems must often rely
on simulators for sensor and activator data
(rather than endanger people or profit)
• Test for normal operation should be done
using a safely obtained operational profile
• Tests for exceptional conditions will need to
involve simulators
Arithmetic Errors
• Use language exception handling mechanisms to
trap errors
• Use explicit error checks for all identified errors
• Avoid error-prone arithmetic operations when
possible
• Never use floating-point numbers
• Shut down system (using graceful degradation) if
exceptions are detected
Algorithmic Errors
• Harder to detect than arithmetic errors
• Always err on the side of safety
• Use reasonableness checks on all outputs
that can affect people or profit
• Set delivery limits for specified time
periods, if application domain calls for them
• Have system request operator intervention
any time a judgement call must be made

More Related Content

What's hot

What's hot (17)

ISTQB Test level, Test type
ISTQB Test level, Test typeISTQB Test level, Test type
ISTQB Test level, Test type
 
Test process
Test processTest process
Test process
 
Testing fundamentals
Testing fundamentalsTesting fundamentals
Testing fundamentals
 
Software Testing Strategies
Software Testing StrategiesSoftware Testing Strategies
Software Testing Strategies
 
debugging and testing
debugging and testingdebugging and testing
debugging and testing
 
Testing
TestingTesting
Testing
 
6. oose testing
6. oose testing6. oose testing
6. oose testing
 
Verification and validation process in software testing
Verification and validation process in software testingVerification and validation process in software testing
Verification and validation process in software testing
 
Software testing
Software testingSoftware testing
Software testing
 
Static Testing
Static TestingStatic Testing
Static Testing
 
Chapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESSChapter 3 SOFTWARE TESTING PROCESS
Chapter 3 SOFTWARE TESTING PROCESS
 
Software Testing Techniques: An Overview
Software Testing Techniques: An Overview Software Testing Techniques: An Overview
Software Testing Techniques: An Overview
 
Test case design
Test case designTest case design
Test case design
 
Testing
TestingTesting
Testing
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Software requirement verification & validation
Software requirement verification & validationSoftware requirement verification & validation
Software requirement verification & validation
 
Software Verification and Validation
Software Verification and Validation Software Verification and Validation
Software Verification and Validation
 

Similar to Verifcation &validation

SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxMinsasWorld
 
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
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assuranceAman Adhikari
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...ShudipPal
 
Pa chapter08-testing integrating-the_programs-cs_390
Pa chapter08-testing integrating-the_programs-cs_390Pa chapter08-testing integrating-the_programs-cs_390
Pa chapter08-testing integrating-the_programs-cs_390Rana Tallal
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testingsankalpkumarsahoo174
 
Mca se chapter_07_software_validation
Mca se chapter_07_software_validationMca se chapter_07_software_validation
Mca se chapter_07_software_validationAman Adhikari
 
Sv&V Rim
Sv&V RimSv&V Rim
Sv&V Rimwachakhan
 
Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19koolkampus
 
Fundamentals of software part 1
Fundamentals of software part 1Fundamentals of software part 1
Fundamentals of software part 1Siddharth Sharma
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Jana Gierloff
 

Similar to Verifcation &validation (20)

SENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptxSENG202-v-and-v-modeling_121810.pptx
SENG202-v-and-v-modeling_121810.pptx
 
verification and validation
verification and validationverification and validation
verification and validation
 
SECh1920
SECh1920SECh1920
SECh1920
 
Softwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan SahadviSoftwarequalityassurance with Abu ul hassan Sahadvi
Softwarequalityassurance with Abu ul hassan Sahadvi
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
c
cc
c
 
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
Software Engineering (Software Quality Assurance & Testing: Supplementary Mat...
 
Software testing
Software testingSoftware testing
Software testing
 
Pa chapter08-testing integrating-the_programs-cs_390
Pa chapter08-testing integrating-the_programs-cs_390Pa chapter08-testing integrating-the_programs-cs_390
Pa chapter08-testing integrating-the_programs-cs_390
 
Software Testing PPT | Software All Testing
Software Testing PPT | Software All TestingSoftware Testing PPT | Software All Testing
Software Testing PPT | Software All Testing
 
Mca se chapter_07_software_validation
Mca se chapter_07_software_validationMca se chapter_07_software_validation
Mca se chapter_07_software_validation
 
testing.pptx
testing.pptxtesting.pptx
testing.pptx
 
Sv&V Rim
Sv&V RimSv&V Rim
Sv&V Rim
 
Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19Verification and Validation in Software Engineering SE19
Verification and Validation in Software Engineering SE19
 
Software Quality
Software Quality Software Quality
Software Quality
 
Software-Testing-ppt.pptx
Software-Testing-ppt.pptxSoftware-Testing-ppt.pptx
Software-Testing-ppt.pptx
 
Fundamentals of software part 1
Fundamentals of software part 1Fundamentals of software part 1
Fundamentals of software part 1
 
Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)Testing Throughout the Software Life Cycle (2013)
Testing Throughout the Software Life Cycle (2013)
 
Software_Testing_ppt.pptx
Software_Testing_ppt.pptxSoftware_Testing_ppt.pptx
Software_Testing_ppt.pptx
 
Lec25
Lec25Lec25
Lec25
 

More from ssusere50573

15 digital security issues
 15 digital security issues 15 digital security issues
15 digital security issuesssusere50573
 
internet, browser & searchengine
 internet, browser & searchengine internet, browser & searchengine
internet, browser & searchenginessusere50573
 
introduction of ict
introduction of ict introduction of ict
introduction of ict ssusere50573
 
Contextual framework of emotion
Contextual framework of emotionContextual framework of emotion
Contextual framework of emotionssusere50573
 
learning psychology
 learning psychology learning psychology
learning psychologyssusere50573
 
sensation and perception
 sensation and perception sensation and perception
sensation and perceptionssusere50573
 
biological basis of behavior
biological basis of behaviorbiological basis of behavior
biological basis of behaviorssusere50573
 
understanding psychology
understanding psychologyunderstanding psychology
understanding psychologyssusere50573
 
Software artitchteure
Software artitchteureSoftware artitchteure
Software artitchteuressusere50573
 
How to write research proposal
How to write research proposalHow to write research proposal
How to write research proposalssusere50573
 
requirnment Managments problems
requirnment Managments problemsrequirnment Managments problems
requirnment Managments problemsssusere50573
 

More from ssusere50573 (20)

15 digital security issues
 15 digital security issues 15 digital security issues
15 digital security issues
 
internet, browser & searchengine
 internet, browser & searchengine internet, browser & searchengine
internet, browser & searchengine
 
networks ICT
 networks ICT networks ICT
networks ICT
 
programs and apps
programs and appsprograms and apps
programs and apps
 
operating system
operating systemoperating system
operating system
 
Input output
Input outputInput output
Input output
 
introduction of ict
introduction of ict introduction of ict
introduction of ict
 
Improving memory
Improving memoryImproving memory
Improving memory
 
Creativity
CreativityCreativity
Creativity
 
Contextual framework of emotion
Contextual framework of emotionContextual framework of emotion
Contextual framework of emotion
 
learning psychology
 learning psychology learning psychology
learning psychology
 
sensation and perception
 sensation and perception sensation and perception
sensation and perception
 
biological basis of behavior
biological basis of behaviorbiological basis of behavior
biological basis of behavior
 
understanding psychology
understanding psychologyunderstanding psychology
understanding psychology
 
Software artitchteure
Software artitchteureSoftware artitchteure
Software artitchteure
 
Software testing
Software testingSoftware testing
Software testing
 
How to write research proposal
How to write research proposalHow to write research proposal
How to write research proposal
 
Microsoft word
Microsoft wordMicrosoft word
Microsoft word
 
Electronic waste
Electronic waste Electronic waste
Electronic waste
 
requirnment Managments problems
requirnment Managments problemsrequirnment Managments problems
requirnment Managments problems
 

Recently uploaded

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 

Recently uploaded (20)

Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...Call Girls In Mukherjee Nagar 📱  9999965857  🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
Call Girls In Mukherjee Nagar 📱 9999965857 🤩 Delhi 🫦 HOT AND SEXY VVIP 🍎 SE...
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS LiveVip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
Vip Call Girls Noida ➡️ Delhi ➡️ 9999965857 No Advance 24HRS Live
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 

Verifcation &validation

  • 2. What’s the difference? • Verification – Are you building the product right? – Software must conform to its specification • Validation – Are you building the right product? – Software should do what the user really requires
  • 3. Verification and Validation Process • Must applied at each stage of the software development process to be effective • Objectives – Discovery of system defects – Assessment of system usability in an operational situation
  • 4. Static and Dynamic Verification • Software inspections (static) – Concerned with analysis of static system representations to discover errors – May be supplemented by tool-based analysis of documents and program code • Software testing (dynamic) – Concerned with exercising product using test data and observing behavior
  • 5. Program Testing • Can only reveal the presence of errors, cannot prove their absence • A successful test discovers 1 or more errors • The only validation technique that should be used for non-functional (or performance) requirements • Should to used in conjunction with static verification to ensure full product coverage
  • 6. Types of Testing • Defect testing – Tests designed to discover system defects – A successful defect test reveals the presence of defects in the system • Statistical testing – Tests designed to reflect the frequency of user inputs – Used for reliability estimation
  • 7. Verification and Validation Goals • Establish confidence that software is fit for its intended purpose • The software may or may not have all defects removed by the process • The intended use of the product will determine the degree of confidence in product needed
  • 8. Confidence Parameters • Software function – How critical is the software to the organization? • User expectations – Certain kinds of software have low user expectations • Marketing environment – getting a product to market early might be more important than finding all defects
  • 9. Testing and Debugging • These are two distinct processes • Verification and validation is concerned with establishing the existence of defects in a program • Debugging is concerned with locating and repairing these defects • Debugging involves formulating a hypothesis about program behavior and then testing this hypothesis to find the error
  • 10. Planning • Careful planning is required to get the most out of the testing and inspection process • Planning should start early in the development process • The plan should identify the balance between static verification and testing • Test planning must define standards for the testing process, not just describe product tests
  • 11. 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
  • 12. Software Test Plan Components • Testing process • Requirements traceability • Items tested • Testing schedule • Test recording procedures • Testing HW and SW requirements • Testing constraints
  • 13. Software Inspections • People examine a source code representation to discover anomalies and defects • Does not require systems execution so they may occur before implementation • May be applied to any system representation (document, model, test data, code, etc.)
  • 14. Inspection Success • Very effective technique for discovering defects • It is possible to discover several defects in a single inspection • In testing one defect may in fact mask another • They reuse domain and programming knowledge (allowing reviewers to help authors avoid making common errors)
  • 15. Inspections and Testing • These are complementary processes • Inspections can check conformance to specifications, but not with customer’s real needs • Testing must be used to check compliance with non-functional system characteristics like performance, usability, etc.
  • 16. Program Inspections • Formalizes the approach to document reviews • Focus is on defect detection, not defect correction • Defects uncovered may be logic errors, coding errors, or non-compliance with development standards
  • 17. Inspection Preconditions • A precise specification must be available • Team members must be familiar with organization standards • All representations must be syntactically correct • An error checklist must be prepare in advance • Management must buy into the the fact the inspections will increase the early development costs • Inspections cannot be used to evaluate staff performance
  • 18. Inspection Procedure • System overview presented to inspection team • Code and associated documents are distributed to team in advance • Errors discovered during the inspection are recorded • Product modifications are made to repair defects • Re-inspection may or may not be required
  • 19. Inspection Teams • Have at least 4 team members – product author – inspector (looks for errors, omissions, and inconsistencies) – reader (reads the code to the team) – moderator (chairs meeting and records errors uncovered)
  • 20. Inspection Checklists • Checklists of common errors should be used to drive the inspection • Error checklist should be language dependent • The weaker the type checking in the language, the larger the checklist is likely to become
  • 21. Inspection Fault Classes • Data faults (e.g. array bounds) • Control faults (e.g. loop termination) • Input/output faults (e.g. all data read) • Interface faults (e.g. parameter assignment) • Storage management faults (e.g. memory leaks) • Exception management faults (e.g. all error conditions trapped)
  • 22. Inspection Rate • 500 statements per hour during overview • 125 statements per hour during individual preparation • 90-125 statements per hour can be inspected by a team • Including preparation time, each 100 lines of code costs one person day (if a 4 person team is used)
  • 23. Automated Static Analysis • Performed by software tools that process source code listing • Can be used to flag potentially erroneous conditions for the inspection team to examine • They should be used to supplement the reviews done by inspectors
  • 24. Static Analysis Checks • Data faults (e.g. variables not initialized) • Control faults (e.g. unreachable code) • Input/output faults (e.g. duplicate variables output) • Interface faults (e.g. parameter type mismatches) • Storage management faults (e.g. pointer arithmetic)
  • 25. Static Analysis Stages - part 1 • Control flow analysis – checks loops for multiple entry points or exits – find unreachable code • Data use analysis – finds initialized variables – variable declared and never used • Interface analysis – check consistency of function prototypes and instances
  • 26. Static Analysis Stages - part 2 • Information flow analysis – examines output variable dependencies – highlights places for inspectors to look at closely • Path analysis – identifies paths through the program determines order of statements executed on each path – highlights places for inspectors to look at closely
  • 27. Defect Testing • Component Testing – usually responsibility of component developer – test derived from developer’s experiences • Integration Testing – responsibility of independent test team – tests based on system specification
  • 28. Testing Priorities • Exhaustive testing only way to show program is defect free • Exhaustive testing is not possible • Tests must exercise system capabilities, not its components • Testing old capabilities is more important than testing new capabilities • Testing typical situations is more important than testing boundary value cases
  • 29. The defect testing process Design test cases Prepare test data Runprogram withtest data Compare results totest cases Test cases Test data Test results Test reports
  • 30. Testing Approaches • Covered in fairly well in CIS 375 • Functional testing – black box techniques • Structural testing – white box techniques • Integration testing – incremental black box techniques • Object-oriented testing – cluster or thread testing techniques
  • 31. Interface Testing • Needed whenever modules or subsystems are combined to create a larger system • Goal is to identify faults due to interface errors or to invalid interface assumptions • Particularly important in object-oriented systems development
  • 32. Interface Types • Parameter interfaces – data passed normally between components • Shared memory interfaces – block of memory shared between components • Procedural interfaces – set of procedures encapsulated in a package or sub- system • Message passing interfaces – sub-systems request services from each other
  • 33. Interface Errors • Interface misuse – parameter order, number, or types incorrect • Interface misunderstanding – call component makes incorrect assumptions about component being called • Timing errors – race conditions and data synchronization errors
  • 34. Interface Testing Guidelines • Design tests so actual parameters passed are at extreme ends of formal parameter ranges • Test pointer variables with null values • Design tests that cause components to fail • Use stress testing in message passing systems • In shared memory systems, vary the order in which components are activated
  • 35. Testing Workbenches • Provide a range of tools to reduce the time required and the total testing costs • Usually implemented as open systems since testing needs tend to be organization specific • Difficult to integrate with closed design and analysis work benches
  • 36. A testing workbench Dynamic analyser Program being tested Test results Test predictions File comparator Execution report Simulator Source code Test manager Test data Oracle Test data generator Specification Report generator Test results report
  • 37. Testing Workbench Adaptation • Scripts may be developed for user interface simulators and patterns for test data generators • Test outputs may need to be developed for comparison with actual outputs • Special purpose file comparison programs may also be useful
  • 38. System Testing • Testing of critical systems must often rely on simulators for sensor and activator data (rather than endanger people or profit) • Test for normal operation should be done using a safely obtained operational profile • Tests for exceptional conditions will need to involve simulators
  • 39. Arithmetic Errors • Use language exception handling mechanisms to trap errors • Use explicit error checks for all identified errors • Avoid error-prone arithmetic operations when possible • Never use floating-point numbers • Shut down system (using graceful degradation) if exceptions are detected
  • 40. Algorithmic Errors • Harder to detect than arithmetic errors • Always err on the side of safety • Use reasonableness checks on all outputs that can affect people or profit • Set delivery limits for specified time periods, if application domain calls for them • Have system request operator intervention any time a judgement call must be made