Subscribe by Email


Showing posts with label Combination. Show all posts
Showing posts with label Combination. Show all posts

Thursday, June 28, 2012

What is meant by decision table testing and when it is used?


Heard of decision table testing before? This concept is rarely heard since it is not used by the testers very often. This article is focussed upon the decision table testing and when it is used. 

"Decision table testing proves to be a very handy software testing methodology which comes to the tester’s rescue whenever a combination of inputs is to be dealt with and different results are produced". 

To understand this concept you can take example of two binary inputs A and B. You will get 4 different combinations of these two inputs which will produce 4 different results based up on whatever operation is performed on them. If you observe some of these outputs to be the same, then you can select any of them and the output which is different for testing. 

With a small number of inputs you won’t realise the importance of this testing technique since you will feel like using a normal testing technique. But with a large number of inputs, the significance of the decision table testing becomes quite clear. The below mentioned expression gives the possible number of combinations of the inputs:
2^n,  where n stands for the number of inputs.
Let us take n=10. The number of possible input combinations comes as 1024! 

What is Decision Table Testing?


- Decision table is actually a table that showcases all the different possible combinations of the supplied inputs along with their corresponding outputs. 
- Decision table testing is one of the black box testing techniques. 
- This testing technique is widely used in web applications however; it has got limited scope when it comes to equivalence partitioning and boundary value analysis.
- In boundary value analysis and equivalence partitioning, the decision table testing can be applied only in specific conditions.
- Mostly, decision table testing is used for testing rules and logics. 
- Sometimes, it is also used to evaluate complex business rules. 
- These complex rules are broken down in to simple decision tables. 

Advantages of Decision Table Testing


Below mentioned are some of the advantages of the decision table testing:
  1. With decision table testing you get a frame work that facilitates complete and accurate processing of the rules and logics.
  2. Decision table testing helps in the identification of the test scenarios faster because of its simple and accurate tabular representations.
  3. Decision tables are quite easy to understand.
  4. Decision tables require less maintenance and updating the contents is also very easy.
  5. With a decision table you can verify whether or not you have checked all the possible test combinations.

What portions are defined for decision table testing?


- Out of all the black box testing methods, decision table testing is quite rigorous. 
- But nonetheless, decision tables provide quite a compact and precise way for modelling a complex logic. 
- Below mentioned 4 portions have been defined for a typical decision table:
  1. Stub portion,
  2. Entry portion,
  3. Condition portion, and lastly
  4. Action portion.
- “Rule” is the column in entry portion and indicates which actions are to be taken for the condition that is indicated in the condition portion of the table.
- In some decision tables all the conditions are binary, such kind of decision tables are called “limited entry decision tables”. 
- On the contrary, if the conditions have several values, such a table is known as “extended entry decision table”. 

There is one disadvantage of decision table testing: 
It is very difficult to scale up the decision tables. 


Friday, November 26, 2010

Step 3 To test API : Identify the combination of parameters

Identify the combination of parameters
Parameter combinations are extremely important for exercising stored data and computation. In API calls, two independently valid values might cause a fault when used together which might not have occurred with the other combinational values. Therefore, a routine called with two parameters requires selection of values for one based on the value chosen for the other. Often the response of a routine to certain data combinations is incorrectly programmed due to the underlying complex logic.

The API needs to be tested taking into consideration the combination of different parameter. The number of possible combinations of parameters for each call is typically large. For a given set of parameters, if only the boundary values have been selected, the number of combinations, while relatively diminished, may still be prohibitively large. For example, consider an API which takes three parameters as input. The various combinations of different values for the input values and their combinations needs to be identified.

Parameter combination is further complicated by the function overloading capabilities of many modern programming languages. It is important to isolate the differences between such functions and take into account that their use is context driven. The APIs can also be tested to check that there are no memory leaks after they are called. this can be verified by continuously calling the API and observing the memory utilization.


Facebook activity