Presentation is loading. Please wait.

Presentation is loading. Please wait.

Chapter 2: Boundary Value Testing : BVT 322235 Software Testing Chapter 2: Boundary Value Testing : BVT 322235 Software Testing By Dr. Wararat Songpan.

Similar presentations


Presentation on theme: "Chapter 2: Boundary Value Testing : BVT 322235 Software Testing Chapter 2: Boundary Value Testing : BVT 322235 Software Testing By Dr. Wararat Songpan."— Presentation transcript:

1 Chapter 2: Boundary Value Testing : BVT Software Testing Chapter 2: Boundary Value Testing : BVT Software Testing By Dr. Wararat Songpan (Rungworawut) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand

2 Guideline of Boundary Value Testing This technique focuses on variable as number.

3 Boundary Value Testing : BVT BVT is a black box testing technique There are 4 sub-techniques of BVT 1) Boundary Value Analysis: BVA 2) Robustness Testing: RT 3) Worst-Case Testing: WT 4) Robust Worst-Case Testing: RWT

4 1) Boundary Value Analysis: BVA When the function F is implemented as a program, the input variable x1 and x2 will have boundaries as follows, a =< x1 =< b c =< x2 =< d x2 x1 d c ab

5 Example: A function of addition x1 x2 Function: Addition X1 and x2 Results = Spec. 1<=x1<=10 Spec. 1<=x2<=10

6 1) Boundary Value Analysis: BVA(Cont.) The 5 values used to test the extremities are: 1) minimum (min) 2) above minimum (min+) 3) nominal (nom) 4) below maximum (max-) 5) maximum (max)

7 1) Boundary Value Analysis: BVA(Cont.)  BVA Test cases for function F X1X2Expected Results x1 nom x2 min x1 nom x2 min+ x1 nom x2 nom x1 nom x2 max- x1 nom x2 max x1 min x2 nom x1 min+ x2 nom x1 nom x2 nom x1 max- x2 nom x1 max x2 nom The number of test case is 4n+1,where n is the number of variable The number of test case is 4n+1,where n is the number of variable

8 1) Boundary Value Analysis: BVA(Cont.)  BVA Test cases for function F of addition X1X2Expected Results ??? x1 x2 Function: Addition X1 and x2 Results =

9 The idea and motivation behind BVA is that errors tend to occur near the extremities of the input variables. The defects found on the boundaries of these input variables can obviously be the result of countless possibilities. For example if the programmer forgot to count from zero or they just miscalculated. Errors in the code concerning loop counters being off by one or the use of a < operator instead of ≤. One of the values taking on their extreme values at any one particular time. The reason for this is that generally Boundary Value Analysis uses that called “ Single Fault Assumption”. 1) Boundary Value Analysis: BVA(Cont.)

10 Example: The Triangle Problem Problem statements (Simple version) input 3 integers: a, b, c are side of triangle Output is type of triangle o Equilateral o Isosceles o Scalene o Not a Triangle (how to chek it?)

11 Example: The Triangle Problem Problem statements (Improved version) o input 3 integers: a, b, c are side of triangle Spec and condition o c1: 1 = a (As a triangle) o c2: 1 = b (As a triangle) o c3: I = c (As a triangle) Output is type of triangle o Equilateral o Isosceles o Scalene o Not a Triangle

12 The Triangle Problem: Flowchart Input a, b, c Match=0 a=b? a=c? b=c? Match=Match+1 Match=Match+2 Match=Match+3 Match=0 ? Match=1 ? Match=2 ? a+b ≤ c? b+c ≤ a? Match=3 ? a+c ≤ b? a+b ≤ c? a+c ≤ b? b+c ≤ a? y y y y y y y y y y y y y n n n n n n n n n n n n n Equilateral Isosceles Not a TriangleScalene

13 Triangle: BVA Test Cases Design Test case ID abcExpected ResultsActual Results Isosceles Isosceles 3100 Equilateral Isosceles Not a Triangle Isosceles Isosceles 8100 Equilateral Isosceles Not a Triangle Isosceles Isosceles Equilateral Isosceles Not a Triangle

14 Example: The Next Date Function Problem Statements o input 3 variables: month, date, year Output: o as the next date from input the date Spec. and Conditions: o C1: January =< month =< December o C2: 1 =< day =< 31 o C3: 1812 =< year =< 2012 **Remark: The year should be verified as leap year

15 Leap Year One year has the length of 365 days, 5 hours, 48 minutes and 47 seconds. A normal year has been given 365 days and a leap year 366 days. So at leap years February 29th is added, which doesn't exist in a normal year. A leap year is every 4 years, but not every 100 years, then again every 400 years. For example: o 1992 is Leap Year (1992 mod 4 = 0 but1992 mod 100 and 400 ≠ 0) o 1900 is NOT a Leap Year (1900 mod 4 and 1900 mod100 = 0 but 1900 mod 400 ≠ 0) o 2000 is Leap Year (2000 mod 4,100 and 400 = 0)

16 Next Date: BVA Test Cases Design Test case ID MonthDayYearExpected ResultsActual Results 1June151812June 16, June151813June 16, June151912June 16, June152011June 16, June152012June 16, June June June June June January February June November December151912

17 2) Robustness Testing: RT Robustness testing can be seen as and extension of Boundary Value Analysis. The idea behind Robustness testing is to test input variables that fall just outside this input domain. We use two more values for each variable min- and max+ which are designed to fall just outside of the input range. Robustness testing is still “ Single Fault Assumption” because one of the values taking on their 7 extreme values at any one particular time.

18  Robustness Test cases for function F The number of test case is 6n+1,where n is the number of variable The number of test case is 6n+1,where n is the number of variable 2) Robustness Testing: RT X1X2Expected Results x1 nom x2 min- Alert message (out of range) x1 nom x2 min x1 nom x2 min+ x1 nom x2 nom x1 nom x2 max- x1 nom x2 max x1 nom x2 max+ x1 min- x2 nom x1 min x2 nom x1 min+ x2 nom x1 nom x2 nom x1 max- x2 nom x1 max x2 nom x1 max+ x2 nom

19 Worst-case Testing uses the critical fault assumption for more than one variable at a time assuming its extreme values called “ multiple faults assumption ” So we are able to test the outcome if more than one variable were to assume its extreme value. To generate test cases we take the original 5 extreme values (min, min+, nom, max-, max) and perform the Cartesian product of these values. The end product is a much larger set of results than we have seen before. 3) Worst-Case Testing: WT

20 3) Worst-Case Testing: WT(Cont.) The number of test case is 5 n,where n is the number of variable The number of test case is 5 n,where n is the number of variable  Worst-Case Test cases for function F x1x2 min min+ nom max- max min min+ nom max- max

21 Software Testing  Worst-Case Test cases for function F X1X2Expected Results x1 min x2 min x1 min x2 min+ x1 min x2 nom x1 min x2 max- x1 min x2 max x1 min+ x2 min x1 min+ x2 min+ x1 min+ x2 nom x1 min+ x2 max- x1 min+ x2 max …… …… 3) Worst-Case Testing: WT(Cont.)

22 If the function under test were to be of the greatest importance we could use a method named Robust Worst-Case testing which as the name suggests draws it attributes from Robust Worst-Case testing. Test cases are constructed by taking the Cartesian product of the 7 extreme values (min-, min, min+, nom, max-, max, max+) There are more than one variable at a time assuming its extreme values occurred critical fault called “ multiple faults assumption ” 4) Robust Worst-Case Test: RWT

23 x1 x2 min- min min+ nom max- max max+ min- min min+ nom max- max max+ The number of test case is 7 n,where n is the number of variable The number of test case is 7 n,where n is the number of variable

24 Software Testing 4) Robust Worst-Case Test: RWT  Robust Worst-Case Test cases for function F X1X2Expected Results x1 min- x2 min- x1 min- x2 min x1 min- x2 min+ x1 min- x2 nom x1 min- x2 max- x1 min- x2 max x1 min- x2 max+ x1 min x2 min- x1 min x2 min x1 min x2 min+ …… ……

25 How to use Boundary Value Testing (BVT) BVT is considered in 2 approaches: 1) By the number of variables. o We could use a certain set integer, we could allow the program to use the highest or lowest possible integer. 2) By the kind of ranges. o For example in the Next Date example o Some languages to declare an enumerated type {Jan, Feb, Mar,......, Dec}. It would normally encode for testing of the month’s variable so that January corresponded to 1 and February corresponded to 2 etc.

26 Summary of Boundary Value Testing (BVT) BVT only focuses on variable as number. BVT works well for consideration the function of several independent variables that represent boundary value such as Triangle Program. But it is not good enough for the next date program that has dependent variable.

27 Summary of Boundary Value Testing (BVT) BVT has divided into 2 characteristics: Normal (Valid)Robust (Valid+Invalid) Boundary Value Analysis Worst-Case Testing Robustness Testing Robust Worst-Case Testing 2) Single fault vs multiple fault assumption Single fault (1 and extreme value)Multiple fault (1+ and extreme value) Boundary Value Analysis Robustness Testing Worst-Case Testing Robust Worst-Case Testing 1) Normal vs Robust value


Download ppt "Chapter 2: Boundary Value Testing : BVT 322235 Software Testing Chapter 2: Boundary Value Testing : BVT 322235 Software Testing By Dr. Wararat Songpan."

Similar presentations


Ads by Google