CEN 5070 – Software V&V BOUNDARY TESTING © 2001-2008, Dr. E.L. Jones.

Slides:



Advertisements
Similar presentations
Testing Relational Database
Advertisements

Compilers Course 379K, TTH 9:30-11:00 Instructor: Dr. Doron A. Peled Office Hours: Mon 11:00-12:00.
SolidWorks Enterprise PDM Data Loading Strategies
CS 11 C track: lecture 7 Last week: structs, typedef, linked lists This week: hash tables more on the C preprocessor extern const.
MS-Access XP Lesson 1. Introduction to MS-Access Database Management System Software (DBMS) Store data in databases Database is a collection of table.
Local Variables and Scope Benjamin Fein. Variable Scope A variable’s scope consists of all code blocks in which it is visible. A variable is considered.
LV2IDL, a software package for automatic data transfer between LabVIEW and IDL Gelu M. Nita New Jersey Institute of Technology.
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.
Copyright © 2003 Americas’ SAP Users’ Group Custom Archiving 101 Session Code 108 Karin Tillotson Sr. Basis Administrator Tuesday, May 20 th, 2003.
Hash Tables1 Part E Hash Tables  
Hash Tables1 Part E Hash Tables  
Quality Assurance CS 615. Mission Statement The Quality Assurance team will provide assurance to stakeholders in CS-615/616 projects that their projects.
Domain Testing Based on Character String Predicate Ruilian Zhao Computer Science Dept. Beijing University of Chemical Technology Michael R. Lyu Computer.
Testing an individual module
Research method & design in I-O Psychology Lecture 2 (Jan 28, 2002) Major ref: Riggio, Ch 2 (w/o appendix); Supplementary reading: Spector, Ch 2 (p. 22-
Understanding of Automation Framework A Storehouse of Vast Knowledge on Software Testing and Quality Assurance.
Evolving an Elective Software Testing Course: Lessons Learned Edward L. Jones Florida A&M University Tallahassee, FL USA 3rd Workshop on Teaching Software.
1.3 Executing Programs. How is Computer Code Transformed into an Executable? Interpreters Compilers Hybrid systems.
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
CEN th Lecture CEN 4021 Software Engineering II Instructor: Masoud Sadjadi Change Control.
Label production Solution with Label Gallery programs Label Gallery is used for general label design and print GalleryData is used to create small database.
Dr. Pedro Mejia Alvarez Software Testing Slide 1 Software Testing: Building Test Cases.
CPIS 357 Software Quality & Testing
Lecture 7 Interaction. Topics Implementing data flows An internet solution Transactions in MySQL 4-tier systems – business rule/presentation separation.
Symbol Tables Symbol tables are used by compilers to keep track of information about variables functions class names type names temporary variables etc.
Black-Box Testing Techniques I Software Testing Lecture 4.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
Coverage – “Systematic” Testing Chapter 20. Dividing the input space for failure search Testing requires selecting inputs to try on the program, but how.
MCB 5472 Assignment #6: HMMER and using perl to perform repetitive tasks February 26, 2014.
CEN Software V&V Spring 2002 Testing Application Forms © , Dr. E.L. Jones.
Configuration Management (CM)
C++ Basics Structure of a Program. C++ Source Code Plain text file Typical file extension .CPP Must compile the C++ source code without errors before.
Design and Programming Chapter 7 Applied Software Project Management, Stellman & Greene See also:
Black-Box Testing Techniques I
Sizing Basics  Why Size?  When to size  Sizing issues:  Bits and Bytes  Blocks (aka pages) of Data  Different Data types  Row Size  Table Sizing.
Selection Control Structures. Simple Program Design, Fourth Edition Chapter 4 2 Objectives In this chapter you will be able to: Elaborate on the uses.
Mark Dixon, SoCCE SOFT 131Page 1 05 – Variables. Mark Dixon, SoCCE SOFT 131Page 2 Admin: Test (next week) In class test –teaching week 6 –university week.
15 Nov 2005 Jones - IASTED/SEA 1 Automated Support for Test-Driven Specification Edward L. Jones IASTED SEA Conference Phoenix, Arizona October 14-16,
Coding Design Tools Rachel Gauci. Task: Counting On Create a program that will print out a sequence of numbers from "1" to a "number entered”. Decision’s.
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
Hashing Hashing is another method for sorting and searching data.
CEN 5070 – Software V&V What is Software Testing © , Dr. E.L. Jones.
Overview of Form and Javascript fundamentals. Brief matching exercise 1. This is the software that allows a user to access and view HTML documents 2.
CEN 5070 Software V&V Spring 2002 Testing Internal Modules © , Dr. E.L. Jones.
8 Chapter Eight Server-side Scripts. 8 Chapter Objectives Create dynamic Web pages that retrieve and display database data using Active Server Pages Process.
CEN Software V & V Unit Testing Concepts 2/2000Unit Test Concepts2 Purpose This module presents the basic concepts of black-box and white-box.
SQL (3) Research questions, databases, and analytics; Importing data, exporting data, using other tools Information Structures and Implications 2015 Bettina.
Introduction Complex and large SW. SW crises Expensive HW. Custom SW. Batch execution Structured programming Product SW.
Refactoring Agile Development Project. Lecture roadmap Refactoring Some issues to address when coding.
Unit 17: SDLC. Systems Development Life Cycle Five Major Phases Plus Documentation throughout Plus Evaluation…
1 Software Testing & Quality Assurance Lecture 5 Created by: Paulo Alencar Modified by: Frank Xu.
 Introduction  This strategy designs tests that are independent of the implementation (code) of the software Black-Box Testing.
Bioinformatics Introduction to Perl. Introduction What is Perl Basic concepts in Perl syntax: – variables, strings, – Use of strict (explicit variables)
CSc 352 An Introduction to make Saumya Debray Dept. of Computer Science The University of Arizona, Tucson
Final Fantasy ½: IOC Overview Team Q CSE 403 Winter ‘03 I’ve got something special for you.
CEN 5070 – Software V&V Automation for Unit Testing © , E.L. Jones.
Dynamic Black-Box Testing Part 1 What is dynamic black-box testing? How to reduce the number of test cases using: Equivalence partitioning Boundary value.
Defects of UML Yang Yichuan. For the Presentation Something you know Instead of lots of new stuff. Cases Instead of Concepts. Methodology instead of the.
Introduction to Networks
Domain Testing Functional testing which tests the application by giving inputs and evaluating its appropriate outputs. system does not accept invalid and.
Test Automation CS 4501 / 6501 Software Testing
Understanding of Automation Framework
Input Space Partition Testing CS 4501 / 6501 Software Testing
How to Fix Microsoft Office Error 2932 at Support Number
CIS 4932 Software Testing Unit Testing Concepts
Lesson Objective: I will be able to …
Objective Graph and solve systems of linear inequalities in two variables.
CEN Software V & V Unit Testing Concepts
CS210- Lecture 16 July 11, 2005 Agenda Maps and Dictionaries Map ADT
CSE 303 Concepts and Tools for Software Development
Presentation transcript:

CEN 5070 – Software V&V BOUNDARY TESTING © , Dr. E.L. Jones

2/2000Unit Test Concepts2 Agenda More on Boundary Points & Values Automated Test Data Generation Boundary Testing Approach Test Set Reduction Strategies

2/2000Unit Test Concepts3 BOUNDARY TESTING DESIGN METHODOLOGY Specification Identify elementary boundary conditions Identify boundary points Generate boundary test cases Update test script (add boundary cases).

2/2000Unit Test Concepts4 (1) Specification Compute pay for an hourly employee, given the number of hours worked and the hourly pay rate. Compute overtime at 1.5 times hourly rate for hours in excess of 40. Software under Test HoursPay Rate

2/2000Unit Test Concepts5 (2) Identify Boundary Conditions Condition 1 (bc1): Hours <= 40 Observations: Condition taken directly from decision table

2/2000Unit Test Concepts6 (3) Identify Boundary Points bc1 Boundary Points Point 1: AT the boundary: Hours = 40 Point 2: Just INside: Hours = 39 Point 3: Just OUTside: Hours = 41 Observations: The Hours value must be paired with Rate Inclusive inequalities have 3 boundary points

2/2000Unit Test Concepts7 (4) Generate Test Cases Combine Hours boundary points with Rate Case 1 (AT): Hours = 40, Rate = 10, Pay=400 Case 2 (IN): Hours = 39, Rate = 10, Pay=390 Case 3: (OUT): Hours = 41, Rate=10, Pay=415 Observations: Test each boundary point individually Then consider pair-wise boundary points

2/2000Unit Test Concepts8 (5) Update Test Script Step StimuliExpected Response HoursRatePay =

2/2000Unit Test Concepts9 Your Turn Boundary Testing c1: Age <= 12 | Y N N c2: Age > 65 | Y N N c3: Age > 80 | Y c4: Weight > 300 | Y N N N N c5: Weight > 120 | N Y a1: Pills = 0 | X X a2: Pills = 1 | X a3: Pills = 2 | X X a4: Pills = 2+(W-120)/50 | X Decision Table:

2/2000Unit Test Concepts10 Your Turn (2-3) Boundary Conditions/Points Boundary Condition Boundary Point (BP) ATIN bc1: OUT bc2: bc3: bc4: bc5:

2/2000Unit Test Concepts11 Your Turn (4) Generate Boundary Test Cases To create a test case, you must pair an Age with a Weight Weight boundary point + NOMINAL Age Age boundary point + NOMINAL Weight OUT Age + OUT Weight A nominal value is one that is not close to a boundary point. For simplicity, use the same nominal value in all test cases.

2/2000Unit Test Concepts12 Your Turn (4) Boundary-Nominal Test Cases Condition btc BC Weight Age Expect Weight>300 1 IN OUT Age <= 12 3 IN AT 12 5 OUT 13 Age > 65 6 IN 7 OUT Age > 80 9 IN 10 OUT Weight> IN 12 OUT

2/2000Unit Test Concepts13 Your Turn (4) Out-Out Boundary Test Cases Condition OUT BP Weight Age btc Weight Age Expect >300 <=12 13 >65 14 >80 15 >120 <=12 16 >65 17 >80 18

2/2000Unit Test Concepts14 OBSERVATIONS Functional testing defines a minimal number of test cases Boundary testing adds a large number of test cases, but are EASY to create Boundary testing finds lots of errors!

2/2000Unit Test Concepts15 BOUNDARIES EXIST FOR Optional fields: (present, missing). Variable length data: null string, max length Database tables: empty Searching: first/last position File: closed, empty

2/2000Unit Test Concepts16 Agenda More on Boundary Points & Values Automated Test Data Generation Boundary Testing Approach Test Set Reduction Strategies

2/2000Unit Test Concepts17 Agenda More on Boundary Points & Values Automated Test Data Generation Boundary Testing Approach Test Set Reduction Strategies

2/2000Unit Test Concepts18 Tools for Boundary Testing Ref – MS thesis, Jermaine Stewart, 2006 Versions: BTDgen.run, BTDgenGUI.run Unix invocation: % BTDgen BTDgen: specification  Boundary Test Sets Full cartesian product – high volume [btd_xxx.txt] Reduced set (nominal values) [bnc_xxx.txt] Specification: var declarations + boundary conditions.

2/2000Unit Test Concepts19 Agenda More on Boundary Points & Values Automated Test Data Generation Boundary Testing Approach Test Set Reduction Strategies

2/2000Unit Test Concepts20 Boundary Test Set Reduction Cartesian product yields exponential size Boundary-nominal yields linear size By-passes “masking” problem Multiple boundaries not tested Combinatorial methods applied to each variable’s boundary value set.

2/2000Unit Test Concepts21 RANDOM TESTING Beyond scope of this lecture Used to bombard software with inputs (high volume testing) No effort to identify expected results Appropriate for automated load testing, where concern is for capacity/volume.

2/2000Unit Test Concepts22 MAIN POINTS BLACK-BOX TESTING Black-box = spec-based testing Tests intentions Key knowledge = stimuli and responses Decision table organizes S/R conditions Boundary testing flushes coding errors Black-box test case design can drive software design -- same issues addressed

2/2000Unit Test Concepts23 PUTTING IT ALL TOGETHER Test design is a systematic process whether you use decision tables or not, you must understand the factors influencing and influenced by the behavior of the unit The sooner you design test cases, the better Test design is more crucial than running tests Reveals assumptions, omissions and errors Use test cases during design and coding

2/2000Unit Test Concepts24 SOLUTIONS TO EXERCISES

2/2000Unit Test Concepts25 Your Turn (2) Identify Boundary Conditions Condition 1 (bc1): Age <= 12 Condition 2 (bc2): Age > 65 Condition 3 (bc3): Age > 80 Condition 4 (bc4): Weight > 300 Condition 5 (bc5): Weight > 120

2/2000Unit Test Concepts26 Your Turn (3) Identify Boundary Points Boundary Condition Boundary Point ATIN bc1: Age <= 12 OUT bc2: Age > 65 bc3: Age > 80 bc4: Weight > 300 bc5: Weight >

2/2000Unit Test Concepts27 Your Turn (4) Boundary-Nominal Test Cases Condition btc BC Weight Age Expect Weight>300 1 IN OUT Weight>120 3 IN OUT Age <= 12 5 AT IN OUT Age>65 8 IN OUT Age>80 10 IN OUT

2/2000Unit Test Concepts28 Your Turn (4) Out-Out Boundary Test Cases Condition OUT B-point Weight Age btc Weight Age Expect >300 <= > > >120 <= > >