### 3.1.4. Case studies

3.1.4.1 Equivalence partitioning

Equivalence partitioning is a specific strategy, used in testing an object, using the Black Box method. It was originally used in testing software.1 In a wider sense we can use this method to model the process or services behaviour initiating a set of inputs and observing the outputs (Fig. 2) before an innovation is implemented.

What are the steps?

The input domain is divided into a finite number of ranges (which can be valid and invalid). As you remember we have to find out the output for each possible input, in other words to test how the system works. This Equivalence Partitioning strategy minimizes the number of test cases, by selecting just one test case for each range of input values with the notion that all elements of one range should behave in an equivalent way (that is why the ranges are called equivalent classes, while the process - equivalence partitioning). In other words, if a test case of a certain input range reveals an error (the range values are invalid), any other test case of this range should reveal the same error. The same rule applies for any valid range.

Example:

Let's consider an innovative production line, which is going to be designed and constructed in the company. For the sake of simplicity, consider the following example:

• Let's take as inputs the price of raw products, e.g. between 100 and 10,000 EUR
• Let the output of the Black Box be the rise or fall of sales of products. That's what we as managers are interested in.
• We don't care about the specifics of the production line or the experience of personnel, or current regulations etc.
• We are just interested in the output - do we have profits or not?

So we are going to monitor the effect of inputs to the output, i.e. do the outputs bring rise or fall of sales?
How are we going to perform this task? By testing how the Black Box works - supply an input and assess the output, supply a second input and assess the output etc. etc. Evidently we cannot test every possible input (if we take a resolution of 1 EUR we will have 9 900 tests to perform).
So we split the input range into 3 equivalence classes (ranges):

• We fix that, when the price of raw materials is less than 100 EUR we have got an invalid range.
• We fix as a valid range values of prices between 100 and 10,000 EUR.
• Price above 10,000 EUR will fall into an invalid range again.

And we will test the system output (rise or fall of sales) just 3 times:

• once for a price below 100 EUR (in the first invalid range)
• once for a price in the range of 100 - 10,000 EUR (in the valid range)
• once for a price over 10,000 EUR (in the second invalid range)

And we monitor the output:
Output assessment:

• If for case 1, sales are falling we will be sure that the result will be the same (equivalent) for all values in that range (below 100 EUR)
• If for case 2, sales are rising we will be sure that the result will be the same (equivalent) for all values in that range (between 100 and 10000 EUR)
• If for case 3, sales are falling we will be sure that the result will be the same (equivalent) for all values in that range (over 10000 EUR)

So instead of testing the system 9900 times we test it just 3 times and we are sure what the output will be.

It is necessary to say that to use this approach you must have good insight into your “black box” behaviour – its possible inputs and outputs and the relation between them (so the black box must be not completely black, it must be to some extent transparent). Otherwise you can easily define your equivalence classess improperly and the results of your analysis can be misguiding. For the example presented above, you must have good knowledge of your markets to say what are the boundary values of equivalence classes i.e. for what prices your sales will increase or decrease. Boundary value analysis, described in the following section, can help you to confirm or modify your initial assumptions. Please take some minutes to present a case study in your company, using the Black Box equivalence partitioning model: Hints: Specify an operational process in the company Define inputs and output(s) Specify the valid and invalid ranges of inputs Prescribe the number of tests to be made.

3.1.4.2 Boundary value analysis

Boundary value analysis can be treated as an extension of the equivalence partitioning method. It complements the "equivalence partitioning" method and is concerned with creating test cases that consider values directly below or above the boundaries of the equivalent classes.

Example:

Let us consider the previous example, shown in 3.1.4.1. The values of interest will be around the boundaries 100 and 10000 EUR, i.e. we will monitor the output (rise or fall of sales) for the following test cases:

• 99 and 101 EUR
• 9999 and 10001 EUR

In this way we will be aware of the tendency of changing the output, going below or over the boundary value. Please take some minutes to draw out how to implement the method of "boundary value analysis" for a case study in your company: Hints: Set up the ranges for the inputs ... Set up the output ... Define the tests to be performed ...

3.1.4.3 Construction of a Decision table and testing

This method is used in cases, when the inputs and outputs have limited sets of values, e.g. "present" or "missing" (true or false). The behaviour of objects or processes, called actions is described in a table form, which looks like this - Table 1: Decision Table form for the Black Box behaviour  The Decision table consist of a number of columns (rules) that comprise all test situations. Inputs are assumed to be independent. An output (an action) is linked to the rules in a user-defined way, e.g. If Condition 1 AND Condition 2 are PRESENT then Action 1 is taken etc. The rule can be set OR logics can be used, i.e. If Condition 1 OR Condition 2 is PRESENT then Action 1 is taken. For more information on the so called ALGEBRA of logics please visit the web site.2

The number of rules is linked to the number of Conditions, i.e. it is equal to the total number of possible combinations from all conditions. So:

• If there are 2 conditions there will be 4 rules
• If there are 3 conditions there will be 8 rules
• If there are 4 conditions there will be 16 rules etc.

(Please remember from Maths lessons in school how we define the number of combinations Y out of given number of values X, i.e. (Y=2 ^x).

Example:3
A technical support company writes a decision table to diagnose printer problems based upon symptoms described to them over the phone from their clients. (Table 2: Example of a decision table) Let's explain the contents of Table 2 for several cases starting from right to left for the Rules part:

• Combination 1:
If we have the situation: "Printer doesn't print" (N) and "No red light is flashing" (N) and "Printer is unrecognised" (N) then there is NO action taken
• Combination 2:
If we have the situation: "Printer doesn't print" (N) and "No red light is flashing" and "Printer is unrecognised" (Y) then the action will be - "Ensure printer software is installed"
• In Combination 4 we will have 2 actions taken etc. Please take some minutes to formulate a technological innovation concept (a combination of joint innovation ideas) for a product at your choice in the company. Fill in a decision table for testing the concept: Please have a look Table 3:  Decision Table Hints:Conditions: Implementation of new energy effective resources - Yes or NoRecycling - Yes or NoTotal IT implementation - Yes or NoActions (outputs) defined: Intensive use of non-traditional energy resources, high R&D (Research and Development) expenses

1 en.wikipedia.org/wiki/Equivalence_partitioning, viewed: 20-th July, 2008
2
en.wikipedia.org/wiki/Boolean_algebra_(logic), viewed: 20-th July, 2008
3