Testcase generation tool for combinatorial interaction testing
CIT-BACH (pronounced as "sit back" or "sea eye tea back") is a test case generation tool for combinatorial interaction testing. CIT-BACH is written completely in Java and requires JRE 1.6.0 or higher to run.
CIT-BACH uses a one-row-at-a-time greedy algorithm, which is similar to PICT. The tool supports constraints. To handle constraints, the tool first builds a binary decision diagram (BDD) that represents all the constraints. The way of doing this is novel in that once the BDD has been created, there is no need to manipulate it: Whether a test case or tuple satisfies the constraints or not can be checked by simply traversing the BDD from the root to the leaf, which only requires time linear in the number of parameters.
CIT-BACH is free software under the zlib license. CIT-BACH uses JDD for BDD manipulation. JDD is also free software under the zlib license.
Here is an example of an input file which describes the System Under Test (SUT).
# parameters and values Display (16MC 8MC BW) Viewer (Graphical Text None) Camera (2MP 1MP None) VideoCamera (Yes No) VideoRingtone (Yes No) # group: ensures all value combinations are covered {Display Viewer Camera} # constraints #1 (if (== [Viewer] Graphical) (or (== [Display] 16MC) (== [Display] 8MC))) #2 (if (== [Camera] 2MP) (or (== [Display] 16MC) (== [Display] 8MC))) #3 (if (== [Viewer] Graphical) (not (== [Camera] 2MP))) #4 (if (== [Display] 8MC) (<> [Camera] 2MP)) #5 (if (== [VideoCamera] Yes) (and (or (== [Camera] 2MP) (== [Camera] 1MP)) (or (== [Display] 16MC) (== [Display] 8MC)) ) ) #6 (if (== [VideoRingtone] Yes) (== [VideoCamera] Yes)) #7 (not (and (== [Display] 16MC) (== [Viewer] Text) (== [Camera] 2MP)))
To obtain a test suite that satisfies pair-wise coverage, run the tool as follows:
java -jar cit-bach.jar -i inputfile -lang en
Below is the output.
#SUCCESS,4358,i,Model1.txt,s,,o,,c,2,random,4358,repeat,1 Display,Viewer,Camera,VideoCamera,VideoRingtone 16MC,None,2MP,Yes,Yes 16MC,Graphical,1MP,No,No 8MC,Graphical,1MP,Yes,Yes 16MC,Text,1MP,Yes,No 8MC,Text,1MP,No,No BW,Text,1MP,No,No 16MC,None,1MP,No,No 8MC,None,1MP,No,No BW,None,1MP,No,No 16MC,Graphical,None,No,No 8MC,Graphical,None,No,No 16MC,Text,None,No,No 8MC,Text,None,No,No BW,Text,None,No,No 16MC,None,None,No,No 8MC,None,None,No,No BW,None,None,No,No 16MC,None,2MP,No,No 16MC,Text,1MP,Yes,Yes
Filename | Size | Time | Download count |
日本語解説と入力サンプル.zip | 4.33 k | 2020-05-18 11:36:42 | 286 |
inputsamples.zip | 1.54 k | 2020-05-18 11:35:12 | 116 |
guide1.10.pdf | 35.29 k | 2020-05-18 11:34:20 | 281 |
cit-bach1.10.jar | 409.83 k | 2020-05-18 11:34:07 | 343 |
Rev. | Time | Author | Message RSS |
b7180884 | 2018-11-09 16:49:58 | t-tutiya | Merge pull request #50770 (tallman/cit_bach/master into m... |
f4d33ce9 | 2018-09-22 02:52:22 | tallman | add testcase move inputsamples and change encoding MS932 ... |
9a5fb23c | 2018-09-22 01:16:36 | tallman | change source file encoding MS932 to UTF-8. add launch fi... |
cdeab918 | 2018-09-22 00:56:15 | tallman | - add pom.xml - change folder format to maven layout - re... |
fd304182 | 2018-08-22 15:32:09 | Tatsuhiro Tsuchiya | Small but critical bug was fixed |
9a57fefe | 2018-07-27 13:39:53 | Tatsuhiro Tsuchiya | find forbidden pairs |
8a74ddae | 2018-07-27 13:35:25 | Tatsuhiro Tsuchiya | Create new program to find forbidden pairs |
694443eb | 2017-05-15 16:51:25 | t-tutiya | I have copied the CIT-bach project. |
dfb9b32a | 2016-03-24 14:24:11 | t-tutiya | Version 1.10 - Support arithmetic comparators: ===, !==, ... |
1182938a | 2016-02-19 18:16:33 | t-tutiya | Corrected CVS processing. (It is only used for processing... |
Welcome to OSDN Wiki system. Here is your chamber Wiki space.
Check Wiki Guide (English) to refer syntax and functions.