CS 475/575 VV&A M. Overstreet Old Dominion University Spring 2005.

Slides:



Advertisements
Similar presentations
Verification and Validation
Advertisements

System Integration Verification and Validation
Testing and Quality Assurance
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Annoucements  Next labs 9 and 10 are paired for everyone. So don’t miss the lab.  There is a review session for the quiz on Monday, November 4, at 8:00.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 2.
November 2005J. B. Wordsworth: J5DAMQVT1 Design and Method Quality, Verification, and Testing.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing 2.
1 Simulation Modeling and Analysis Verification and Validation.
16/27/2015 3:38 AM6/27/2015 3:38 AM6/27/2015 3:38 AMTesting and Debugging Testing The process of verifying the software performs to the specifications.
Unit Testing CS 414 – Software Engineering I Don Bagert Rose-Hulman Institute of Technology January 16, 2003.
1 CMPT 275 Software Engineering Requirements Analysis Process Janice Regan,
Introduction to Software Testing
Software Testing & Strategies
Introduction to Computer Technology
Software Testing Verification and validation planning Software inspections Software Inspection vs. Testing Automated static analysis Cleanroom software.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Verification and Validation l Assuring that a software system meets a user's.
System/Software Testing
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Verification and Validation.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Software Testing.
1 Software Quality CIS 375 Bruce R. Maxim UM-Dearborn.
Software Testing Testing types Testing strategy Testing principles.
1 These courseware materials are to be used in conjunction with Software Engineering: A Practitioner’s Approach, 5/e and are provided with permission by.
This chapter is extracted from Sommerville’s slides. Text book chapter
CS.436 Software Engineering By Ajarn..Sutapart Sappajak,METC,MSIT Chapter 13 Verification and validation Slide 1 1 Chapter 13 Verification and Validation.
Chapter 12 Evaluating Products, Processes, and Resources.
1 CS 501 Spring 2002 CS 501: Software Engineering Lecture 23 Reliability III.
Testing Testing Techniques to Design Tests. Testing:Example Problem: Find a mode and its frequency given an ordered list (array) of with one or more integer.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 22 Slide 1 Software Verification, Validation and Testing.
SoftwareVerification and Validation
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 19Slide 1 Chapter 19 Verification and Validation.
Sylnovie Merchant, Ph.D. MIS 161 Spring 2005 MIS 161 Systems Development Life Cycle II Lecture 5: Testing User Documentation.
TESTING LEVELS Unit Testing Integration Testing System Testing Acceptance Testing.
1 Ch. 1: Software Development (Read) 5 Phases of Software Life Cycle: Problem Analysis and Specification Design Implementation (Coding) Testing, Execution.
MODES-650 Advanced System Simulation Presented by Olgun Karademirci VERIFICATION AND VALIDATION OF SIMULATION MODELS.
Chapter 10 Verification and Validation of Simulation Models
1 Chapter 26 Cleanroom Software Engineering Cleanroom Developed in early 80’s by Harlan Mills Reported very good results –reliable, high-quality.
Software Development Problem Analysis and Specification Design Implementation (Coding) Testing, Execution and Debugging Maintenance.
Requirements Validation
1 Software Engineering: A Practitioner’s Approach, 6/e Chapter 15a: Product Metrics for Software Software Engineering: A Practitioner’s Approach, 6/e Chapter.
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?
1 Software Testing Strategies: Approaches, Issues, Testing Tools.
Chapter 12: Software Testing Omar Meqdadi SE 273 Lecture 12 Department of Computer Science and Software Engineering University of Wisconsin-Platteville.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Ms. Lisa Jean Moya WernerAnderson, Inc. 01 May 2007 Validation Methodology for Agent-Based Simulations Workshop DoD Validation Baseline.
DevCOP: A Software Certificate Management System for Eclipse Mark Sherriff and Laurie Williams North Carolina State University ISSRE ’06 November 10, 2006.
Slide 1SATC June 2000 Dolores R. Wallace* NASA Goddard Space Flight Center Greenbelt, Maryland for the American Society.
Verification vs. Validation Verification: "Are we building the product right?" The software should conform to its specification.The software should conform.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
CS223: Software Engineering Lecture 25: Software Testing.
Software Testing Strategies for building test group
Software Testing.
CSC 480 Software Engineering
Chapter 10 Verification and Validation of Simulation Models
Introduction to Software Testing
Lecture 09:Software Testing
Verification and Validation Unit Testing
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Chapter 10 – 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 Development Chapter 1.
Presentation transcript:

CS 475/575 VV&A M. Overstreet Old Dominion University Spring 2005

VV&A zBased on y“Verification, Validation and Accreditation of Simulation Models,” by Osman Balci, WSC ‘97. “Verifying and Validation Simulation Models,” Robert Sargent, WSC ‘02

some terms Quality metrics: accuracy, efficiency, maintainability, portability, reusability, usability (CHI). here only accuracy is of concern Model Verification: model is correctly transformed from one representation to another Model Validation: the model, within a particular domain, behaves with satisfactory accuracy consistent with M&S objectives. Model testing: checking for inaccuracies or errors Accrediation: US military term: “the official certification that a model or simulation is acceptable for use for a specific purpose.” DoD Directive ,

DoD effect US DoD is big player in this area. On the web Defense Modeling & Simulation Office, ( but each branch (Army, Navy, Air Force) also on Web. “Properly” done, can be expensive. Few organizations can afford “proper” V&V

General Comment Large complex problem. One approach not appropriate for all. Much business simulation is short and quick (gain insight). Industry (like Boeing, NASA) builds “engineering models” as design tools.

Common Approaches Development does V&V. adv: they understand assumptions, model, code disadv: objectivity? blind spots? Independent V&V: done by independent group. adv. objectivity (maybe) independent of schedule, budget, biases disadv: costs. independent of schedule, budget, objectives human tendency to find something regardless

V&V Principles (Balci) V&V must be conducted throughout life cycle V&V outcome not binary Based on M&S objectives Requires independent assessment Requires creativity & insight Early error detection better Complete testing not feasible Type I, II, & III errors must be avoided Successful V&V of all submodels does not imply Model V&V Validity does not imply credibility and acceptability Having well-formulated problem essential

V&V Techniques zInformal zStatic zDynamic zFormal

Informal zaudit zdesk checking zdocumentation checking zface validation zinspections zreviews zTuring tests zwalkthroughs

Static Cause-effect graphing Control analysis calling structure analysis concurrent process analysis control flow analysis Data analysis data flow and data dependency analysis Interface analysis Structural analysis Traceablity assessment

Dynamic Acceptance testing Assertion checking Compliance testing performance, security standards Execution testing execution monitoring, profiling, tracing Software testing Black box: equivalence partitioning, extreme input, trace-drive input, stress testing,... White box (structural): branch, condition, data flow,... Statistical techniques Visualization/animation

Formal Induction Lambda Calculus Predicate Calculus Proof of Correctness

Some pragmatic approaches Compare with other models if possible Use degenerate tests - (where you know the answer) Event validity - does the right sequence of events occurs when triggered? Compare model generated events with system events Use fixed values (constants) - similar to degenerate tests, but requires code change. Drive model with real system traces to compare model output with system output. Determine internal variability of model. If high, may require model revision Sensitivity analysis/accuracy requirements Predictive validation: model used to forecast system behavior which can be checked (e.g. weather models)

data validity not really different, but often a time-consuming, complex issue outputs no better than data used to build model on many projects, the data costs much more than the model many models are “data driven” ModSAF reads about 300,000 of data on start-up. data are needed to: build conceptual model validate model perform experiments to model

need to validate: zconceptual model yunderlying theories and assumptions are correct/acceptable zcomputerized model yall software testing techniques apply, and then some zoperational model ythe world changes over time. are assumptions/behaviors still valid? (is the world still flat?)

Sample form Strengths Weaknesses