「プロジェクト成功のためのソフトウェアテストの勘所」参加レポート を書きました

SEの進地です。

9月26日に、ソフトウェアの自動化テストに関するセミナーに参加してきました。

そのセミナーの講演内容のメモ・感想をARK-Web Sandbox Wikiにまとめました(ARK-Web Sandboxは、アークウェブのスタッフが色々なアイディアや技術を気軽に試したり、遊んだり、発表したりできるお砂場です)。

「プロジェクト成功のためのソフトウェアテストの勘所」参加レポート
https://www.ark-web.jp/sandbox/wiki/75.html


「ソフトウェアテストとはバグを見つけること」という、テストエンジニアにとっては当たり前といえば当たり前の言葉が一番印象に残りました。ともすると、バグがないことを証明するためにテストを行うという発想になりがちですが、こうした発想ではテスト漏れが生じます。人間は見たくないものは認識すらしないようになります。そのため、テストエンジニアがソフトウェアの正当性の証明を目的にした場合、不具合の検出を目的にする場合に比べて彼のテストは優しくなってしまうのです[Myers1979]。

「ソフトウェアにバグは必ずある」、「だから、それを見つけるためにテストを行う」、「バグを見つけられるテストが良いテスト」という意識をテストエンジニアが持つ、また持てるような環境づくりが重要ということになります。

その他にも、自動化テストを適応すべきケース/適応するべきではないケース、テストカバレッジ(網羅率)の考え方(「バグの80%は20%のコードに集中する」)、戦略なしの自動化テストの危険性、回帰テストを自動化すべきか否か、静的コード解析の有効性、など興味深いお話がありました。
品質の向上に興味のある方、また自動化テストに対して過度な期待をかけている方にも一読をお薦めしたい内容です。


参考
 Myers, G.J.(1979). The Art of Software Testing. New York: John Wiley & Sons.