Software Verification and Validation

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Object Oriented Analysis And Design-IT0207 iiI Semester
Lecture 8: Testing, Verification and Validation
SOFTWARE TESTING. Software Testing Principles Types of software tests Test planning Test Development Test Execution and Reporting Test tools and Methods.
Verification and Validation
Chapter 12 Prototyping and Testing Design of Biomedical Devices and Systems By Paul H. King Richard C. Fries.
Testing and Test Case Development A “primitive” method of testing, with NO test preparation, may include the following steps : – Initiate the system –
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Software Failure: Reasons Incorrect, missing, impossible requirements * Requirement validation. Incorrect specification * Specification verification. Faulty.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
School of Computer ScienceG53FSP Formal Specification1 Dr. Rong Qu Introduction to Formal Specification
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
1 Software Testing and Quality Assurance Lecture 1 Software Verification & Validation.
Software Testing Prasad G.
Introduction to Software Testing
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
What Exactly are the Techniques of Software Verification and Validation A Storehouse of Vast Knowledge on Software Testing.
Software Integration and Documenting
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
1 Software Testing (Part-II) Lecture Software Testing Software Testing is the process of finding the bugs in a software. It helps in Verifying and.
1. Topics to be discussed Introduction Objectives Testing Life Cycle Verification Vs Validation Testing Methodology Testing Levels 2.
Chapter 1: Introduction to Software Testing Software Testing
TESTING.
Test plans CSCI102 - Systems ITCS905 - Systems MCS Systems.
Objectives Understand the basic concepts and definitions relating to testing, like error, fault, failure, test case, test suite, test harness. Explore.
CS4311 Spring 2011 Verification & Validation Dr. Guoqiang Hu Department of Computer Science UTEP.
Verification and Validation Overview References: Shach, Object Oriented and Classical Software Engineering Pressman, Software Engineering: a Practitioner’s.
Testing Methods Carl Smith National Certificate Year 2 – Unit 4.
Testing “The process of operating a system or component under specified conditions, observing or recording the results, and making an evaluation of some.
Safety Critical Systems 5 Testing T Safety Critical Systems.
Requirements Specification. Welcome to Software Engineering: “Requirements Specification” “Requirements Specification”  Verb?  Noun?  “Specification”
CprE 458/558: Real-Time Systems
Verification and Validation Assuring that a software system meets a user's needs.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Software Engineering 2004 Jyrki Nummenmaa 1 BACKGROUND There is no way to generally test programs exhaustively (that is, going through all execution.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 8 Testing. Principles of Object-Oriented Testing Å Object-oriented systems are built out of two or more interrelated objects Å Determining the.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Software Testing and Quality Assurance 1. What is the objectives of Software Testing?
Lecturer: Eng. Mohamed Adam Isak PH.D Researcher in CS M.Sc. and B.Sc. of Information Technology Engineering, Lecturer in University of Somalia and Mogadishu.
What is a software? Computer Software, or just Software, is the collection of computer programs and related data that provide the instructions telling.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
Software Testing By Souvik Roy. What is Software Testing? Executing software in a simulated or real environment, using inputs selected somehow.
CS223: Software Engineering Lecture 25: Software Testing.
Principles of Programming & Software Engineering
A Review of Software Testing - P. David Coward
Introduction to Software Testing Part1 Summary & Terms
Software Testing.
SOFTWARE TESTING Date: 29-Dec-2016 By: Ram Karthick.
Software Engineering (CSI 321)
Software Testing.
Rekayasa Perangkat Lunak Part-13
SOFTWARE TESTING OVERVIEW
Chapter 8 – Software Testing
Verification and Validation Overview
Quality Management Perfectqaservices.
Software Testing.
Software engineering – 1
Software Development Cycle
Introduction to Software Testing
Software testing.
Baisc Of Software Testing
Test Case Test case Describes an input Description and an expected output Description. Test case ID Section 1: Before execution Section 2: After execution.
Software Verification and Validation
CSE403 Software Engineering Autumn 2000 More Testing
Software Verification and Validation
Software Development Cycle
TYPES OF TESTING.
PSS0 Configuration Management,
Presentation transcript:

Software Verification and Validation

Areas Covered Software Verification and Validation When Combined Together Are Abbreviated as V & V

What does these Two Provide Verification Ensures that: Every Step in the Process of Building the Software Delivers the Correct Product Validation Ensures that: Software Being Developed or Changed Satisfies Functional and All Other Requirements

What Kind of Verification Do we Have ? Firstly Let Us Understand What Kind of Verification Do we Have ?

Major Categories of Verification There are Two Major Categories of Verification Testing: Dynamic Testing Static Testing

Firstly Let Us Go Deeper Into Dynamic Testing

Dynamic Testing - A Type of Verification What Does Dynamic Testing Do ? Involves Execution of a System or Component Selection of a Group of Test Cases Consisting of Test Data Finding out Output Test Results out of Input Test Cases

Dynamic Testing - A Type of Verification Sub Categories of Dynamic Testing Functional Testing Structural Testing Random Testing

Sub Categories Dynamic Testing Functional Testing: A Type of Dynamic Testing Involves Identification & Testing of all Functions of the System as Defined in Basic Requirements Documents It is a Black Box Testing Not Expecting that the Tester should have any Knowledge of the Basic Code & Implementation of the System Contd.…..

Sub Categories Dynamic Testing Functional Testing: A Type of Dynamic Testing It uses Test Cases Designed to Study Certain Feature of the System

Sub Categories Dynamic Testing Structural Testing: A Type of Dynamic Testing It is a White Box Testing Expecting Full knowledge of the Implementation of the System Information of the Internal Structure of the System is Used to Design Tests for Checking the Function of Individual Components Contd.…..

Sub Categories Dynamic Testing Structural Testing: A Type of Dynamic Testing Like Functional Testing, it also uses Test Cases Designed to Study Certain Feature of the System

Sub Categories Dynamic Testing Random Testing: A Type of Dynamic Testing Uses Free Selection of Test Cases out of a set of All Possible Test Cases Uses Randomly Decided to Detect Faults which Go Undetected by Other Systematic Testing Techniques Contd.…..

Sub Categories Dynamic Testing Random Testing: A Type of Dynamic Testing Exhaustive Testing is a Form of Random Testing, Involving Input Test Cases having Every Possible Set of Input Values Although We do Exhaustive Testing at Every Stage of Life Cycle

Secondly Let Us Go Deeper Into Static Testing

Static Testing - A Type of Verification Attributes of Static Testing Does not Involve Operation of the System or Component Involves Manual as well as Automated Testing Techniques

Static Testing - A Type of Verification Sub Categories of Static Testing Consistency Techniques : Meant for Doing Analysis of Consistency Measurement Techniques : Meant for Doing Measurement of Some Property of the Program

Static Testing - A Type of Verification Consistency Techniques of Static Testing Ensures Correctness of Program Properties Like: # Correct Syntax # Correct Parameter Matching Between Procedures Contd.…..

Static Testing - A Type of Verification Consistency Techniques of Static Testing Ensures Correctness of Program Properties Like: # Correct Typing # Correct Requirements and Specifications

Static Testing - A Type of Verification Measurement Techniques of Static Testing Measures the System Properties Like: # Being Error Prone # Being Understandable # Being Well Structured

What is All About Validation Testing ? Secondly Let Us Understand What is All About Validation Testing ?

When Does Validation Come into Picture Validation comes Into Picture at the End of the Development Cycle It Views the Complete System Exactly Opposite of Verification It Focuses on Smaller Sub-Systems

What are the Techniques of Validation Testing ?

Techniques of Validation Testing Formal Methods : A Technique of Validation Testing Besides being a Verification Technique it is a Validation Technique as well Involves use of Mathematical and Logical Techniques to: Express, Investigate, & Analyze the Specification, Design, Documentation and Behavior of Hardware as well as Software

Techniques of Validation Testing Fault Injection : A Technique of Validation Testing Is an Intentional Activation of Faults by Either Hardware or Software to Observe the System Operation under such Faulty Situations

Techniques of Validation Testing Hardware Fault Injection : A Technique of Validation Testing Also known as Physical Fault Injection since Faults are Injected into the Physical Hardware

Techniques of Validation Testing Software Fault Injection : A Technique of Validation Testing Involves Injection of Errors into the Computer Memory through some Software Techniques It is a sort of a Simulation of Hardware Fault Injection

Thank You