Dreamland-夢と想いと小さな工夫

自分の中にある想いだったり日々の工夫だったりをすこしずつ書いていこうかなぁって思ってます。

仕様を理解するということ

この記事を書く前に、いや似たようなこと以前に書いたっけ?って確認してみたら、やっぱり書いていました・・・ネタ自体は「仕様を理解しないでテスト実行してもよいのか?」という話だったので今回言いたいこととはちょっと違うかな。

仕様を理解する=仕様書を読む、仕様書に書かれていることを(表面的に)理解するということではない

だけど、仕様書を読めば仕様は理解できるって思っている人は多いのではないかなぁ?そして、仕様書を読めばテストケースは作れるしテストできると思っている人もまだまだ多い。

だから、開発者とテスト担当者が分かれている場合に、仕様を共有しようという考えに至らないのかなぁ・・・でもそういう組織って開発者同士でも仕様を共有しきれていないと思う。実際そういうケースに遭遇することがある。

 

仕様を理解するというのは、仕様書に書かれている文章がわかるということではないよね。
文章は読めばわかる。読んでわからない用語を調べれば、文章としてはわかる。
だけど、それは理解したことにはならない。
仕様を自分の言葉で説明することができるかというと、できない。

仕様を理解するためには、
仕様が定められた背景、根拠というものを知る必要がある。
そして、仕様書に記された文章の裏に暗黙的な情報が隠されている。
それらを見出して自分の中で考え咀嚼して初めて理解できる。

そしてその理解が必ずしも全員一致しているとは限らない。
だから理解の内容を共有して認識を合わせる必要がある。

そんなことを普段の開発活動で行っているだろうか?
開発担当者は行っているかもしれない。
テスト担当者はそこに存在しているのだろうか?
・・・これまで私が関わってきたところの多くは残念ながら仕様の共有が行われていませんでした。

 

私は、無駄なテストというのは仕様が共有されていないときに「心配だから」とか「念のため」とかいう理由で追加されてしまうテストの中に含まれていることがあると思っています。肝心の仕様が共有されていないから見当違いなテストを行っていたりする。
(その他にテストレベルを意識せず重複させてしまうテストも無駄なテストになりますが、ここで言っているのは完全に意味のないテストです。)

もうひとつ、
仕様を理解したらすべてのテストケースが作れるわけじゃない。
仕様を理解した時点で見えてくるものがある。それは仕様の外側にあるもので、テストは仕様と外側にあるものとをつなげて考える必要がある。
だから、テスト担当者が仕様を理解するのは前提にある必要条件なんだと思っています。必要条件が揃わずにテストを考えようとしても、そりゃ無理だよね・・・

 

だから、もしテストが独立している組織であれば、開発者はテスト担当者との仕様共有をないがしろにしてほしくないし、テスト担当者は仕様を理解したうえでさらに仕様を補う役割を担っていることを自覚してほしい・・・と願っています。