Test Design Techniques

Multiple Condition Coverage

Multiple Condition Coverage is also known as Condition Combination Coverage. In Multiple Condition Coverage for each decision all the combinations of conditions should be evaluated. Lets take an example: if (A||B) then print C

Multiple Condition Decision Coverage

Multiple Condition Decision Coverage(MCDC) is also known as Modified Condition Decision Coverage. In MCDC each condition should be evaluated at least once which affects the decision outcome independently. Example for MCDC if {(X or Y) and Z} then To satisfy condition coverage, each Boolean expression X,Y and Z in above statement should be evaluated to(…)

Condition Coverage or Predicate Coverage

Condition coverage is also known as Predicate Coverage Condition coverage is seen for Boolean expression, condition coverage ensures whether all the Boolean expressions have been evaluated to both TRUE and FALSE. Let us take an example to explain Condition Coverage IF (“X && Y”) In order to suffice valid condition coverage for this pseudo-code following(…)

Decision Coverage or Branch Coverage

Decision Coverage is also known as Branch Coverage. Whenever there are two or more possible exits from the statement like an IF statement, a DO-WHILE or a CASE statement it is known as decision because in all these statements there are two outcomes, either TRUE or FALSE. With the loop control statement like DO-WHILE or(…)

Line Coverage or Statement Coverage

Statement coverage is also known as line coverage. The formula to calculate statement coverage is: Statement Coverage=(Number of statements exercised/Total number of statements)*100 Studies in the software industry have shown that black-box testing may actually achieve only 60% to 75% statement coverage, this leaves around 25% to 40% of the statements untested.

What is Error Guessing

This is a Test design technique where the experience of a tester is used to find the components of software where defects might be present. It is mostly done by experienced testers who can use their past experience to find defects in software. Error guessing has no rules for testing, it only uses the testers(…)

Decision Table Testing

What is a Decision Table It is a table which shows different combination inputs with their associated outputs, this is also known as cause effect table. In EP and BVA we have seen that these techniques can be applied to only specific conditions or inputs however if we have different inputs which result in different(…)

UseCase Testing

Before explaining Usecase Testing lets first understand what is a UseCase A Usecase is a description of a particular use of the system by the end user of the system. Usecases are a sequence of steps that describe the interactions between the user and the software system. Each usecase describes the interactions the end user(…)

State Transition Testing

State transition testing is used for systems where some aspect of the software system can be described in ‘finite state machine’. This means that the system can be in a finite number of different states, and the transitions from one state to another are determined by the rules of the ‘machine’. What is a finite(…)

Boundary Value Analysis

What is a Boundary Value A boundary value is any input or output value on the edge of an equivalence partition. Let us take an example to explain this: Suppose you have a software which accepts values between 1-1000, so the valid partition will be (1-1000), equivalence partitions will be like: Invalid Partition Valid Partition(…)

Equivalence Partitioning

Equivalence partitioning (EP) is a blackbox testing technique. This technique is very common and mostly used by all the testers informally. Equivalence partitions are also known as equivalence classes. As the name suggests Equivalence partitioning is to divide or to partition a set of test conditions into sets or groups that can be considered same(…)