Test Case Designing UNIT - 2. Topics Test Requirement Analysis (example) Test Case Designing (sample discussion) Test Data Preparation (example) Test.

Slides:



Advertisements
Similar presentations
Testing and Quality Assurance
Advertisements

Testing and Test Case Development A “primitive” method of testing, with NO test preparation, may include the following steps : – Initiate the system –
Ossi Taipale, Lappeenranta University 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.
CMSC 345, Version 11/07 SD Vick from S. Mitchell Software Testing.
Black box testing  Black box tests focus on the input/output behavior of the component  Black-box tests do not deal with the internal aspects of the.
Informatics 43 – May 5, Restatement of goals Want to verify software’s correctness  Need to test  Need to decide on test cases  No set of test.
1 CODE TESTING Principles and Alternatives. 2 Testing - Basics goal - find errors –focus is the source code (executable system) –test team wants to achieve.
Informatics 43 – April 30, What is a test case? An input to a system, and the correct output. An “input” may be complex. Example: – What is an input.
Software Testing and Quality Assurance
Testing an individual module
Software Testing Prasad G.
Software Engineering Lecture 12 Software Testing Techniques 1.
1 Software Testing Techniques CIS 375 Bruce R. Maxim UM-Dearborn.
Chapter 13 & 14 Software Testing Strategies and Techniques
Equivalence Class Testing
1 Functional Testing Motivation Example Basic Methods Timing: 30 minutes.
Software Testing Sudipto Ghosh CS 406 Fall 99 November 9, 1999.
Verificarea şi Validarea Sistemelor Soft Tem ă Laborator 2 Testare Black Box Dat ă primire laborator: Lab 2 Dat ă predare laborator: Lab 2,3.
System/Software Testing
These slides are designed to accompany Software Engineering: A Practitioner’s Approach, 7/e (McGraw-Hill 2009). Slides copyright 2009 by Roger Pressman.1.
White-box Testing Black-box Testing Extensions
CMSC 345 Fall 2000 Unit Testing. The testing process.
Prof. Mohamed Batouche Software Testing.
Software Engineering Chapter 23 Software Testing Ku-Yaw Chang Assistant Professor Department of Computer Science and Information.
1 Testing Course notes for CEN Outline  Introduction:  terminology and philosophy  Factors that influence testing  Testing techniques.
CS /51 Illinois Institute of Technology CS487 Software Engineering Software Testing Techniques Mr. David A. Lash.
Software Testing The process of operating a system or component under specified conditions, observing and recording the results, and making an evaluation.
Requirements-based Test Generation for Functional Testing (© 2012 Professor W. Eric Wong, The University of Texas at Dallas) 1 W. Eric Wong Department.
Software Development Cycle What is Software? Instructions (computer programs) that when executed provide desired function and performance Data structures.
Introduction to Software Testing. Types of Software Testing Unit Testing Strategies – Equivalence Class Testing – Boundary Value Testing – Output Testing.
INF 111 / CSE 121: Software Tools and Methods Lecture Notes for Fall Quarter, 2007 Michele Rousseau Set 12 (Some slides adapted from Sommerville 2000 &
CSE403 Software Engineering Autumn 2001 More Testing Gary Kimura Lecture #10 October 22, 2001.
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.
Black Box Testing Techniques Chapter 7. Black Box Testing Techniques Prepared by: Kris C. Calpotura, CoE, MSME, MIT  Introduction Introduction  Equivalence.
Unit Testing 101 Black Box v. White Box. Definition of V&V Verification - is the product correct Validation - is it the correct product.
Black-box Testing.
INTRUDUCTION TO SOFTWARE TESTING TECHNIQUES BY PRADEEP I.
CS 217 Software Verification and Validation Week 7, Summer 2014 Instructor: Dong Si
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.
Today’s Agenda  Reminder: HW #1 Due next class  Quick Review  Input Space Partitioning Software Testing and Maintenance 1.
Case Study: Black-Box Testing Prepared by Stephen M. Thebaut, Ph.D. University of Florida Software Testing and Verification Lecture 6.1.
Software Engineering1  Verification: The software should conform to its specification  Validation: The software should do what the user really requires.
Testing and inspecting to ensure high quality An extreme and easily understood kind of failure is an outright crash. However, any violation of requirements.
1 Lecture 15: Chapter 19 Testing Object-Oriented Applications Slide Set to accompany Software Engineering: A Practitioner’s Approach, 7/e by Roger S. Pressman.
Testing Data Structures Tao Xie Visiting Professor, Peking University Associate Professor, North Carolina State University
Dynamic Testing.
Theory and Practice of Software Testing Chapter 14 Presman Software Testing Tactics BLACK BOX TESTING.
1 © 2011 Professor W. Eric Wong, The University of Texas at Dallas Requirements-based Test Generation for Functional Testing W. Eric Wong Department of.
Dynamic White-Box Testing What is code coverage? What are the different types of code coverage? How to derive test cases from control flows?
Informatics 43 – May 3, Restatement of goals Want to verify software’s correctness  Need to test  Need to decide on test cases  No set of test.
SOFTWARE TESTING LECTURE 9. OBSERVATIONS ABOUT TESTING “ Testing is the process of executing a program with the intention of finding errors. ” – Myers.
Software Testing. SE, Testing, Hans van Vliet, © Nasty question  Suppose you are being asked to lead the team to test the software that controls.
1 Software Testing. 2 What is Software Testing ? Testing is a verification and validation activity that is performed by executing program code.
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.
Functional testing, Equivalence class testing
Software Engineering (CSI 321)
PREPARED BY G.VIJAYA KUMAR ASST.PROFESSOR
Equivalence partitioning
Equivalence partitioning
Domain Testing Functional testing which tests the application by giving inputs and evaluating its appropriate outputs. system does not accept invalid and.
Chapter 13 & 14 Software Testing Strategies and Techniques
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Static Testing Static testing refers to testing that takes place without Execution - examining and reviewing it. Dynamic Testing Dynamic testing is what.
Informatics 43 – April 28, 2016.
Chapter 10 – Software Testing
Software Testing “If you can’t test it, you can’t design it”
Chapter 1: Boundary Value Testing
UNIT-4 BLACKBOX AND WHITEBOX TESTING
Chapter 13 & 14 Software Testing Strategies and Techniques 1 Software Engineering: A Practitioner’s Approach, 6th edition by Roger S. Pressman.
Presentation transcript:

Test Case Designing UNIT - 2

Topics Test Requirement Analysis (example) Test Case Designing (sample discussion) Test Data Preparation (example) Test Coverage

Test Case Design-Objectives Objective in test case design:  Detect as many defects as possible.  Good test coverage  Minimize test development costs.  Minimize test execution costs.  Minimize test maintenance costs

Type Source 1.Requirement Based Specifications 2.Design based Logical system 3.Code based Code 4.Extracted Existing files or test cases 5.Extreme Limits and boundary conditions Sources

1.Identify the basic cases that indicate program functionality. 2.Create a minimal set of tests to cover all inputs and outputs. 3.Breakdown complex cases into single cases. 4. Remove unnecessary or duplicate cases. 5.Review systematically and thoroughly. Steps for selecting test cases: Requirement based test cases

Looks for exceptional conditions, extremes, boundaries, and abnormalities. Requires experience, creativity of the Test Engineer Need: Extreme cases

Extracted cases involved extracting samples of real data for the testing process. Randomized cases involved using tools to generate potential data for the testing process. Extracted and Randomized cases

1. Equivalence Partitioning 2. Boundary Value Analysis Test case Design methods 3. Random Testing

Random Testing Each software module or system has an input domain from which test input data is selected. If a tester randomly selects inputs from the domain, this is called random testing. For example, if the valid input domain for a module is all positive integers between 1 and 100, the tester using this approach would randomly, or unsystematically, select values from within that domain; for example, the values 55, 24, 3 might be chosen.

Equivalence class is a subset of data that is representative of a larger class Divide input domain into equivalence classes Attempt to cover classes of errors One test case per equivalence class, to reduce total number of test cases needed InputDomain Equivalence partitioning

A program which accepts credit limits with a given range Say, $10,000 – $15,000 This would have three equivalence classes:- 1. Less than $10,000(Invalid) 2. Between $10,000 and $15,000(Valid) 3. Greater than $15,000(Invalid) Example

Less than 10,000Between 10 and 15More than 15, Equivalence Partitions

Complements equivalence partitioning, selects the test cases at the “edge” of equivalence classes. In practice, more errors found at boundaries of equivalence classes than within the classes Divide input domain into equivalence classes A technique that consists of developing test cases and data that focus on the input and output boundaries of a given function Boundary Value Analysis

In the same credit limit example: the boundary analysis would test 1. low boundary plus or minus one ($ 9,999 and $10,001) 2. On the boundary ($10,000 and $15000) 3. Upper boundary plus or minus one ($14999 and $15001) Example

1.Value immediately below range 2.First value of range 3.Second value of range 4.Value immediately below last value of range 5.Last value of range 6.Value immediately above range Range of Boundary Values

Based on the theory that test cases can be developed based upon the intuition and experience of the Test Engineer. In an example where one of the inputs is the date and the Test Engineer may try February 29, 2000 or 9/9/9999 Error Guessing

Test Case Design techniques Special value testing-  Selecting data based on the basis of the features of the function to be computed is called special value testing. This is applicable mainly to mathematical computations

Test Case Design-Best practice Best practice is to develop at least two test cases for each requirement for test:  a test case to demonstrate the requirement has been achieved, often referred to as a positive test case,  another test case, reflecting an unacceptable, abnormal, or unexpected condition or data, to demonstrate that the requirement is only achieved under the desired condition, referred to as a negative test cases.

To Capture Test Case Details: 1.Testcase ID (should be unique, eg: c_01.1, c_01.1a, c_01.2,…) 2.Feature functionality to be tested (each Requirement/feature could be from Usecase) 3.Test Description/ test input details (test input, test data, action to be performed to test the feature, complex test cases be split to more than one) 4.Expected behavior ( in messages, screens, data, to be with correct details) 5.Actual and Status