jcunit's blog

JCUnitの開発日誌(ログ)です。"その時点での"JCUnit作者の理解や考え、開発状況を日本語で書きます。

JCUnitによる有限状態機械のテスト - 有限状態機械テストの方法(その3)

考えてみれば、ソフトウェアシステムというのは有限状態機械であり、ソフトウェアシステムの仕様を決めるとはその有限状態機械の仕様を決めることに他ならない。と、いうことは有限状態機械の仕様からテストを自動的に生成して、それを自動的に実施できるな…

JCUnitによる有限状態機械のテスト - 有限状態機械テストの方法(その2)

さて昨日に引き続き、JCUnitによる有限状態機械のテストの書き方について。 テストメソッドの宣言 これはどうということもなくて public FlyingSpaghettiMonster sut = new FlyingSpaghettiMonster(); @Test public void test() throws Throwable { FSMUtils…

JCUnitによる有限状態機械のテスト - 有限状態機械テストの方法(その1)

はじめに かれこれ三カ月くらい頑張って、有限状態機械(以下、FSM)をJCUnitを使ってテストする機能を作ってみた。 今回はひとまず0.4.20としてリリースした。MavenのCoordinateは以下のとおり。 <dependency> <groupId>com.github.dakusui</groupId> <artifactId>jcunit</artifactId> <version>0.4.20</version> </dependency> テストは十分ではない…

テストケースの内容に応じてテストメソッドの実行を制御する方法。

JCUnitのように、テストケースの集合を自動で生成する仕組みを作ったのに、確認すべき内容や実行すべきシナリオがテストケースの内容によって違う場合、それらの確認内容を振り分けるロジックをユーザにif文でちまちま書かせるのはいささかだせえ。そこで、…

0.4.12リリース。

今朝、JCUnit 0.4.12をリリースした。 Maven coordinateは以下のとおり。 <dependency> <groupId>com.github.dakusui</groupId> <artifactId>jcunit</artifactId> <version>0.4.12</version> </dependency> 0.4.10->0.4.12での今回の変更点は、 テスト実行条件を指定するためのアノテーション@Givenを、@Whenへと改名。 SimpleTupleGenerator (単体テス…

JCUnitのリファイン(0.3.0)リリース

JCUnitの設計をリファインし、機能を根本的なものに限った0.3.0をリリースした。 今回は「制約」を取り扱うための機能を実装した。 また、Annotationの役割・用語を整理した。 MavenのCoordinateは以下のとおり。 <dependency> <groupId>com.github.dakusui</groupId> <artifactId>jcunit</artifactId> <version>[0.3.0,]</version> </dependency> 以前…

「制約」の実装。

「制約」機能実装のために、"Combinatorial TestCases with Constraints"*1と"Constructing Interaction Test Suites for Highly-Configurable Systems in the Presence of Constraints: A Greedy Approach"*2から辿って"Interaction Testing of Highly-Conf…

JCUnitに必要なもの。

この三連休は、文献[1][2]を読んだりのんびり散歩していたりしたのだが、PICTの完成度をまずは目指さないとなとの思いを新たにした。 PICTに比較してJCUnitに欠けているものはおおよそ以下の機能だろう。 「制約(constraints)」機能 因子の階層 Negative tes…

PICTや他のシステムとの比較

PICTというMicrosoftの製品があることをJaSSTで知り合った方から教えていただいた。 PICTについては以下で詳しく述べられているのだが、http://msdn.microsoft.com/en-us/library/cc150619.aspx世間で出回っている様々な製品が与えられた条件に対して、何件…

てごろなSUT(Software Under Test)ないかな。

いままで、dog foodingというか、JCUnitの使い勝手を確認するためにthumbnailatorを対象にテストを実装してきた。 これまでの成果は逐次ブログのエントリにまとめて、ここで報告していこうと思う。が、そろそろ別のプロダクトを対象にテストを書いて、応用例…

JCUnitの名前の由来

JCUnitの名前の由来 大した話では無いのだけれど、今日はJCUnitの名前の由来など。 数学で使う組み合わせ記号nCkになぞらえて、JUnitで自動的にいろんな組み合わせをテストしてくれるという意味で、JCUnitとつけました。 そんなわけでトップに掲げているロゴ…

いわゆる禁則処理。

「パラメタ不正や禁則に違反する入力を組み合わせ試験に用いると、組み合わせ網羅率の低下につながる。」 というのは、特にHAYST法関連の書籍や研究でよく見かける主張だ。ここでいう禁則処理とは、句読点や記号を行頭に置かないために行末にぶら下げる処理…