「因子・水準」ではなく「カバレッジ項目」を使う

因子・水準とは

因子・水準という言葉がテスト設計界隈で使われ始めたのはHAYST法からだと認識しています。HAYST法では実験計画法が使われていて、つまりは直交表を使うために因子・水準が使われていると認識しています(間違っていたらごめんなさい)。
この因子・水準は実験計画法における何らかの要因となり得るものが「因子」でそれを測るための基準をもつものが「水準」であるといった意味で使われています。つまりは、因子に設定するものは何らかの要因になっている必要があって、水準はその要因を測る上での基準となっていなければならない、ということになります。

テスト設計における因子・水準とは?

テストの文脈において因子・水準という言葉を使うのは、例えば、テストを行うことで不具合発見の要素となり得るものが因子だと捉えることもできるのでそれほど違和感がないように思います。しかしながら現場でHAYST法を採用していないにも関わらず因子・水準と使っているところでは、不具合の”因子”となり得るかどうかは関係なしに単純に仕様から落とし込んだ要素を因子・水準と呼んで使っているように見受けられます。

何がよくないの?

特にこだわらなければ因子・水準を使うほうがテスト設計者としては楽なのですが、テストケースとなりうる単純な要素も含めて全て因子・水準という言葉を使ってしまうと無駄なテストが作られたり、そのテストケースで何をテストしたいのかがぼやけてしまう恐れがあります。
あと、テストを請け負う会社ではテストのことを知らない方もおられるのでこの因子・水準を使ってしまうと説明が非常に回りくどくなってしまうという恐れもあります。

カバレッジ項目

一方、ISO/IEC/IEEE 29119-2のTest design and implementation processで主に使われているカバレッジ項目(test coverage item)という言葉を使うとそれが防げると思っています。言葉から得られる印象はとても大事でこの「カバレッジ」という意味合いが無駄なテストを作ったり、どんなテストしたいのかを暗黙的に考えさせてくれます。そういった意味で、カバレッジ項目という言葉を現場で使うようになりました。メンバーには馴染みがない言葉なのですが、これから浸透させていければと思っています

補足

内容自体は変わっていませんが、2024年5月20日に大幅に編集しました

この記事が気に入ったらサポートをしてみませんか?