「タダでソフト開発の生産性と品質を上げる方法」の第3回。今回は、前回紹介した無料の組合せテスト自動生成ツール「PictMaster」を使いこなす応用編だ。
ソフトウェアの開発では、プログラミングが天国ならデバッグは地獄。デバッグさえなければ、プログラム開発ほど面白い仕事はありません。「試験のない学生生活」のようなものですね。
ソフトウェアは、膨大な入出力の組み合わせで成り立っており、入出力の組み合わせを適当にテストしても、バグは検出できません。何もやらずに出荷するのは、エンジニアの恥というより、「不正電磁物作成罪」を新しく法制化して告訴したくなります(有罪時の量刑は、「3年以上、または、一生涯、他人のプログラムをデバッグする刑に処す」です)。組み合わせテストが面倒なのは、テスト項目が爆発的に増加することと、作成したテスト項目の取捨選択が難しいことが原因でしょう。テスト項目数を少なくする代表的な技法に、「直交表」と「オールペア法」があります。これを使うと、少ないテスト項目で網羅的なテストができます(ただし、テスト項目を間引いているため、当たり前ですがバグの摘出漏れが発生します)。
実製品をテストする場合、因子が予想以上に増えることは珍しくありません。この時、膨れ上がったテスト項目と格闘して血だらけになり、ミスを誘発しては傷口を広げます。組み合わせ項目を生成する上で強力なツールが、前回取り上げた「PictMaster」です。このツールには、以下のように絶大な御利益があります。
本ツールの最大のウリがこれでしょう。
「誰がやっても同じ結果になる」は、エンジニアリングの基本です。開発における「料理のレシピ本」を作り、「誰がやっても同じ時間で同じ物ができる」手法やツールを使うことは非常に重要です。さる大手ハンバーガーチェーンは、調理を全てマニュアル化してあります。おいしい、不味いの観点ではいろいろな意見があると思いますが、エンジニアリングの点では理想です。ハンバーガーとフライドポテトを食べるたびに、「ソフトウェエアもこうやって開発できればいいな」とうらやましく思います。
誰でも同じテスト項目を生成できると、そのテスト項目を実施すれば一定の品質を保証できます。これも、地味ながら素晴らしい利点です。
前回は、PictMasterの基本的な機能を解説しました。今回はこのツールの「少し高度な使い方」を紹介します。なお、環境構築や基礎知識を知りたい方は、前回の記事も合わせてご参照ください。
Copyright © ITmedia, Inc. All Rights Reserved.