SlideShare a Scribd company logo
2
Most read
3
Most read
9
Most read
Verification and Validation

                 Dinesh Pasi
                 Sybscit
                 Roll no 37
Verification and Validation
The program being developed must be checked to ensure
 that it meets its specification and delivers the functionality
 expected by the people paying for the software.

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 Goals
• Establish confidence that the software system is ‘fit
  for its intended purpose’.

• Level of required confidence depends upon
System purpose
User expectations
Marketing environment

• deciding how much effort should be spent on the V & V
  process.
Static & Dynamic Verification and Validation

                                Static
                             verification




Requirements    High-level      Formal       Detailed
                             specification              Program
specification    design                       design



                                                        Dynamic
  Prototype
                                                        validation
Software Inspection(Static)-
• analyse and check the requirements document,
  design diagrams and the program source code.
• You can use inspections at all stages of the process.
Software Testing(Dynamic)-
• involves running an implementation of the software
  with test data.
• You examine the outputs of the software and its
  operational behavior to check that it is performing
  as required.
TYPES OF TESTING
Defect Testing-
 Designed to discover system defects.
 The goal of defect testing is to find inconsistencies between
  a program and its specification.
Validation testing –
 To show that the software is what the customer wants—
  that it meets its requirements.
 Statistical testing(part of validation testing)
 The specification for each increment is analyzed to define a
  set of inputs that cause the software to change it’s
  behavior
Defect Testing and Debugging

Defect testing and debugging are distinct process.

Defect Testing Verification and validation is
 concerned with establishing the existence of
 defects in a program.

Debugging is concerned with locating and repairing
 these errors.
DEBUGGING PROCESS




• Skilled debuggers use their knowledge for type of defect, the output
  pattern, the programming language & process to locate the defect.
• After a defect in the program has been discovered, you have to
  correct it and revalidate the system.
• Regression testing is used to check that the changes made to a
  program have not introduced new faults.
• Test case- set of condition is given under which program tested.
Planning verification and validation
 Verification and Validation is an expensive process
 Careful planning is needed to get the most out of
  inspections and testing and to control the costs of the
  verification and validation process.
  The software development process model (V model)
  Requir ements              System                      System                   Detailed
  specification            specification                 design                    design



                                             System                 Sub-system                   Module and
              Acceptance
                                           integration              integration                   unit code
               test plan
                                            test plan                test plan                    and tess



                           Acceptance                    System                 Sub-system
    Service
                              test                   integration test         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
• Software inspection is a static V & V process in which a
  software system is reviewed to find errors and anomalies.

• Inspections not require execution of a system so may be
  used before implementation.

• They may be applied to any representation of the system
  (requirements, design, configuration data, test data, etc.).

• They have been shown to be an effective technique for
  discovering program errors.
Program Inspection Process
• Program inspections are reviews whose objective is
  program defect detection
• The program inspection is a formal process that is
  carried out by a team of at least four people.
• 4 team members
  – product author(fixing defect)
  – inspector (looks for errors, omissions, and
    inconsistencies)
  – reader (reads the code at an inspection meeting.)
  – moderator (Manages the process and facilitates the
    inspection)
Inspection process




•   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
Automated static analysis

• Static analyzers are software tools that scan the
  source text of a program and detect possible faults
  and anomalies.

• They parse the program text and try to discover
  potentially erroneous conditions and bring these to
  the attention of the V & V team.
Stages of static analysis
Control flow analysis
 Checks for loops with multiple exit or entry points,
  finds unreachable code, etc.
Data use analysis
 Detects uninitialized variables, variables written
  twice
 variables which are declared but never used
Interface analysis
• Checks the consistency of routine and procedure
  declarations and their use.
Stages of static analysis

Information flow analysis.
• Identifies the dependencies of output variables.
  Does not detect anomalies itself but highlights
  information for code inspection or review.

Path analysis
• Identifies paths through the program and sets out
  the statements executed in that path.
Use of static analysis

 C does not have strict type rules, and the detect less
  errors during compilation the static analysis tool
  can automatically discover some of the resulting
  program faults.
 Less cost-effective for languages like Java that have
  strong type checking and can therefore detect many
  errors during compilation.
Verification and formal methods
• Formal methods can be used when a mathematical
  specification of the system is produced.

• They are the ultimate static verification technique.

• They involve detailed mathematical analysis of the
  specification and may develop formal arguments
  that a program conforms to its mathematical
  specification.
software development
 Cleanroom software development is a software
  development philosophy that uses formal methods
  to support rigorous software inspection.

• The objective of this approach to software
  development is zero-defect software.

• The name ‘Cleanroom’ was derived by analogy with
  semiconductor fabrication units where defects are
  avoided by manufacturing in an ultra-clean
  atmosphere.
This software development process is based on:
 Formal specification
• A state transition model used to express the specification.

 Incremental development
 developed and validated separately using the Cleanroom process.

 Structured programming
 Only a limited number of control and data abstraction constructs are
  used.

 Static verification
 The developed software is statically verified using rigorous software
  inspections.

 Statistical testing
 To determine program reliability.
Cleanroom Process Teams For Large Development
 Specification team.
 Responsible for developing and maintaining the system specification.
 Development team
 Responsible for developing and verifying the software.
 The software is NOT executed or even compiled
  during this process.
 Certification team.
 Responsible for developing a set of statistical tests to exercise the
  software after development.
 Reliability growth models used to determine when reliability is
  acceptable
Formal specification and inspections
• The state based model is a system specification and
  the inspection process checks the program against
  this model
• The vast majority of defects are discovered before
  execution and are not introduced into the
  developed software
• Mathematical arguments (not proofs) are used to
  increase confidence in the inspection process.
Cleanroom Process Evaluation

 Use of the Cleanroom approach has generally led to
  software with very few errors.

 Independent assessment shows that the process is
  no more expensive than other approaches.

 The programs produced were of higher quality than
  those developed using traditional techniques.
SHOW IS OVER
NOW YOU MAY RELAX

More Related Content

PDF
Software Engineering : Requirement Analysis & Specification
DOCX
Software quality management lecture notes
PPTX
Introduction to Basics of Python
PDF
Scrum - Agile Methodology
PDF
Software Testing Techniques: An Overview
PDF
Critical path method(cpm)
PPT
HTML Tags
Software Engineering : Requirement Analysis & Specification
Software quality management lecture notes
Introduction to Basics of Python
Scrum - Agile Methodology
Software Testing Techniques: An Overview
Critical path method(cpm)
HTML Tags

What's hot (20)

PPTX
Software testing & Quality Assurance
PPTX
Software quality assurance
PPTX
Software testing ppt
PPT
Basic software-testing-concepts
PPTX
Black box software testing
PPTX
System testing
PPTX
Integration testing
PPTX
Software quality assurance
ODP
White box ppt
PPTX
Ch 7 integrating quality activities in the projectlife cycle
PPTX
Software testing.ppt
PPT
Chapter 13 software testing strategies
PDF
Types of software testing
PDF
Software testing methods, levels and types
PPTX
Staffing level estimation
PPT
Test Levels & Techniques
PPT
Software Verification & Validation
PPTX
V model presentation
PPT
Software Process Improvement
PPT
Agile development, software engineering
Software testing & Quality Assurance
Software quality assurance
Software testing ppt
Basic software-testing-concepts
Black box software testing
System testing
Integration testing
Software quality assurance
White box ppt
Ch 7 integrating quality activities in the projectlife cycle
Software testing.ppt
Chapter 13 software testing strategies
Types of software testing
Software testing methods, levels and types
Staffing level estimation
Test Levels & Techniques
Software Verification & Validation
V model presentation
Software Process Improvement
Agile development, software engineering
Ad

Viewers also liked (7)

PPT
Software requirement verification & validation
PPTX
Unit 7 verification & validation
PPT
Product Quality: Metrics, Verification, Validation, Testing
PDF
Verification and validation
PPTX
Verification and Validation with Innoslate
PPTX
Validation and Verification
PPT
Validation and verification
Software requirement verification & validation
Unit 7 verification & validation
Product Quality: Metrics, Verification, Validation, Testing
Verification and validation
Verification and Validation with Innoslate
Validation and Verification
Validation and verification
Ad

Similar to verification and validation (20)

PPT
Software Quality
PPTX
SENG202-v-and-v-modeling_121810.pptx
PPTX
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
PPT
Software testing-and-analysis
PPTX
Object oriented testing
PPS
Mca se chapter_07_software_validation
PDF
Objectorientedtesting 160320132146
PPT
Ch22
PPTX
Software Quality Assurance
PDF
Softwarequalityassurance with Abu ul hassan Sahadvi
PPT
Verification and Validation in Software Engineering SE19
PPT
Sv&V Rim
PPTX
Quality Analyst Training - Gain America
PPT
Software testing lecture 9
PPTX
Software testing
PPT
Software_Verification_and_Validation.ppt
PPTX
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
PPTX
Software verification & validation
PPTX
Software Testing
Software Quality
SENG202-v-and-v-modeling_121810.pptx
S.E Unit 6colorcolorcolorcolorcolorcolor.pptx
Software testing-and-analysis
Object oriented testing
Mca se chapter_07_software_validation
Objectorientedtesting 160320132146
Ch22
Software Quality Assurance
Softwarequalityassurance with Abu ul hassan Sahadvi
Verification and Validation in Software Engineering SE19
Sv&V Rim
Quality Analyst Training - Gain America
Software testing lecture 9
Software testing
Software_Verification_and_Validation.ppt
Lecture 08 (SQE, Testing, PM, RM, ME).pptx
Software verification & validation
Software Testing

Recently uploaded (20)

PPTX
202450812 BayCHI UCSC-SV 20250812 v17.pptx
PDF
RMMM.pdf make it easy to upload and study
PDF
01-Introduction-to-Information-Management.pdf
PDF
Computing-Curriculum for Schools in Ghana
PPTX
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
PDF
Anesthesia in Laparoscopic Surgery in India
PDF
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
PDF
What if we spent less time fighting change, and more time building what’s rig...
PPTX
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
PDF
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
DOC
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
PDF
Weekly quiz Compilation Jan -July 25.pdf
PPTX
Cell Structure & Organelles in detailed.
PDF
STATICS OF THE RIGID BODIES Hibbelers.pdf
PDF
Chinmaya Tiranga quiz Grand Finale.pdf
PDF
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
PPTX
Final Presentation General Medicine 03-08-2024.pptx
PPTX
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
PPTX
Orientation - ARALprogram of Deped to the Parents.pptx
PPTX
school management -TNTEU- B.Ed., Semester II Unit 1.pptx
202450812 BayCHI UCSC-SV 20250812 v17.pptx
RMMM.pdf make it easy to upload and study
01-Introduction-to-Information-Management.pdf
Computing-Curriculum for Schools in Ghana
PPT- ENG7_QUARTER1_LESSON1_WEEK1. IMAGERY -DESCRIPTIONS pptx.pptx
Anesthesia in Laparoscopic Surgery in India
Chapter 2 Heredity, Prenatal Development, and Birth.pdf
What if we spent less time fighting change, and more time building what’s rig...
Tissue processing ( HISTOPATHOLOGICAL TECHNIQUE
grade 11-chemistry_fetena_net_5883.pdf teacher guide for all student
Soft-furnishing-By-Architect-A.F.M.Mohiuddin-Akhand.doc
Weekly quiz Compilation Jan -July 25.pdf
Cell Structure & Organelles in detailed.
STATICS OF THE RIGID BODIES Hibbelers.pdf
Chinmaya Tiranga quiz Grand Finale.pdf
Black Hat USA 2025 - Micro ICS Summit - ICS/OT Threat Landscape
Final Presentation General Medicine 03-08-2024.pptx
Radiologic_Anatomy_of_the_Brachial_plexus [final].pptx
Orientation - ARALprogram of Deped to the Parents.pptx
school management -TNTEU- B.Ed., Semester II Unit 1.pptx

verification and validation

  • 1. Verification and Validation Dinesh Pasi Sybscit Roll no 37
  • 2. Verification and Validation The program being developed must be checked to ensure that it meets its specification and delivers the functionality expected by the people paying for the software. 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 Goals • Establish confidence that the software system is ‘fit for its intended purpose’. • Level of required confidence depends upon System purpose User expectations Marketing environment • deciding how much effort should be spent on the V & V process.
  • 4. Static & Dynamic Verification and Validation Static verification Requirements High-level Formal Detailed specification Program specification design design Dynamic Prototype validation
  • 5. Software Inspection(Static)- • analyse and check the requirements document, design diagrams and the program source code. • You can use inspections at all stages of the process. Software Testing(Dynamic)- • involves running an implementation of the software with test data. • You examine the outputs of the software and its operational behavior to check that it is performing as required.
  • 6. TYPES OF TESTING Defect Testing-  Designed to discover system defects.  The goal of defect testing is to find inconsistencies between a program and its specification. Validation testing –  To show that the software is what the customer wants— that it meets its requirements.  Statistical testing(part of validation testing)  The specification for each increment is analyzed to define a set of inputs that cause the software to change it’s behavior
  • 7. Defect Testing and Debugging Defect testing and debugging are distinct process. Defect Testing Verification and validation is concerned with establishing the existence of defects in a program. Debugging is concerned with locating and repairing these errors.
  • 8. DEBUGGING PROCESS • Skilled debuggers use their knowledge for type of defect, the output pattern, the programming language & process to locate the defect. • After a defect in the program has been discovered, you have to correct it and revalidate the system. • Regression testing is used to check that the changes made to a program have not introduced new faults. • Test case- set of condition is given under which program tested.
  • 9. Planning verification and validation  Verification and Validation is an expensive process  Careful planning is needed to get the most out of inspections and testing and to control the costs of the verification and validation process. The software development process model (V model) Requir ements System System Detailed specification specification design design System Sub-system Module and Acceptance integration integration unit code test plan test plan test plan and tess Acceptance System Sub-system Service test integration test integration test
  • 10. Software Test Plan Components • Testing process • Requirements traceability • Items tested • Testing schedule • Test recording procedures • Testing HW and SW requirements • Testing constraints
  • 11. Software Inspections • Software inspection is a static V & V process in which a software system is reviewed to find errors and anomalies. • Inspections not require execution of a system so may be used before implementation. • They may be applied to any representation of the system (requirements, design, configuration data, test data, etc.). • They have been shown to be an effective technique for discovering program errors.
  • 12. Program Inspection Process • Program inspections are reviews whose objective is program defect detection • The program inspection is a formal process that is carried out by a team of at least four people. • 4 team members – product author(fixing defect) – inspector (looks for errors, omissions, and inconsistencies) – reader (reads the code at an inspection meeting.) – moderator (Manages the process and facilitates the inspection)
  • 13. Inspection process • 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
  • 14. Automated static analysis • Static analyzers are software tools that scan the source text of a program and detect possible faults and anomalies. • They parse the program text and try to discover potentially erroneous conditions and bring these to the attention of the V & V team.
  • 15. Stages of static analysis Control flow analysis  Checks for loops with multiple exit or entry points, finds unreachable code, etc. Data use analysis  Detects uninitialized variables, variables written twice  variables which are declared but never used Interface analysis • Checks the consistency of routine and procedure declarations and their use.
  • 16. Stages of static analysis Information flow analysis. • Identifies the dependencies of output variables. Does not detect anomalies itself but highlights information for code inspection or review. Path analysis • Identifies paths through the program and sets out the statements executed in that path.
  • 17. Use of static analysis  C does not have strict type rules, and the detect less errors during compilation the static analysis tool can automatically discover some of the resulting program faults.  Less cost-effective for languages like Java that have strong type checking and can therefore detect many errors during compilation.
  • 18. Verification and formal methods • Formal methods can be used when a mathematical specification of the system is produced. • They are the ultimate static verification technique. • They involve detailed mathematical analysis of the specification and may develop formal arguments that a program conforms to its mathematical specification.
  • 19. software development  Cleanroom software development is a software development philosophy that uses formal methods to support rigorous software inspection. • The objective of this approach to software development is zero-defect software. • The name ‘Cleanroom’ was derived by analogy with semiconductor fabrication units where defects are avoided by manufacturing in an ultra-clean atmosphere.
  • 20. This software development process is based on:  Formal specification • A state transition model used to express the specification.  Incremental development  developed and validated separately using the Cleanroom process.  Structured programming  Only a limited number of control and data abstraction constructs are used.  Static verification  The developed software is statically verified using rigorous software inspections.  Statistical testing  To determine program reliability.
  • 21. Cleanroom Process Teams For Large Development  Specification team.  Responsible for developing and maintaining the system specification.  Development team  Responsible for developing and verifying the software.  The software is NOT executed or even compiled during this process.  Certification team.  Responsible for developing a set of statistical tests to exercise the software after development.  Reliability growth models used to determine when reliability is acceptable
  • 22. Formal specification and inspections • The state based model is a system specification and the inspection process checks the program against this model • The vast majority of defects are discovered before execution and are not introduced into the developed software • Mathematical arguments (not proofs) are used to increase confidence in the inspection process.
  • 23. Cleanroom Process Evaluation  Use of the Cleanroom approach has generally led to software with very few errors.  Independent assessment shows that the process is no more expensive than other approaches.  The programs produced were of higher quality than those developed using traditional techniques.
  • 24. SHOW IS OVER NOW YOU MAY RELAX