This site provides two tools for generating case

  1. Given-When scenario generator based on MindMap
  2. MC/DC design tool

 

1. Given-When scenario generator based on MindMap

There are many ways to write a scenario for post-development test, but the most widely used method among developers is to simply arrange with Given-When-Then. Based on this, you can create and organize basic requirements and test scenarios using mind map.

Let's take a look at an example of creating a Given-When-Then scenario by getting a feature specification or a wireframe.

 

(1) Info Service App about IDOL

Let's create a Given-When-Then scenario for a simple idol app.

Base feature list is like below

No기능
1Send texts to IDOL
2IDOL photo download
3Comment on photos / posts
4Sign up
5Get notifications when idols post

If there are detailed restrictions on each function, let's summarize them.

 

No기능Restriction
1Send texts to IDOLThis feature is available only to members, and there is no limit on the number of characters.
2IDOL photo downloadThis feature is available to both members and nonmembers.
3Comment on photos / postsThe comment function is available only for members and only under 140 characters can be entered.
4Sign upImpossible during member login
5Get notifications when idols postCan set both members and non-members

 

(2) Given-When-Then

Now we set up features with Given and When

Given

  1. Logged in as a member
  2. Entered more than 140 characters

When

  1. Send texts to IDOL
  2. Sign Up
  3. Comment on photos
  4. Comment on posts
  5. IDOL photo download
  6. Set Notification

 

Now, Let's make MindMap with these items.

Map1

Change Given branch first

Entering "140 characters" is only avaliable to logged in member, "140 characters" is located after "SignIn" node.

 

Now Let's change When branch

The items above When items can be executed independently. So, map would be set like below

Warning! : Don't modify Given, When Nodes

 

Nodes below when should have nodes 'Yes' and 'No' tail. It is because more convenient to define when Items.

 

Click Get Result to get combination results.

NoWhenGiven#1Then
1Send texts to IDOL:YesMemberLogin:SignIn:140 characters:Less Entered 
2Comment on posts:YesMemberLogin:SignIn:140 characters:More entered 
3Get Notification:YesMemberLogin:SignIn:140 characters:More entered 
4IDOL photo download:YesMemberLogin:SignIn:140 characters:Less Entered 
5Get Notification:YesMemberLogin:SignIn:140 characters:Less Entered 
6Send texts to IDOL:YesMemberLogin:SignIn:140 characters:More entered 
7Sign UP:YesMemberLogin:SignIn:140 characters:More entered 
8Comment on photos:YesMemberLogin:SignIn:140 characters:Less Entered 
9Sign UP:YesMemberLogin:Not 
10Comment on posts:YesMemberLogin:SignIn:140 characters:Less Entered 
11Comment on posts:YesMemberLogin:Not 
12Comment on photos:YesMemberLogin:SignIn:140 characters:More entered 
13IDOL photo download:YesMemberLogin:Not 
14Comment on photos:YesMemberLogin:Not 
15Sign UP:YesMemberLogin:SignIn:140 characters:Less Entered 
16IDOL photo download:YesMemberLogin:SignIn:140 characters:More entered 
17Send texts to IDOL:YesMemberLogin:Not 
18Get Notification:YesMemberLogin:Not 

 

18 cases were derived. This is a result of the combination of Given and When, where you need to add and remove cases as appropriate. The Then part is where the expected result is written.

 

NoWhenGiven#1RemarksThen
1Send texts to IDOL:YesMemberLogin:SignIn:140 characters:Less Entered OK
2Comment on posts:YesMemberLogin:SignIn:140 characters:More entered Over writing
3Get Notification:YesMemberLogin:SignIn:140 characters:More enteredTest as Member LoginOK
4IDOL photo download:YesMemberLogin:SignIn:140 characters:Less EnteredTest as Member LoginOK
5Get Notification:YesMemberLogin:SignIn:140 characters:Less EnteredSame as 3 
6Send texts to IDOL:YesMemberLogin:SignIn:140 characters:More entered Over Writing
7Sign UP:YesMemberLogin:SignIn:140 characters:More enteredTest as Member LoginOK
8Comment on photos:YesMemberLogin:SignIn:140 characters:Less Entered OK
9Sign UP:YesMemberLogin:Not OK
10Comment on posts:YesMemberLogin:SignIn:140 characters:Less Entered OK
11Comment on posts:YesMemberLogin:Not Redirect to LoginPage
12Comment on photos:YesMemberLogin:SignIn:140 characters:More entered Over Writing
13IDOL photo download:YesMemberLogin:Not Redirect to LoginPage
14Comment on photos:YesMemberLogin:Not Redirect to LoginPage
15Sign UP:YesMemberLogin:SignIn:140 characters:Less EnteredSame as 7 
16IDOL photo download:YesMemberLogin:SignIn:140 characters:More enteredSame as 4 
17Send texts to IDOL:YesMemberLogin:Not Redirect to LoginPage
18Get Notification:YesMemberLogin:Not Redirect to LoginPage

 

Total available cases are 15 cases.

 

MC/DC Design Tool

The concept of Modified Condition / Decision Coverage (MC / DC) is as follows.

 

For example, look at the below statement.

 

The Complete total case is like below.

NoABResult
1TTT
2TFF
3FTF
4FFF

 

There are 22 = 4 different cases for testing A and B. If if (A && B && C), all test cases would be 23 = 8 .

This method is called MCC(Multiful Condition Coverage) and its pros and cons are

 

The method to reduce this effectively is the Modified Condition / Decision Condition (MC / DC) method, which will not be described in detail here. The current position of this technique in testing is robust, and the use of this technique in structural-based testing is critical for automotive, rail and aerospace systems that have a significant loss of human life and property. See Google search for more details.

The MC/DC design tool provided here obtains the MC/DC results for each condition clause of the pseudo code, and then makes a case of the combination of the MC / DC results of each condition clause. (This is called Elementary Comparison Testing using MC / DC.)

MCDC1

In this case, C pseudo code is used. The supplied sample code creates a case by combining the MC / DC result of if (a || b) and the MC / DC result of else if (c && d || e). Clicking getValue will make the result as shown below.

MCDC2

Note: Clicking 'Down' makes download as Excel file.

 

If the sample code is written to satisfy MC / DC, the following will be arranged. See the downloaded Excel file.