Skip to content

Commit c6aa61f

Browse files
Update for version=3.0.0
1 parent 26ac7dc commit c6aa61f

9 files changed

Lines changed: 41 additions & 13 deletions

File tree

README.md

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,12 @@
22

33
## What's New? ##
44

5-
* The latest version ([Tcases 2.1.2](ReleaseNotes.md#212)) is now available at the Maven Central Repository.
6-
See [HowToDownload](HowToDownload.md) for download instructions.
5+
* The latest version ([Tcases 3.0.0](ReleaseNotes.md#300)) is now available at the Maven Central Repository.
6+
See [HowToDownload](HowToDownload.md) for download instructions.
7+
8+
* Tcases 3.0.0 introduces [support for JSON](http://www.cornutum.org/tcases/docs/Tcases-Json.htm), for all documents that Tcases reads and produces.
9+
Also included is a major reorganization of the Tcases API, which is not fully compatible with previous releases
10+
-- see the [release notes](ReleaseNotes.md#300) for details.
711

812
* Subscribe to the [Tcases Forum](https://groups.google.com/d/forum/tcases) group to get notifications and share experiences with other Tcases users.
913

@@ -17,17 +21,18 @@ Tcases gives you a way to define the input space for your system in a form that
1721

1822
## How Does It Work? ##
1923

20-
First, you create a system input definition, an XML document that defines your system as a set of functions. For each system function, the system input definition defines the variables that characterize the function input space.
24+
First, you create a system input definition, a document that defines your system as a set of functions. For each system function, the system input definition defines the variables that characterize the function input space.
2125

22-
Then, you can create a generator definition. That's another XML document that defines the coverage you want for each system function. The generator definition is optional. You can skip this step and still get a basic level of coverage.
26+
Then, you can create a generator definition. That's another document that defines the coverage you want for each system function. The generator definition is optional. You can skip this step and still get a basic level of coverage.
2327

24-
Finally, you run Tcases. Tcases is a Java program that you can run from the command line or using the [Tcases Maven Plugin](http://www.cornutum.org/tcases/docs/tcases-maven-plugin/). The command line version of Tcases comes with built-in support for running using a shell script or an ant target. Using your input definition and your generator definition, Tcases generates a system test definition. The system test definition is an XML document that lists, for each system function, a set of test cases that provides the specified level of coverage. Each test case defines a specific value for every function input variable. Tcases generates not only valid input values that define successful test cases but also invalid values for the tests cases that are needed to verify expected error handling.
28+
Finally, you run Tcases. Tcases is a Java program that you can run from the command line or using the [Tcases Maven Plugin](http://www.cornutum.org/tcases/docs/tcases-maven-plugin/). The command line version of Tcases comes with built-in support for running using a shell script or an ant target. Using your input definition and your generator definition, Tcases generates a system test definition. The system test definition is an document that lists, for each system function, a set of test cases that provides the specified level of coverage. Each test case defines a specific value for every function input variable. Tcases generates not only valid input values that define successful test cases but also invalid values for the tests cases that are needed to verify expected error handling.
2529

26-
Of course, the system test definition is not something you can execute directly. But it follows a well-defined XML schema, which means you can use a variety of XML transformation tools to convert it into a form that is suitable for testing your system. For example, Tcases comes with a built-in transformer that converts a system test definition into a Java source code template for a JUnit or TestNG test class.
30+
Of course, the system test definition is not something you can execute directly. But it follows a well-defined schema, which means you can use a variety of XML transformation tools to convert it into a form that is suitable for testing your system. For example, Tcases comes with a built-in transformer that converts a system test definition into a Java source code template for a JUnit or TestNG test class.
2731

2832
## Get Started! ##
2933

3034
* [Tcases: The Complete Guide](http://www.cornutum.org/tcases/docs/Tcases-Guide.htm)
35+
* [Tcases: The JSON Guide](http://www.cornutum.org/tcases/docs/Tcases-Json.htm): A companion to the _Complete Guide_ adding info specific to JSON
3136
* [The Tcases Maven Plugin](http://www.cornutum.org/tcases/docs/tcases-maven-plugin/)
3237
* [How To Download Using Maven](HowToDownload.md)
3338
* [Model-Driven Testing Using Tcases](ModelDrivenTestingForAgileTeams.md)

ReleaseNotes.md

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,28 @@
11
# Release Notes #
22

3+
## 3.0.0 ##
4+
5+
This release introduces a major new feature: you can now use JSON for all of the documents that Tcases reads and produces. At
6+
the command line level (including Tcases Maven Plugin configuration parameters), not much has changed -- just start using
7+
`*.json` files instead of `*.xml` files. [Tcases: The JSON Guide](http://www.cornutum.org/tcases/docs/Tcases-Json.htm) explains
8+
the new JSON file formats and other necessary details.
9+
10+
Why JSON? Many people just find this format easier to read and write. Also, the JSON format is especially useful if you are
11+
accessing Tcases using a Web service. In fact, using JSON, there is a way to define all Tcases inputs in [a single
12+
request](http://www.cornutum.org/tcases/docs/Tcases-Json.htm#web).
13+
14+
Another major change is that Tcase APIs have been reorganized into multiple JARs. The improvement in modularity allows API users to
15+
streamline dependencies to only those components actually needed. But these changes are not fully compatible with previous releases,
16+
so API users may need to make changes to their projects, as described below.
17+
18+
* Programs that use CLI classes (`TcasesCommand`, etc.) must change dependencies to use `org.cornutum.tcases:tcases-cli`.
19+
20+
* Programs that directly read or write Tcases documents (using classes like `SystemlnputDocReader`, `SystemTestDocWriter`, etc.)
21+
must change dependencies to use `org.cornutum.tcases:tcases-io`.
22+
23+
* The main utility classes `TcasesCommand` and `Tcases` have been refactored, relocating methods that use stream IO directly to the new class `TcasesIO` in the `tcases-io` module. Also, the superfluous inheritance relationships among these classes have been removed.
24+
25+
326
## 2.1.2 ##
427

528
Minor improvements, including some documentation touch-ups and some refactoring using functional expressions to simplify and clarify the code.

pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<groupId>org.cornutum.tcases</groupId>
88
<artifactId>tcases</artifactId>
99
<packaging>pom</packaging>
10-
<version>3.0.0-SNAPSHOT</version>
10+
<version>3.0.0</version>
1111

1212
<name>Tcases</name>
1313
<description>Generates test cases from system input space models</description>

tcases-ant/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.cornutum.tcases</groupId>
99
<artifactId>tcases</artifactId>
10-
<version>3.0.0-SNAPSHOT</version>
10+
<version>3.0.0</version>
1111
</parent>
1212

1313
<artifactId>tcases-ant</artifactId>

tcases-cli/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.cornutum.tcases</groupId>
99
<artifactId>tcases</artifactId>
10-
<version>3.0.0-SNAPSHOT</version>
10+
<version>3.0.0</version>
1111
</parent>
1212

1313
<artifactId>tcases-cli</artifactId>

tcases-io/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.cornutum.tcases</groupId>
99
<artifactId>tcases</artifactId>
10-
<version>3.0.0-SNAPSHOT</version>
10+
<version>3.0.0</version>
1111
</parent>
1212

1313
<artifactId>tcases-io</artifactId>

tcases-lib/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.cornutum.tcases</groupId>
99
<artifactId>tcases</artifactId>
10-
<version>3.0.0-SNAPSHOT</version>
10+
<version>3.0.0</version>
1111
</parent>
1212

1313
<artifactId>tcases-lib</artifactId>

tcases-maven-plugin/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.cornutum.tcases</groupId>
99
<artifactId>tcases</artifactId>
10-
<version>3.0.0-SNAPSHOT</version>
10+
<version>3.0.0</version>
1111
</parent>
1212

1313
<artifactId>tcases-maven-plugin</artifactId>

tcases-shell/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<parent>
88
<groupId>org.cornutum.tcases</groupId>
99
<artifactId>tcases</artifactId>
10-
<version>3.0.0-SNAPSHOT</version>
10+
<version>3.0.0</version>
1111
</parent>
1212

1313
<artifactId>tcases-shell</artifactId>

0 commit comments

Comments
 (0)