Skip to content

0.6.x Features

Hiroshi Ukai edited this page Mar 7, 2016 · 6 revisions

Features, tips, and examples

JCUnit's features are explained in and under this page.

FSM support feature

FSM support of JCUnit (FSM/JCUnit) is a feature that allows you to model your software as a finite state machine, and JCUnit generates and executes a test suite for it. The test suite generation can be done by JCUnit's tuple generators.

This is really fun feature. Please try. Documentation is found [here](0.6.x manual 04.FSM).

Reusing generated test suite

Generally speaking, pairwise test suite generation is a time consuming process. Probably a user wants to reuse a generated test suite later.

JCUnit has a mechanism for this and it is discussed [here](0.6.x manual 06.Reusing a generated test suite).

Nested factors (grouping factors)

Like PICT, JCUnit is able to group factors and treat them as if one factor. An example for this feature is found here.

Tips

When you learn pairwise technique, probably you get excited that "oh I can balance a size of test cases and coverage by this! Nice! Its idea is intuitive and looks straightforward. A test case is essentially attributes and their values. Nice!" But when you start testing your software using the technique, you will come across a lot of questions.

  • "A test case that uses Internet Explorer on Linux platform doesn't make sense. But this test case contributes to cover Linux platform + Apache, Apache + PostgreSQL, etc, at the same time.
  • "If expectations for test cases can be different depending on a test case's values, how can I define test methods?"
  • etc.

Best practices for problems you encounter might be found [here](0.6.x manual 02.TIPS).

Also how you can customize how test cases should be generated, e.g., how to configure possible values for a certain parameter, in case you want to use non-primitive values what you can do, etc, can be found.

Refefences

  • 2 "PICT", A most known powerful pairwise tool by microsoft, which is now open source.
Clone this wiki locally