うさぎ組

ソフトウェア開発、チームによる製品開発、アジャイル、ソフトウェアテスト

テストをテストする方法-ミューテーションテスト- #gadvent

はじめに

これはG* Advent Calendarの12日目の記事です。今日はミューテーションテストについて書きます。明日はid:nobusue さんです。

概要

PITというツールの紹介です。「Javaプロダクトコードを機械的に変更してからテストを実行したときに、テストはそれを検知できるのか?」ということを調べてくれるツールで、SpockのテストやGradleからの実行に対応しています。

続きを読む

週刊ソフトウェアテスト 2014-50 #swtest_jp

前書き

ソフトウェアテストにまつわるニュースを週毎にお届けする記事です。内容はid:kyon_mmの独断と偏見です。オススメの記事があるときや、質問などなどはコメントや@kyon_mmにご連絡くださるとうれしいです。

ハッシュタグ #swtest_jp でソフトウェアテストに関する事をツイートしてくださるととてもうれしいです!(なにかの紹介でも、議論でも、質問でも!

kyon_mmの意見

id:pocketberserker, id:bleis-tiftなど弊社メンバーが中心に開発をすすめているF# のテスティングフレームワークにおいて「複数assertの結果を持つ(失敗しても次のassertを実行する)」という機能はすばらしいですね。ちなみにこのアイディア自体はAssertJにて「Soft Assert」という概念で実装されたのがテスティングフレームワークやライブラリとしては初めてだという認識です。AssertJの実装は結構アレなのですが、彼らの場合はよりスマートですね。テストのためにASTやコンパイラ技術や型システムは重要な位置を示しています。SpockもAST技術の権化みたいなところありますからね。

MSDNマガジンで「非同期プログラミングの単体テスト」の方法について解説されていました。なかなかこういった記事がまとまっていることはないので、とてもうれしいですね。重要なのは、こういったコードをレビューできる人間でないと、統合テスト以上で「非同期に対する十分なテストを設計できる」と言えないといったことではないでしょうか。もしくは「統合テストでは無理だから、単体テストでこのような設計をすべきだ」とするところですね。 これが「テストによる設計の変更」と言えるでしょう。

また、先週は「ソフトウェアテストの初級者向け合宿イベント」であるWACATEが開催されていました。本記事でもいくつかスライドを紹介させていただきました。半年に一度なので、次は来年の夏ですね。

続きを読む