Interview Questions, Answers and Tutorials

Month: February 2013

Boundary Value Analysis-7

8.0 Examples: Test Cases For each example, I will show test cases for the standard Boundary Value Analysis and the Worst-case testing techniques. These will show how the test cases are performed and how comprehensive the results are. There will not be test cases for Robustness testing or robust Worst-case testing as the cases covered should explain how the process works. Too many test cases would prove to be monotonous when trying to explain a concept, however when presenting a real project when the figures are more “necessary” all test cases should be detailed and explained to their full extent. …

Boundary Value Analysis-6

7.0 Worst-Case Testing   Boundary Value analysis uses the critical fault assumption and therefore only tests for a single variable at a time assuming its extreme values. By disregarding this assumption we are able to test the outcome if more than one variable were to assume its extreme value. In an electronic circuit, this is called Worst-Case Analysis. In Worst-Case testing, we use this idea to create test cases.   To generate test cases we take the original 5-tuple set (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…

Boundary Value Analysis-5

6.0 Robustness Testing Robustness testing can be seen as an extension of Boundary Value Analysis. The idea behind Robustness testing is to test for clean and dirty test cases. By clean I mean input variables that lie in the legitimate input range. By dirty, I mean using input variables that fall just outside this input domain.   In addition to the aforementioned 5 testing values (min, min+, nom, max-, max) we use two more values for each variable (min-, max+), which are designed to fall just outside of the input range.  If we adapt our function f to apply to Robustness testing we…

Boundary Value Analysis-4

5.2 Critical Fault Assumption The Critical Fault Assumption is also known as the single fault assumption in reliability theory. The assumption relies on the statistic that failures are only rarely the product of two or more simultaneous faults. Upon using this assumption we can reduce the required calculations dramatically.    The number of test cases for our example as you can recall was 9. Upon inspection we find that the function f that computes the number of test cases for a given number of variables n can be shown as:                           …

Boundary Value Analysis-3

5.0 Applying Boundary Value Analysis   In the general application of Boundary Value Analysis can be done in a uniform manner. The basic form of implementation is to maintain all but one of the variables at their nominal (normal or average) values and allowing the remaining variable to take on its extreme values. The values used to test the extremities are:    • Min ———————————— – Minimal  • Min+ ———————————— – Just above Minimal  • Nom ———————————— – Average  • Max- ———————————— – Just below Maximum  • Max ———————————— – Maximum    In continuing our example this results in the following test cases…

Boundary Value Analysis-2

4.0 The Focus of BVA   Boundary Value Analysis focuses on the input variables of the function. For the purposes of this report, I will define two variables ( I will only define two so that further examples can be kept concise) X1 and X2. Where X1 lies between A and B and X2 lies between C and D.     A ≤ X1 ≤ B  C ≤ X2 ≤ D    The values of A, B, C, and D are the extremities of the input domain. These are best demonstrated by figure 4.1.        The Yellow shaded area of the…

Boundary Value Analysis-1

1.0 Introduction   The practice of testing software has become one of the most important aspects of the process of software creation. When we are testing software the first and potentially most crucial step is to design test cases. There are many methods associated with test case design. This report will document the approach known as Boundary Value Analysis (BVA).    As the incredibly influential Dijkstra stated, “Testing can show the presence of bugs, but not the absence”. Although this is true we find that testing can be very good at first, if implemented correctly. For this reason, we need to know…