1 Software Testing and Quality Assurance Lecture 6 - Software Testing Techniques.

Slides:



Advertisements
Similar presentations
Software Testing Techniques
Advertisements

Chapter 14 Software Testing Techniques - Testing fundamentals - White-box testing - Black-box testing - Object-oriented testing methods (Source: Pressman,
SOFTWARE TESTING. INTRODUCTION  Software Testing is the process of executing a program or system with the intent of finding errors.  It involves any.
Introduction to Software Engineering Lecture 11 André van der Hoek.
Axiomatic Verification I Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 17.
Basic Control Structures Control order of execution of statements sequential selection iteration - Repeat some action while a certain condition is true.
Unit Testing CSSE 376, Software Quality Assurance Rose-Hulman Institute of Technology March 27, 2007.
1 Static Analysis Methods CSSE 376 Software Quality Assurance Rose-Hulman Institute of Technology March 20, 2007.
Software Engineering Testing Lecture 4 ASPI8-4 Anders P. Ravn, Feb 2004.
Do/while Structure (L15) * do/while structure * break Statement * continue Statement * Loop Programming Techniques - Interactive input within a loop -
Introduction to Computer Science Iteration –the while loop –the for loop Unit 8.
Software Testing and Quality Assurance
Software Testing and Quality Assurance
BASIS PATH TESTING ● By Tom McCabe ● McCabe, T., "A Software Complexity Measure," IEEE Trans. Software Engineering, vol. SE-2, December 1976, pp
Chapter 18 Testing Conventional Applications
Hardware solutions So far we have looked at software solutions for the critical section problem. –algorithms whose correctness does not rely on any other.
1 Software Testing and Quality Assurance Lecture 5 - Software Testing Techniques.
Software Engineering Lecture 12 Software Testing Techniques 1.
SOFTWARE TESTING WHITE BOX TESTING 1. GLASS BOX/WHITE BOX TESTING 2.
CS 325: Software Engineering March 31, 2015 Software Testing Black-Box Testing White-Box Testing Regression Testing.
Software Systems Verification and Validation Laboratory Assignment 3
1 ECE 453 – CS 447 – SE 465 Software Testing & Quality Assurance Lecture 9 Instructor Paulo Alencar.
Chapter 6 Iteration Lecture Slides to Accompany An Introduction to Computer Science Using Java (2nd Edition) by S.N. Kamin, D. Mickunas, E. Reingold.
CS4311 Spring 2011 Unit Testing Dr. Guoqiang Hu Department of Computer Science UTEP.
1 R. Johnsonbaugh, Discrete Mathematics Chapter 4 Algorithms.
Overview of Software Testing 07/12/2013 WISTPC 2013 Peter Clarke.
CS /51 Illinois Institute of Technology CS487 Software Engineering Software Testing Techniques Mr. David A. Lash.
Agenda Introduction Overview of White-box testing Basis path testing
Reading – Chapter 10. Recursion The process of solving a problem by reducing it to smaller versions of itself Example: Sierpinski’s TriangleSierpinski’s.
1 Software Testing. 2 Path Testing 3 Structural Testing Also known as glass box, structural, clear box and white box testing. A software testing technique.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
INTRUDUCTION TO SOFTWARE TESTING TECHNIQUES BY PRADEEP I.
White-box Testing.
CS 217 Software Verification and Validation Week 7, Summer 2014 Instructor: Dong Si
1 09/20/04CS150 Introduction to Computer Science 1 Let ’ s all Repeat Together.
Software Testing Input Space Partition Testing. 2 Input Space Coverage Four Structures for Modeling Software Graphs Logic Input Space Syntax Use cases.
1 Program Testing (Lecture 14) Prof. R. Mall Dept. of CSE, IIT, Kharagpur.
Overview Go over parts of quiz? Another iteration structure for loop.
Section 12.5 Functions of Three Variables. Consider temperature at a point in space –It takes 3 coordinates to determine a point in space, (x, y, z),
13 Aug 2013 Program Verification. Proofs about Programs Why make you study logic? Why make you do proofs? Because we want to prove properties of programs.
Theory and Practice of Software Testing
SOFTWARE TESTING. Introduction Software Testing is the process of executing a program or system with the intent of finding errors. It involves any activity.
Recursion A recursive definition is one which uses the word or concept being defined in the definition itself Example: “A computer is a machine.
September 7, 2004ICP: Chapter 3: Control Structures1 Introduction to Computer Programming Chapter 3: Control Structures Michael Scherger Department of.
1 Graph Coverage (3). Reading Assignment P. Ammann and J. Offutt “Introduction to Software Testing” ◦ Section 2.2 ◦ Section
Review Expressions and operators Iteration – while-loop – for-loop.
White Box Testing by : Andika Bayu H.
White-Box Testing Techniques I Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 7.
Software Testing and Maintenance Lecture 3 Graph Coverage for Source Code Paul Ammann & Jeff Offutt Instructor: Hossein Momeni Mazandaran.
1 CSC103: Introduction to Computer and Programming Lecture No 9.
C++ Programming: CS102 LOOP. Not everything that can be counted counts, and not every thing that counts can be counted. −Albert Einstein Who can control.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
White-Box Testing Techniques. Definition of White-Box Testing Testing based on analysis of internal logic (design, code, etc.). (But expected results.
1 Sections 7.2 – 7.7 Nested Control Statements Fundamentals of Java: AP Computer Science Essentials, 4th Edition Lambert / Osborne.
Infinite for Loop If you omit the test condition, the value is assumed to be TRUE so the loop will continue indefinitely unless you provide some other.
Software Engineering (CSI 321)
Software TestIng White box testing.
Topic 4: Looping Statements
CIS3931 – Intro to JAVA Lecture Note Set 2 17-May-05.
Software Testing.
White-Box Testing Techniques
White-Box Testing Techniques III
Software Testing (Lecture 11-a)
Chapter 14 Software Testing Techniques
Conditional Construct
White-Box Testing Techniques III
CSC215 Lecture Flow Control.
CSC215 Lecture Control Flow.
White-Box Testing Techniques I
CSC215 Lecture Control Flow.
Presentation transcript:

1 Software Testing and Quality Assurance Lecture 6 - Software Testing Techniques

2 Lecture Outline Introduction to domain testing. How to select test cases based on domain boundaries.

3 Domain Testing Partition input of a program using the program structure itself. Input space is first partitioned into a set of mutually exclusive classes. Each corresponds to a program path. Test cases are selected from The domain boundaries Points close to the domain boundaries.

4 Example int f (float x, y) { float w, z; w = x + y; if (x + y ≥ 2){ z = x - 3y; } else { z = 2x - 5y; } if (z + w > 3) z = f(x,y,z); else z = g(x,y,z); } Return z; } Two If/then/else statements

5 Example int f (float x, y) { float w, z; w = x + y; if (x + y ≥ 2){ z = x - 3y; } else { z = 2x - 5y; } if (z + w > 3) z = f(x,y,z); else z = g(x,y,z); } Return z; } C1ax+y≥2 C1bx+y<2 C2a(C1 T)2x-2y>3 C2b(C1 F)3x-4y>3

6 Domains for the program (2,0) TT FT (3/22,0) (1,0) TF FF (0,2) (0,3/22) (0,4/3)

7 Simple & Compound Predicates Simple predicates contain a set of variables such as, = etc. Create simple boundaries. Compound predicate are AND operators OR operators Combination of both

8 Compound Predicate - Example X ≤ 0X ≥ 2 Sun-domain This region is not part of the sub-domain being tested. X ≤ 0 V X ≥ 2 Function 1 Function 2

9 Loops in programs If each program path corresponds to a function; then for loops We may have an infinite number of paths. An infinite number of equivalence classes. Apply zero- to-many rule. Minimum number of times a loop can execute is zero. Some loops have upper bound, so treat that as a path.

10 Loops in programs Zero times - we can test paths that do no execute the loop. Once - test that the loop can be entered and result of single iteration are correct. Twice - to test that the results remain correct between different iterations of loop. N times (more than 2) - to test that an arbitrary number of iterations returns the correct results; and N + 1 times - test that after an arbitrary number of iterations the result remain correct.

11 Key points To select test cases, input space is first partitioned into a set of equivalence classes. Simple predicates. Compound predicates. Loops