1 / 27

Chapter 2: Boundary Value Testing : BVT 322235 Software Testing

Chapter 2: Boundary Value Testing : BVT 322235 Software Testing. By Dr. Wararat Songpan ( Rungworawut ) Faculty of Computer Science, Department of Science, Khon Kaen University, Thailand. Guideline of B oundary V alue T esting. This technique focuses on variable as number.

umeko
Download Presentation

Chapter 2: Boundary Value Testing : BVT 322235 Software Testing

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 2: Boundary Value Testing : BVT322235Software Testing By Dr. WararatSongpan (Rungworawut) Faculty of Computer Science, Department of Science, KhonKaen University, Thailand

  2. Guideline of BoundaryValueTesting • This technique focuses on variableas 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 d c x1 a b

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

  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 • 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 Function: Addition X1 and x2 x1 x2 Results =

  9. 1) Boundary Value Analysis: BVA(Cont.) • 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”.

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

  11. Example: The Triangle Problem • Problem statements (Improved version) • input 3 integers: a, b, c are side of triangle • Spec and condition • c1: 1 =< a =<200 c4: b+c > a (As a triangle) • c2: 1 =< b =<200 c5: a+c> b (As a triangle) • c3: I =< c =< 200 c6: a+b> c (As a triangle) • Output is type of triangle • Equilateral • Isosceles • Scalene • Not a Triangle

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

  13. Triangle: BVA Test Cases Design

  14. Example: The Next Date Function • Problem Statements • input 3 variables: month, date, year • Output: • as the next date from input the date • Spec. and Conditions: • C1: January =< month =< December • C2: 1 =< day =< 31 • 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: • 1992 is Leap Year (1992 mod 4 = 0but1992 mod 100 and 400 ≠ 0) • 1900 is NOT a Leap Year (1900 mod 4and 1900 mod100 = 0 but 1900 mod 400 ≠ 0) • 2000 is Leap Year (2000 mod 4,100 and 400 = 0)

  16. Next Date: BVA Test Cases Design

  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. 2) Robustness Testing: RT • Robustness Test cases for function F • The number of test case is 6n+1 • ,where n is the number of variable

  19. 3) Worst-Case Testing: WT • 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.

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

  21. 3) Worst-Case Testing: WT(Cont.) • Worst-Case Test cases for function F 322 235 Software Testing

  22. 4) Robust Worst-Case Test: RWT • 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”

  23. 4) Robust Worst-Case Test: RWT x2 x1 min- min min+ nom max- max max+ min- min min+ nom max- max max+ • The number of test case is 7n • ,where n is the number of variable

  24. 4) Robust Worst-Case Test: RWT • Robust Worst-Case Test cases for function F 322 235 Software Testing

  25. How to use Boundary Value Testing(BVT) • BVT is considered in 2 approaches: 1) By the number of variables. • 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. • For example in the Next Date example • 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: 1) Normal vs Robust value 2) Single fault vs multiple fault assumption

More Related