15 Nov 2005 Jones - IASTED/SEA 1 Automated Support for Test-Driven Specification Edward L. Jones IASTED SEA Conference Phoenix, Arizona October 14-16,

Slides:



Advertisements
Similar presentations
A Method for Validating Software Security Constraints Filaret Ilas Matt Henry CS 527 Dr. O.J. Pilskalns.
Advertisements

C3 Orientation.
Ossi Taipale, Lappeenranta University of Technology
The design process IACT 403 IACT 931 CSCI 324 Human Computer Interface Lecturer:Gene Awyzio Room:3.117 Phone:
Case Tools Trisha Cummings. Our Definition of CASE  CASE is the use of computer-based support in the software development process.  A CASE tool is a.
CS 1400 Course Reader Introduction. What is Programming? Designing an appropriate algorithm Coding that algorithm in a computer language.
Starting Out with C++, 3 rd Edition 1 Chapter 1. Introduction to Computers and Programming.
ICS 463, Intro to Human Computer Interaction Design: 8. Evaluation and Data Dan Suthers.
State coverage: an empirical analysis based on a user study Dries Vanoverberghe, Emma Eyckmans, and Frank Piessens.
Presenter: Miguel Garzon Torres CrUise Lab - SITE SQL Coverage Measurement for Testing Database Applications María José Suárez-Cabal University of Oviedo.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
10–1 1-1 McGraw-Hill/Irwin Copyright © 2012 by The McGraw-Hill Companies, Inc. All rights reserved.
The design process z Software engineering and the design process for interactive systems z Standards and guidelines as design rules z Usability engineering.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Getting.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
CS527: (Advanced) Topics in Software Engineering Overview of Software Quality Assurance Tao Xie ©D. Marinov, T. Xie.
Unit 2: Engineering Design Process
Prologa Jan Vanthienen, K.U.Leuven Modeling decision tables PrologaProloga.
Transaction Processing Systems and System Development Life Cycle
Michael Poulshock Best Practices for Building Legal Knowledge Bases Michael Poulshock Wolfram Data Summit September 4-5, 2014.
Testing – A Methodology of Science and Art. Agenda To show, A global Test Process which work Like a solution Black Box for an Software Implementation.
Class Specification Implementation Graph By: Njume Njinimbam Chi-Chang Sun.
CMSC 345 Fall 2000 Unit Testing. The testing process.
Software Engineering Prof. Dr. Bertrand Meyer March 2007 – June 2007 Chair of Software Engineering Static program checking and verification Slides: Based.
A Z Approach in Validating ORA-SS Data Models Scott Uk-Jin Lee Jing Sun Gillian Dobbie Yuan Fang Li.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Getting.
CEN 5070 – Software V&V BOUNDARY TESTING © , Dr. E.L. Jones.
HCI in Software Process Material from Authors of Human Computer Interaction Alan Dix, et al.
Author: Graham Hughes, Tevfik Bultan Computer Science Department, University of California, Santa Barbara, CA 93106, USA Source: International Journal.
1 New Development Techniques: New Challenges for Verification and Validation Mats Heimdahl Critical Systems Research Group Department of Computer Science.
VESL-Career & life planning Career Presentation April 13, 2011 Mt.SAC.
1 Software Reliability Assurance for Real-time Systems Joel Henry, Ph.D. University of Montana NASA Software Assurance Symposium September 4, 2002.
Process Improvement. Improving the Test Process In the Software V&V course, Prof. Uwe asked the question: How to improve the Testing Process?
LESSON 12-1 Preparing Payroll Time Cards
Functional Verification Figure 1.1 p 6 Detection of errors in the design Before fab for design errors, after fab for physical errors.
CS Data Structures I Chapter 2 Principles of Programming & Software Engineering.
1 Event Driven Automated Testing for GUI-based Java Programs Presented by Yanhong Sun Thesis Advisor: Dr. Edward L. Jones July 17, 2003.
White Box-based Coverage Testing (© 2012 Professor W. Eric Wong, The University of Texas at Dallas) 111 W. Eric Wong Department of Computer Science The.
CEN 5070 – Software V&V What is Software Testing © , Dr. E.L. Jones.
SPRAE A Framework for Teaching Software Testing Edward L. Jones Florida A&M University.
Computer Science 1 Mining Likely Properties of Access Control Policies via Association Rule Mining JeeHyun Hwang 1, Tao Xie 1, Vincent Hu 2 and Mine Altunay.
CENTURY 21 ACCOUNTING © Thomson/South-Western 1 LESSON 12-1 CHAPTER 12 OBJECTIVES PREPARING PAYROLL RECORDS DEFINE TERMS RELATED TO PAYROLL RECORDS COMPLETE.
CENTURY 21 ACCOUNTING © 2009 South-Western, Cengage Learning LESSON 12-1 Preparing Payroll Time Cards.
Selection Structures: if and switch Statements. 2 Selection Statements –In this chapter we study statements that allow alternatives to straight sequential.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Getting.
White Box Testing Arun Lakhotia University of Southwestern Louisiana P.O. Box Lafayette, LA 70504, USA
LSR Test purposes: adapting the notion of specification to testing Yves Ledru, L. du Bousquet, P. Bontron, O. Maury, C. Oriat, M.-L. Potet LSR/IMAG Grenoble,
Formal Specification: a Roadmap Axel van Lamsweerde published on ICSE (International Conference on Software Engineering) Jing Ai 10/28/2003.
Test and Verification Solutions128 October 2009 Test and Verification Solutions Improved time to market through automated software testing Mike Bartley,
Chapter 2 – Software Processes Lecture 2 1Chapter 2 Software Processes.
Cs498dm Software Testing Darko Marinov January 27, 2009.
1 841f06OOmutation22Nov7 Exam 2 – Nov f06OOmutation22Nov7 Articles u Frankl u Parnas u Chen-Kao (OCF graph) u Glass-etal (Viewpoints) u Kuhn-Wallace.
Computer Software engineer By: Eric Musser. What is This? Computer engineers make programs to run a computer. Computer engineers make programs to run.
NOTE: To change the image on this slide, select the picture and delete it. Then click the Pictures icon in the placeholder to insert your own image. Getting.
SOFTWARE TESTING AND QUALITY ASSURANCE. Software Testing.
Cs498dm Software Testing Darko Marinov January 24, 2012.
HCI in the software process
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
The design process Software engineering and the design process for interactive systems Standards and guidelines as design rules Usability engineering.
Applied Software Implementation & Testing
Software Engineering Lecture #45
ANALYZING A PAYROLL TIME CARD
HCI in the software process
Software Verification, Validation, and Acceptance Testing
HCI in the software process
Department of Computer Science Abdul Wali Khan University Mardan
Human Computer Interaction Lecture 14 HCI in Software Process
Re- engineeniering.
Paid Family and Medical Leave
Unit IV – Chapter 2 V-Test Model.
Presentation transcript:

15 Nov 2005 Jones - IASTED/SEA 1 Automated Support for Test-Driven Specification Edward L. Jones IASTED SEA Conference Phoenix, Arizona October 14-16, 2005

15 Nov Jones - IASTED/SEA Outline Test-Driven Specification Paradigm Test-Driven Specification Paradigm Background Background An Example An Example Automation Scheme Automation Scheme Future Work Future Work

15 Nov Jones - IASTED/SEA The Paradigm: Test Driven Specification Test Cases + Assess Test Cases Specification Assess Specification Software Development Software Testing Time

15 Nov Jones - IASTED/SEA Background Early Attention to Testing is Good Early Attention to Testing is Good V-Model of Software Testing (planning) V-Model of Software Testing (planning) W-Model of Software Testing (verification) W-Model of Software Testing (verification) Test-Driven Development (coding phase) Test-Driven Development (coding phase) Requirements/Specification remain the hard part of software engineering Requirements/Specification remain the hard part of software engineering Verification options – prototyping, testing, model checking, automated test case generation Verification options – prototyping, testing, model checking, automated test case generation

15 Nov Jones - IASTED/SEA Specifics of Our Work Black-box: focus is software function Black-box: focus is software function Specification Language = Decision Table Specification Language = Decision Table Decision table-based test adequacy criteria Decision table-based test adequacy criteria Automated conversion of decision table to analyzer program Automated conversion of decision table to analyzer program Data-driven verification to reveal model anomalies and test data inadequacies Data-driven verification to reveal model anomalies and test data inadequacies

15 Nov Jones - IASTED/SEA Decision Tables Logic based, cause-effect specification Logic based, cause-effect specification Within family of state-based specifications Within family of state-based specifications Old technology from 1950s-70s Old technology from 1950s-70s Automated programming systems Automated programming systems Basis for software testing Basis for software testing Specification language for rule based systems Specification language for rule based systems Vanthienen’ Prologa tool, other decision management tools for decision science Vanthienen’ Prologa tool, other decision management tools for decision science

15 Nov Jones - IASTED/SEA An Example Specification Calculate employee pay, including overtime paid at 1.5 times the hourly rate of hourly employees for qualifying hours. The normal work week is 40 hours; the maximum number of paid hours is 80. Salaried employees earn over $30 per hour, and are paid overtime only for hours in excess of 60 hours. Salaried employees working less than 40 hours are paid for the normal work week. Hourly employees earn less than $30 per hour, and are paid for all hours worked up to the maximum; they are paid overtime for hours in excess of 40.

15 Nov Jones - IASTED/SEA Stimulus-Response View of Specification Calculate Pay hours rate regular_pay overtime_pay

15 Nov Jones - IASTED/SEA Decision Table for Specification (Incomplete) hours > 40 | N N rate >= 30 | Y N overtime_pay = 0; | X X regular_pay = hours * rate; | X regular_pay = 40 * rate; | X Conditions Decision Rules Actions Action Rules Computation Rule

15 Nov Jones - IASTED/SEA Decision Table based Adequacy Criterion Possible adequacy criteria w.r.t. conditions, actions, rules Possible adequacy criteria w.r.t. conditions, actions, rules Functional Coverage Functional Coverage Measures the thoroughness of testing w.r.t. decision table rules Measures the thoroughness of testing w.r.t. decision table rules FC = # computation rules satisfied FC = # computation rules satisfied # computation rules in DT # computation rules in DT

15 Nov Jones - IASTED/SEA Automated Checking Specification anomalies Specification anomalies Ambiguous rules - test tuple satisfies multiple rules Ambiguous rules - test tuple satisfies multiple rules Missing rule -- test tuple satisfies no rule Missing rule -- test tuple satisfies no rule Test data set adequacy Test data set adequacy Superfluous test data – rule satisfied by multiple test tuples Superfluous test data – rule satisfied by multiple test tuples Incomplete test data – rule not satisfied by any test tuple Incomplete test data – rule not satisfied by any test tuple Computation rule defines test oracle Computation rule defines test oracle

15 Nov Jones - IASTED/SEA Automation Build Analyzer Generate Analyzer Decision Table Run Analyzer Test Data Set Test Coverage Report Spec Coverage Report

15 Nov Jones - IASTED/SEA DT Version # hours > 40 | N N rate >= 30 | Y N overtime_pay = 0; | X X regular_pay = hours * rate; | X regular_pay = 40 * rate; | X Missing Rules

15 Nov Jones - IASTED/SEA Analysis Reports - Version #1 TEST SET hours rate SPEC COVERAGE REPORT VALID MISSING MISSING MISSING VALID MISSING MISSING MISSING TEST COVERAGE REPORT Rules --> Test Case 1 2 ==== X 2 3 X 4 RULES NOT SATISFIED: FUNCTIONAL COVERAGE = 2/2

15 Nov Jones - IASTED/SEA DT Version # N N Y Y - - | hours > Y - | hours > Y | hours > 80 N Y N Y Y Y | rate >= X | regular_pay = hours * rate; - X X X X X | regular_pay = 40 * rate; X X | overtime_pay = 0; - - X | overtime_pay = 1.5 * rate * (hours - 40); X X X | overtime_pay = 1.5 * rate * (hours - 60); TEST SET hours: rate:

15 Nov Jones - IASTED/SEA Analysis Reports - Version #2 TEST COVERAGE REPORT Rules --> Test Case ==== X 2 X 3 X 4 X 5 X X 6 X X X RULES NOT SATISFIED: FUNCTIONAL_COVERAGE = 6 / 6 SPEC COVERAGE REPORT VALID VALID VALID VALID AMBIGUOUS AMBIGUOUS

15 Nov Jones - IASTED/SEA DT Version # N N Y | hours > Y Y - | hours > N Y | hours > 80 N Y N Y Y Y | rate >= X | regular_pay = hours * rate; - X X X X X | regular_pay = 40 * rate; X X | overtime_pay = 0; - - X | overtime_pay = 1.5 * rate * (hours - 40); X X X | overtime_pay = 1.5 * rate * (hours - 60); TEST SET hours: rate: No similar rule for salaried employee.

15 Nov Jones - IASTED/SEA Analysis Reports - Version #3 TEST COVERAGE REPORT Rules --> Test Case ==== X 2 X 3 X 4 X 5 X X 6 X X RULES NOT SATISFIED: FUNCTIONAL_COVERAGE = 6 / 6 SPEC COVERAGE REPORT VALID VALID VALID MISSING MISSING MISSING AMBIGUOUS AMBIGUOUS

15 Nov Jones - IASTED/SEA Conclusion Have presented a black-box approach Have presented a black-box approach Test-driven specification as a paradigm for interaction between developer and tester Test-driven specification as a paradigm for interaction between developer and tester Demonstrated benefits of automation Demonstrated benefits of automation Claim that approach is applicable to existing decision based specification methods Claim that approach is applicable to existing decision based specification methods

15 Nov Jones - IASTED/SEA Future Work Extend to State-Based Specifications Mill’s State-Box model SCR state tables Pre-/Post-condition specifications Consider random generation of test data used to verify specification Use tool in software engineering courses

15 Nov Jones - IASTED/SEA Questions?

15 Nov Jones - IASTED/SEA Motivation / References Hoffman & Strooper’s 2001 paper Hoffman & Strooper’s 2001 paper “Prose + Test Cases = Specification” Pamela Zave’s IEEE-TSE 1991 paper, a post- mortem on her 1980’s work on the Paisley operational specifications system Pamela Zave’s IEEE-TSE 1991 paper, a post- mortem on her 1980’s work on the Paisley operational specifications system “An Insider’s View of Paisley” “An Insider’s View of Paisley”