Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.1 Enjoying the Perks of Model-based Testing Ibrahim K. El-Far Florida Institute.

Slides:



Advertisements
Similar presentations
Kapil Mohan Sharma DMG - QA
Advertisements

1 Verification by Model Checking. 2 Part 1 : Motivation.
QWE March © 2002 The authors, all rights reserved. Experiences in Testing the Pocket PC.
(c) Copyright 2002 Ibrahim K. El-Far. All rights reserved. Presented at Quality Week Europe Selecting an Appropriate Software Testing Method Ibrahim.
Friday 6 September 2002(c) 2002 The Authors. All Rights Reserved.1 A Framework for Testing Wireless Applications Ibrahim K. El-Far Roussi Roussev Nattawut.
Usability Assessment Framework for ACGs using AHP USABILITY ASSESSMENT FRAMEWORK FOR CODE GENERATORS USING ANALYTICAL HIERARCHY PROCESS Joshua R. Dolecal.
Analysis of Computer Algorithms
1 Introduction to Software Engineering Rajkumar Buyya Grid Computing and Distributed Systems Lab Dept. of Computer Science and Software Engineering University.
Software Life Cycle and Models
Implementation of a Validated Statistical Computing Environment Presented by Jeff Schumack, Associate Director – Drug Development Information September.
Ada, Model Railroading, and Software Engineering Education John W. McCormick University of Northern Iowa.
Knowledge Dietary Managers Association 1 PART II - DMA Certification Exam Blueprint and Exam Development-
Credit hours: 4 Contact hours: 50 (30 Theory, 20 Lab) Prerequisite: TB143 Introduction to Personal Computers.
0 - 0.
MULT. INTEGERS 1. IF THE SIGNS ARE THE SAME THE ANSWER IS POSITIVE 2. IF THE SIGNS ARE DIFFERENT THE ANSWER IS NEGATIVE.
Addition Facts
Making the System Operational
© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn 2.4 The Z Notation [Reference: M. Spivey: The Z Notation, Prentice Hall]
Electric Bus Management System
Software change management
1 1 Slide Chapter 1 & Lecture Slide Body of Knowledge n Management science Is an approach to decision making based on the scientific method Is.
(c) 2007 Mauro Pezzè & Michal Young Ch 17, slide 1 Test Execution.
Acceptance Testing vs. Unit Testing: A Developers Perspective Owen Rogers Rob Styles
Testing Workflow Purpose
Introduction to Software Testing Chapter 1 Model-Driven Test Design Paul Ammann & Jeff Offutt
Project Management CHAPTER SIXTEEN McGraw-Hill/Irwin Copyright © 2011 by the McGraw-Hill Companies, Inc. All rights reserved.
Copyright  2003 Dan Gajski and Lukai Cai 1 Transaction Level Modeling: An Overview Daniel Gajski Lukai Cai Center for Embedded Computer Systems University.
1 Department of Computer Science, University of Sheffield eXtreme Programming - Practices Dr. Marian Gheorghe.
Database System Concepts and Architecture
Lecture 8: Testing, Verification and Validation
Chapter 10 Software Testing
Prescriptive Process models
Addition 1’s to 20.
1 Budgets and Budgetary Control Prepared and Presented By Gladstone K. Hlalakuhle.
©Ian Sommerville 1995/2000 (Modified by Spiros Mancoridis 1999) Software Engineering, 6th edition. Chapters 1,3 Slide 1 Software Engineering Software Engineering.
Determining How Costs Behave
Week 1.
Chapter 10: The Traditional Approach to Design
Systems Analysis and Design in a Changing World, Fifth Edition
McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 20 Systems Operations and Support.
Four Schools of Software Testing Workshop on Teaching Software Testing, Florida Tech, February 2003.
System Integration Verification and Validation
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
SBSE Course 3. EA applications to SE Analysis Design Implementation Testing Reference: Evolutionary Computing in Search-Based Software Engineering Leo.
SE curriculum in CC2001 made by IEEE and ACM: Overview and Ideas for Our Work Katerina Zdravkova Institute of Informatics
High Level: Generic Test Process (from chapter 6 of your text and earlier lesson) Test Planning & Preparation Test Execution Goals met? Analysis & Follow-up.
Introduction to Software Testing
Software Integration and Documenting
CH07: Writing the Programs Does not teach you how to program, but point out some software engineering practices that you should should keep in mind as.
Verification and Validation Yonsei University 2 nd Semester, 2014 Sanghyun Park.
An Introduction to MBT  what, why and when 张 坚
Lecture 1 What is Modeling? What is Modeling? Creating a simplified version of reality Working with this version to understand or control some.
Copyright © Siemens AG All rights reserved. Essential Criteria on MBT to Ensure Quality of Software in Industry PVR Murthy Andreas Ulrich Siemens.
RUP Implementation and Testing
1 The Software Development Process  Systems analysis  Systems design  Implementation  Testing  Documentation  Evaluation  Maintenance.
Testing Workflow In the Unified Process and Agile/Scrum processes.
1 Software Reliability Assurance for Real-time Systems Joel Henry, Ph.D. University of Montana NASA Software Assurance Symposium September 4, 2002.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
By Ian Jackman Davit Stepanyan.  User executed untested code.  The order in which statements were meant to be executed are different than the order.
Software Product Line Material based on slides and chapter by Linda M. Northrop, SEI.
The Software Development Process
Software Quality Assurance and Testing Fazal Rehman Shamil.
1 The Software Development Process ► Systems analysis ► Systems design ► Implementation ► Testing ► Documentation ► Evaluation ► Maintenance.
Software Development Process CS 360 Lecture 3. Software Process The software process is a structured set of activities required to develop a software.
Ch7: Project Monitoring and Control  To reduce differences between plan and actual in the 3D space of T/C/P.  Best utilization of organization’s primary.
Testing Overview Software Reliability Techniques Testing Concepts CEN 4010 Class 24 – 11/17.
Model-Driven Analysis Frameworks for Embedded Systems
Introduction to Software Testing
Model Based Testing Venkata Ramana Bandari, Expert Software Engineer
Presentation transcript:

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.1 Enjoying the Perks of Model-based Testing Ibrahim K. El-Far Florida Institute of Technology

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.2 In This Presentation … Overview of model-based testing tasks Advantages Choosing models Resources, training and tool support Tips on Model Building General MBT tips Inescapable evils of MBT Is MBT Worthwhile?

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.3 What Model Based Testing Is Any software testing approach that bases tasks on a model of the software under test A model is an explicit representation of the program s functional behavior Industry does not recognize mental or structural models as a basis for MBT Industry is realizing the value of models MBT is increasingly understood but its worth is yet to be validated

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.4 Mental Model Build Model Explicit Model Generate Tests Test Suites & Scripts Run Scripts Application Under Test Oracle Get expected result Get actual result Test Pass & Failure Data Analyze Data Decide whether to Generate more tests Modify the model Stop testing Estimate Reliability & other quality measures Test Objectives & Stopping Criteria Model Based Testing Tasks

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.5 Obvious Advantages Automate generation of Large suites of tests and lengthy tests Complicated input sequences Likely to expose failures Caused by weird combinations of inputs Revealed only with time (memory leaks)

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.6 Obvious Advantages Provides an additional basis for Coverage-based evaluation of test progress Measurement quality of the product Provides insight into effectiveness when no failures are found

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.7 Not So Obvious Advantages A model is a precise communication tool Good vehicle of presentation to non- technical staff While building a model Develop a better understanding of SUT Find many bugs while exploring SUT Compare versions of the product

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.8 Not So Obvious Advantages The model is an aid in regression Alternative to classic regression (variation) Cheap validation of regression test suites Aids in more rigorous verification Model checking Program proof Precondition analysis

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.9 Choosing Models to Fit Needs Highly dependent on application type HTML processing component in a browser Calculator mathematical expressions State rich systems: GUI & Phone systems Parallel systems Different models for different system aspects Combinations of models are more useful Try to reuse models from design & requirements analysis

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.10 Resources Time & Budget Computing resources for test automation Skilled and experienced personnel Specialized test artifacts like test generators, oracles, etc …

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.11 Training Useful theoretical elements Automate theory and formal languages Graph theory and traversal algorithms Statistics and stochastic processes Useful skills Various methods to build models Writing test generators Tool-specific skills

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.12 Tool Support Input & output enumeration Input simulation & interface wrappers Test evaluation mechanisms Environment monitoring & simulation Test generators & suite analyzers Model generators designers & managers Tools to identify model variables in SUT

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.13 Tips on Model Building Model needs to be as brief as possible without sacrificing information Model should not contain information that are not pertinent for your objectives Model should exclude pertinent information that is deemed redundant or useless

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.14 Model needs to be as readable as possible, even at the expense of brevity Model needs to be left open for changes and additions, if at all possible Model writing needs to consider implementation details even if the model does not Tips on Model Building

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.15 General MBT Tips Start as early as possible Build models incrementally Use only models that fit your needs Invest in training Try to allocate as many resources Write simple tools or use off-the-shelf products and simple scripts to start Inescapable Evils of MBT

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.16 Inescapable Evils of MBT State Explosion Use many small models Use other types of models Employ hierarchical views Employ partial views Abstract details Exclude redundant or useless details

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.17 Inescapable Evils of MBT Test Evaluation Write direct evaluation routines Code a comparator to a competing system Use a different implementation or version Plausibility is more useful than correctness Use assertions to relate program execution to model

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.18 Is MBT Worth It? The wise answer is, It depends. Do you have existing models? Do you have time for initial activities? How late are you starting? Does your modeling experience match the software you are trying to test? Do you have scripting/programming expertise on your team?

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.19 Sargon: A Free Testing Tool Primarily a research tool Implements various testing techniques Open source testing utilities Implemented in Java More information on

Thursday, November 1, 2001(c) 2001 Ibrahim K. El-Far. All rights reserved.20 Queries Contact Info Clarification Comments Concerns Questions Suggestions Official URL: Personal URL: Snail mail: Computer Sciences Department, Software Engineering Program, Florida Institute of Technology, 150 West University Boulevard, Melbourne, Florida 32901, USA