黒でもなく、白でもなく

InfoQの記事、良いテストの品質とは何か?が簡単でよかった。
ここで言ってるテストはユニットテストの事。

  1. 分離していること (他のテストが存在していようといまいと、その結果に影響を受けないこと)
  2. 自動化されていること
  3. 速く書けること
  4. 速く実行できること
  5. 一意であること (他のテストによって提供されたり、他のテストとの相関関係があったりすることなく、確実なものであること)

特に気に入ったのがこれ

グレイボックスとして書かれていること。言い換えれば、まるでブラックボックスであるかのように読み込むが、時々ホワイトボックスの知識を利用する。(大体は組み合わせの問題を避けるための重要な要素である)

普段はブラックボックスとして作ってたんだけど、完全にブラックボックスとして見ると組み合わせ数が爆発したりする。
グレイボックスってのは良い考えかも。