PESIT Bangalore South Campus

Similar documents
PES INSTITUTE OF TECHNOLOGY- BANGALORE SOUTH CAMPUS

EECS 4313 Software Engineering Testing. Topic 05: Equivalence Class Testing Zhen Ming (Jack) Jiang

Functional Testing (Black Box Testing)

Quality Assurance in Software Development

Software Testing. 1. Testing is the process of demonstrating that errors are not present.

Mainline Functional Testing Techniques

Software Testing: A Craftsman s Approach, 4 th Edition. Chapter 5 Boundary Value Testing

Question Bank. Unit 1: Perspective on Testing, Examples. Chapter 1 & 2 from Dr. Paul C. Jorgensen

PESIT Bangalore South Campus SOLUTION

Software technology 7. Testing (2) BSc Course Dr. Katalin Balla

Specification-based test design

CS 4387/5387 SOFTWARE V&V LECTURE 4 BLACK-BOX TESTING

4B Summary of some Key SW Testing Concepts 1

UNIT-4 Black Box & White Box Testing

Chapter 3: Dynamic Testing Techniques

UNIT-4 Black Box & White Box Testing

Introduction. Easy to get started, based on description of the inputs

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication

No Source Code. EEC 521: Software Engineering. Specification-Based Testing. Advantages

Black Box Testing. EEC 521: Software Engineering. Specification-Based Testing. No Source Code. Software Testing

PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Electronics and Communication

Software Quality Assurance. David Janzen

Input Space Partitioning

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, September 18, ISSN SOFTWARE TESTING

Chapter 20. A Closer Look at All Pairs Testing. Software Testing: A Craftsman s Approach, 4 th Edition. Chapter 20 All Pairs Testing

International Journal of Computer Engineering and Applications, Volume XII, Special Issue, April- ICITDA 18,

SOFTWARE TESTING LABORATORY

EXERCISES (Software Engineering)

CS 451 Software Engineering Winter 2009

1. A statement is a set of words and/or symbols that collectively make a claim that can be classified as true or false.

Equivalence Class Partitioning and Boundary Value Analysis -Black Box Testing Techniques

Decision Tables - Wikipedia Decision Table-Based Testing

Black-Box, Functional Testing

CHAPTER 8. Copyright Cengage Learning. All rights reserved.

Why testing and analysis. Software Testing. A framework for software testing. Outline. Software Qualities. Dependability Properties

Software Testing. Software Testing. Theory, Practise and Reality IBM Corporation

Aerospace Software Engineering

Software Quality Assurance Dynamic Test

Multidimensional Divide and Conquer 2 Spatial Joins

Verification and Validation

PESIT Bangalore South Campus

PESIT Bangalore South Campus

GENERALISED GEOMETRY

60th ANNUAL HIGH SCHOOL HONORS MATHEMATICS CONTEST

Integrating the classification tree method with combinatorial testing: test selection strategy

The Encoding Complexity of Network Coding

Matching Theory. Figure 1: Is this graph bipartite?

PAIRED-DOMINATION. S. Fitzpatrick. Dalhousie University, Halifax, Canada, B3H 3J5. and B. Hartnell. Saint Mary s University, Halifax, Canada, B3H 3C3

Lecture 17: Testing Strategies. Developer Testing

9.5 Equivalence Relations

Modern Methods in Software Engineering. Testing.

The strong chromatic number of a graph

SOFTWARE TESTING LABORATORY. I.AMarks:20 Hours/Week: 03 ExamHours: 3 Total Hours: 40 Exam Marks: 80 Number of Lecture Hours/Week: 01I + 02P

Graph Theory Questions from Past Papers

APPROXIMATING THE MAXMIN AND MINMAX AREA TRIANGULATIONS USING ANGULAR CONSTRAINTS. J. Mark Keil, Tzvetalin S. Vassilev

Genesys Info Mart. date-time Section

Matching and Planarity

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

Non-Linear Finite Element Methods in Solid Mechanics Attilio Frangi, Politecnico di Milano, February 3, 2017, Lesson 1

SOFTWARE TESTING LABORATORY. Subject Code: 10ISL68 I.A. Marks: 25 Hours/Week: 03 Exam Hours: 03 Total Hours: 42 Exam Marks: 50

Student Research. UBC Math Circle, January 25, Richard Anstee UBC, Vancouver

Darshan Institute of Engineering & Technology Unit : 9

7th Bay Area Mathematical Olympiad

CLASSIFICATION OF SURFACES

Unifying industrial and academic approaches to domain testing

Introduction to Software Testing Chapter 4 Input Space Partition Testing

Chapter 2 QUIZ. Section 2.1 The Parallel Postulate and Special Angles

18-642: Unit Testing 1/31/ Philip Koopman

A NEW TYPE OF SIZE FUNCTION RESPECTING PREMESHED ENTITIES

Computer Science and Software Engineering University of Wisconsin - Platteville 9-Software Testing, Verification and Validation

ISSN: [Keswani* et al., 7(1): January, 2018] Impact Factor: 4.116

Part I: Preliminaries 24

Software Engineering: Theory and Practice. Verification by Testing. Test Case Design. Tom Verhoeff

Software Engineering (CSC 4350/6350) Rao Casturi

Introduction to Testing

Software Testing Prof. Rajib Mall Department of Computer Science and Engineering Indian Institute of Technology, Kharagpur

2.1 Angles, Lines and Parallels & 2.2 Congruent Triangles and Pasch s Axiom

CSE 215: Foundations of Computer Science Recitation Exercises Set #9 Stony Brook University. Name: ID#: Section #: Score: / 4

Black Box Testing (revisited) Csci 565 Spring 2007

2006 Fryer Contest. Solutions

This Lecture. We will first introduce some basic set theory before we do counting. Basic Definitions. Operations on Sets.

Pebble Sets in Convex Polygons

Warm-Up. Find the domain and range:

Math 302 Introduction to Proofs via Number Theory. Robert Jewett (with small modifications by B. Ćurgus)

Chapter 6.1 Medians. Geometry

MATH 115: Review for Chapter 1

PESIT Bangalore South Campus

Kanban Guides for Merlin Project ProjectWizards GmbH

[Ch 6] Set Theory. 1. Basic Concepts and Definitions. 400 lecture note #4. 1) Basics

1. Lecture notes on bipartite matching

All numbered readings are from Stillwell s The four pillars of geometry.

3 No-Wait Job Shops with Variable Processing Times

Acute Triangulations of Polygons

A Comparative Analysis On Equivalence class partitioning And Boundary value analysis

Solutions to the Test. Problem 1. 1) Who is the author of the first comprehensive text on geometry? When and where was it written?

Transformations Part If then, the identity transformation.

Generell Topologi. Richard Williamson. May 6, 2013

Verification and Validation. Assuring that a software system meets a user s needs. Verification vs Validation. The V & V Process

Activity 8. Midsegment of a Triangle. Name. Date

Using Cantor s Diagonal Method to Show ζ(2) is Irrational

Transcription:

USN 1 P E PESIT Bangalore South Campus Hosur road, 1km before Electronic City, Bengaluru -100 Department of Information Science & Engineering INTERNAL ASSESSMENT TEST 1 Date : 23/02/2016 Max Marks: 50 Subject & Code : Software Testing / 10IS65 Section: 6 th A & B Name of faculty: Mr. Animesh Giri Time: 8:30 AM 10:00 AM Note: ANSWER ANY FIVE FULL QUESTIONS REFER TEST CASE TEMPLATE PROVIDED TO TABULATE TEST CASES SOLUTION SCHEMA 1. a) Define Software Testing. What are the motivation behind usage of Equivalence Class testing and how does it addresses the problem observed in Boundary Value Analysis testing. (05 Marks) Answer: The use of equivalence classes as the basis for functional testing has two motivations: a. To have a sense of complete testing and b. To avoid redundancy The problems faced in BVA method are: The test cases generated by BVA method emphasize more on the extreme values of input variables. Hence, in BVA method serious gaps exist between test cases which does not results in a satisfactory testing. Moreover, it has an assumption that the input variables are truly independent, and when this assumption is not warranted, the method generates unsatisfactory test cases. The BVA test cases are obtained by holding the values of all but one variable at their nominal values, and letting that variable assume its extreme values. This results in redundant test cases at nominal values of variables. Both the problems faced in BVA test cases are overcome by Equivalence class test cases: Equivalence classes form partitions of an input set, where partitions refer to a collection of mutually disjoint subsets, the union of which is the entire set. This has two implications for testing: the fact that the entire set is represented provides a form of completeness, and The disjointedness ensures a form of non-redundancy.

b) Explain Structural testing (White Box) with diagram & list out its advantages; Highlight the drawbacks of Functional (Black Box) testing approach. (05 Marks) Answer: White box/structural/clear box testing: White- box testing (also known as clear box testing, glass box testing, and transparent box testing and structural testing) is a method of testing software that tests internal structures or workings of an application, as opposed to its functionality. Some structural testing methods are Path testing and dataflow testing. Fig: White box testing Functional testing has two distinct advantages: 1) They are independent of how the software is implemented, so if the implementation changes the test cases are still useful. 2) Test case development can occur in parallel with the implementation, there by reducing the overall project development interval. Drawbacks of functional testing approach: 1) Significant redundancies may exist among test cases, compounded by the possibility of gaps of untested software. 2) Because functional testing are based on the specified behavior, it is hard to imagine these methods identifying behaviors that are not on the specified behavior

2. Explain in detail the Worst-Case Boundary Value Analysis (WC-BVA) testing with appropriate diagram to generate test cases for a function of two variables, Also, List all the generated WC- BVA Test Cases. Finally tabulate 10 Unique Test Cases along with the expected output for Triangle Problem (10 Marks) Worst Case Testing: Worst Case testing considers the five element set that contains the min, min+, nom, max- and max values for each variable. Cartesian product of these sets is taken to generate test cases. Worst case testing does not consider the single fault assumption of reliability theory. Worst case testing is clearly more thorough in the sense that boundary value analysis test cases are proper subset of worst-case test cases. Worst-case test cases for a function of n variables generate 5 n test cases. Worst-case test cases for a function of two variables is shown in Figure-2.4 x 2 d c a b x 1 Case a b c Expected Output 1 100 100 1 Isosceles 2 100 100 2 Isosceles

3 100 100 100 Equilateral 4 100 100 199 Isosceles 5 100 100 200 Not A Triangle 6 100 1 100 Isosceles 7 100 2 100 Isosceles 3. Tabulate 10 each unique Test Case along with the expected output by applying Robust BVA & Worst BVA approach. Mention the boundary for each variables used for the below mentioned examples. i) NextDate Function ii) Commission Problem (10 Marks) Answer: Next Date Function: NextDate is a function of three variables: month, day, and year. It returns the date if the day after the input date. The month, day, and year variables have integer values subject to these conditions: c1. 1<=month<=12 c2. 1<= day<=31 c3. 1812<=year<=2012 NextDate function Boundary Value Analysis Test Cases Case month day year Expected Output 1 6 15 1812 june 16,1812 2 6 15 1813 june 16,1813 3 6 15 1912 june 16,1912

4 6 15 2011 june 16,2011 5 6 15 2012 june 16,2012 6 6 1 1912 june 2,1912 7 6 2 1912 june 3,1912 Commission Problem Output Boundary Value Analysis Test Cases: Case Locks Stocks Barrels Sales Commission Comment 1 1 1 1 100 10 Output minimum 2 1 1 2 125 12.5 Output minimum+ 3 1 2 1 130 13 Output minimum+ 4 2 1 1 145 14.5 Output minimum+ 5 5 5 5 500 50 Midpoint 6 10 10 9 975 97.5 Border Point- 7 10 9 10 970 97 Border Point-

4. a) Explain in detail the Equivalence Class testing technique for a function of two variables generating all possible test cases considering i) Weak Normal Equivalence Class Testing ii) Strong Robust Equivalence Class Testing (05 Marks) b) Mention all possible Valid & Invalid Equivalence Classes for generating test cases for NextDate Function, and tabulate 10 unique test cases along with the expected output by applying Weak Normal & Strong Robust Equivalence Class Testing approach. (05 Marks) Answer:. Weak Normal Equivalence Class Testing: It identifies equivalence classes of valid values. Faults due to valid values of a single variable is detected (Single fault assumption). Weak normal class testing is accomplished by using one variable from each equivalence class (interval) in a test case. It is suitable for regression testing. Weak normal equivalence class test cases: where, a<=x1<=d, with intervals [a,b), [b,c), [c,d]; e<=x2<=g, with intervals [e,f), [f,g] are valid classes ii). Strong robust Equivalence Class Testing: In Strong robust Equivalence Class testing, the robust part comes from consideration of invalid values, and the strong part refers to the multiple fault assumption.

we obtain test cases from each element of the cartesian product of all the equivalence classes, as shown: where, a<=x1<=d, with intervals [a,b), [b,c), [c,d]; e<=x2<=g, with intervals [e,f), [f,g] x1<a, x1>d and x1<e, x2>g are valid classes and are invalid classes Problem Statement: NextDate is a function of three variables: month, day, and year. It returns the date if the day after the input date. The month, day, and year variables have integer values subject to these conditions: c1. 1<=month<=12 c2. 1<= day<=31 c3. 1812<=year<=2012 Responses are defined for invalid values of the input variables for the day, month, and year and invalid combination of inputs. If any of the conditions c1, c2 and c3 fails, NextDate produces an output indicating the corresponding variable has an out of range value. The NextDate function illustrates very well the craft of choosing the underlying equivalence relation. NextDate is a function of three variables month, day, and year and these have intervals of valid values defined as follows: M1 = {month : 1 month 12} D1 = {day : 1 day 31} Y1 = {year : 1812 year 2012}

The invalid equivalence classes are: M2 = {month : month < 1} M3 = {month : month > 12} D2 = day : day < 1} D3 = {day : day>31} Y2 = {year : year < 1812} Y3 = {year : year >2012} Because the number of valid classes equals the number of independent variables, onl one weak normal equivalence class test case occurs, and it is identical to the strong normal equivalence class test case: Case ID Month Day Year Expected Output WN1, SN1 6 15 1912 6/16/1912 Here is the full set of weak robust test cases: Case ID Month Day Year Expected Output WR1 6 15 1912 6/16/1912 WR2-1 15 1912 Value of month not in range 1 12 WR3 13 15 1912 Value of month not in range 1 12 WR4 6-1 1912 Value of day not in range 1 31 WR5 6 32 1912 Value of day not in range 1 31 WR6 6 15 1811 Value of year not in range 1812 2012 WR7 6 15 2013 Value of year not in range 1812 2012 Here is one corner of the cube in 3-space of the additional strong robust equivalence class test cases: Case ID Month Day Year Expected Output SR1-1 15 1912 Value of month not in range 1 12 SR2 6-1 1912 Value of day not in range 1 31 SR3 6 15 1811 Value of year not in range 1812 2012 SR4-1 -1 1912 Value of day not in range 1 31 Value of month not in range 1 12

SR5 6-1 1811 Value of day not in range 1 31 Value of year not in range 1812 2012 SR6-1 15 1811 Value of year not in range 1812 2012 Value of month not in range 1 12 SR7-1 -1 1811 Value of month not in range 1 12 Value of day not in the range 1 31 Value of year not in range 1812 2012 If we carefully choose the equivalence relation, the resulting equivalence classes will be more useful. We next reduce the granularity by focusing on more specific treatment. What must be done to an input date? If it is the last day of a month, the NextDate function will simple increment the day value. At the end of a month, the next day is 1 and the month is incremented. At the end of a year, both the day and month are reset to 1, and the year is incremented. Finally, the problem of leap year makes determining the last day of a month interesting. With all this in mind, we might postulate the following equivalence classes: M1 = {month : month has 30 days} M2 = {month : month has 31 days} M3 = {month : month is February} D1 = {day : 1 day 28} D2 = {day : day = 29} D3 = {day : day = 30} D4 = {day : day = 31} Y1 = {year : year = 2000} Y2 = {year : year is a non-century leap year} Y3 = {year : year is a common year} By choosing separate classes for 30- and 31- day months, we simplify the question of the last day of a month. By taking February as a separate class, we can give more attention to leap year questions. We also give special attention to day values: days in D1 are (nearly) always incremented, while days in D4 only have meaning for months in M2. Finally, we have three classes of years: the special case of the year 2000, leap years, and non-leap years. This is not a perfect set of equivalence classes, but its use will reveal many potential errors Equivalence Class Test Cases: Weak Normal Equivalence class test cases for the revised classes are: Case ID Month Day Year Expected Output WN1 6 14 2000 6/15/1912

WN2 7 29 1996 7/30/1996 WN3 2 30 2002 Invalid input date WN4 6 31 2000 Invalid input date Strong Normal Equivalence class test cases for the revised classes are: Case ID Month Day Year Expected Output SN1 6 14 2000 6/15/2000 SN2 6 14 1996 6/15/1996 SN3 6 14 2002 6/15/2002 SN4 6 29 2000 6/30/2000 SN5 6 29 1996 6/30/1996 SN6 6 29 2002 6/30/2002 SN7 6 30 2000 Invalid input date SN8 6 30 1996 Invalid input date SN9 6 30 2002 Invalid input date SN10 6 31 2000 Invalid input date SN11 6 31 1996 Invalid input date SN12 6 31 2002 Invalid input date SN13 7 14 2000 7/15/2000 SN14 7 14 1996 7/15/1996 SN15 7 14 2002 7/15/2002 SN16 7 29 2000 7/30/2000 SN17 7 29 1996 7/30/1996 SN18 7 29 2002 7/30/2002 SN19 7 30 2000 7/31/2000 SN20 7 30 1996 7/31/1996 SN21 7 30 2002 7/31/2002 SN22 7 31 2000 8/1/2000 SN23 7 31 1996 8/1/1996 SN24 7 31 2002 8/1/2002 SN25 2 14 2000 2/15/2000 SN26 2 14 1996 2/15/1996 SN27 2 14 2002 2/15/2002 SN28 2 29 2000 Invalid input date SN29 2 29 1996 3/1/1996 SN30 2 29 2002 Invalid input date SN31 2 30 2000 Invalid input date SN32 2 30 1996 Invalid input date SN33 2 30 2002 Invalid input date SN34 2 31 2000 Invalid input date

SN35 2 31 1996 Invalid input date SN36 2 31 2002 Invalid input date The move from weak to strong, whether with normal or robust classes, always makes the presumption of independence, and this is reflected in the cross-product of the equivalence classes. 3 month classes 4 day classes 3 year classes = 36 strong normal equivalence test cases. 5. a) Illustrate the scenario with the help of sample decision table where the decision table is Redundant and Inconsistent (i.e. Non-deterministic) (04 Marks) Answer: Decision table be concluded as redundant - if it has two identical rules i.e same action entries in two or more rules for different or identical condition entries as shown: In the table shown above action entries in rule 9 is identical to rule 1 to 4. Decision table be concluded as inconsistent - if actions in redundant rule are not identical (different) to the corresponding part of decision table as shown:

In the table shown above, if a transaction in which c1 is true and both c2 and c3 are false then both rules 4 and 9 apply. Two observations can be made: Answer: - rules 4 and 9 are inconsistent. - the decision table is nondeterministic. b) Explain in detail the concept of Rule Count considering Refined Decision Table for Triangle Program to indicate irrelevant don t care entries present in the decision table. (06 Marks) For limited entry decision tables, if n conditions exists, there must be 2^n rules. When don t care entries really indicate that the condition is irrelevant, we can develop a rule count as follows: rules in which no don t care entries occur count as one rule, and each don t care entry in a rule doubles the count of that rule as shown below: The sum of the rule count= 2^6=64.

6. Create a decision table for NextDate Function by identifying appropriate Equivalence classes as conditions and determine actions for generating all possible test cases by considering decision table with 22 Rules. Finally tabulate all 22 test cases for NextDate Function (10 Marks) Answer: M1= {month : month has 30 days} M2= {month : month has 31 days} M3= {month : month is february} M4:{month:month is December} D1= {day : 1<=day<=28} D2= {day : day=29} D3= {day : day=30} D4= {day : day=31} Y1= {year : year=2000} Y2= {year : year is a non-century leap year} Y3= {year : year is a common year

TEST CASE TEMPLATE Test Case Id Description Input Data Expected Output Actual Output Status (PASS / FAIL ) ********************* ALL THE VERY BEST *********************