開発日誌
githubにあるPICTレポジトリで報告されているが、PICTには以下のモデルからのテストスイート生成が終わらないという問題がある。 Eingangskanal: EVA_Anlageberatung, EVA_Order, EVA_Sonderweg, EVA_Sparplan, EVA_Neuemission, EVA_Direkteinstieg, HOST_T…
前回のポストで報告したように、JUCnit 0.6.3やそれを使ったアプリケーションはJDK 1.7.0_79ではコンパイルできない。 2016-04-05 - jcunit's blog これはJDK 1.7.0_80で修正されたjavacの以下のバグが原因だ。 http://bugs.java.com/view_bug.do?bug_id=801…
JDK 1.7.0_80より古いjavacを使っている場合、JCUnit及びそれを使用したライブラリのコンパイルができないことが判明した。ちなみにこれはjavacのバグだ。 これは、確認している限り、JDK 1.6.0_45では起きないし、手元のJDK 8系統でも起きたことがない。 詳…
長い道のりであったが、0.6.0をリリースした。 Maven coordinateは以下のとおり。 <dependency> <groupId>com.github.dakusui</groupId> <artifactId>jcunit</artifactId> <version>[0.6.0,)</version> <scope>test</scope> </dependency> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> <scope>test<…</scope></dependency>
JCUnit 0.6.0 alphaをリリースしてみた。 今回の主要な変更は以下の通り。 カバレッジレポーティング機能 FSM(有限状態機械)の入力履歴検査機能 (InteractionHistory) リファクタリング 各種プラグインの構造改善 リクエストのあった生成されたテストスイ…
コードのある場所でTreeMapをLinkedHashMapに変えてみた。 すると、 benchmark1_3$4 :(testcases, remainders, time(sec))=( 9, 0, 0.0) benchmark2_3$13 :(testcases, remainders, time(sec))=( 24, 0, 0.03) benchmark3_4$15_3$17_2$20 :(testcases, remai…
@Suiteのついたテストクラスはまとめていろんなクラスにあるテストを実行する。このいろんなクラスというのはSuiteの「子」としてJUnitに扱われる。 @Suiteとアノテーションがつけられたクラスの中のあるメソッドをIntelliJのテスト結果画面から選択すると、…
これは、、、使えるぞ。
皆さん、JUnitのTheories runnerは使っていますか? 僕は使っていません。 可能な値の組み合わせをすべて<直積>でテストしようとするのでテストケース数が爆発してしまうのと、 一つのテストメソッドに対してそれらの組み合わせを一つのテストケースとして…
なんとかかんとか、0.5.5をリリースした。 発端は uehaj.hatenablog.com JCUnitが持っているプリミティブ用のデフォルト値を外部から取りやすいようにするというだけのことだったのだが、プラグインのインタフェースがあんまりよろしくないから変えないと、…
今回の話はレポートで組み合わせとか順列の列挙をするプログラムを作る課題をやってる学生さんには面白い話かもしれない。 JCUnitは内部的にcombinatoradix(旧称enumerator)と呼ばれる私が作ったライブラリを使っている。 github.com JCUnitは性質上、かなり…
こちらのエントリでご紹介いただいたときに「デフォルトで設定されている各型ごとの水準一覧を取る手段がない」という指摘も頂いた。 uehaj.hatenablog.com それ自体は、なんとかなりそうで、難しいものでもないのでこんなチケットを作った。 github.com で…
ダメだコイツ。解体しないと。 つうかLevelsProviderのインタフェース自体を見直さないと。
IPOはテストケース(Tuple)内の因子(Factor)の水準(Level)を一個ずつ、すべての可能な組み合わせが網羅するように決めていくアルゴリズム。生成されるテストスイートは縦方向(テストケース数)と横方向(因子数)を必要に応じて交互に増加させながら成長して…
「制約」機能実装のために、"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…
この三連休は、文献[1][2]を読んだりのんびり散歩していたりしたのだが、PICTの完成度をまずは目指さないとなとの思いを新たにした。 PICTに比較してJCUnitに欠けているものはおおよそ以下の機能だろう。 「制約(constraints)」機能 因子の階層 Negative tes…
PICTというMicrosoftの製品があることをJaSSTで知り合った方から教えていただいた。 PICTについては以下で詳しく述べられているのだが、http://msdn.microsoft.com/en-us/library/cc150619.aspx世間で出回っている様々な製品が与えられた条件に対して、何件…
いままで、dog foodingというか、JCUnitの使い勝手を確認するためにthumbnailatorを対象にテストを実装してきた。 これまでの成果は逐次ブログのエントリにまとめて、ここで報告していこうと思う。が、そろそろ別のプロダクトを対象にテストを書いて、応用例…