連載
» 2017年03月24日 11時00分 UPDATE

山浦恒央の“くみこみ”な話(93):タダでソフト開発の生産性と品質を上げる方法(3):意外に使えるフリーツール「PictMaster」を使いこなす (1/3)

「タダでソフト開発の生産性と品質を上げる方法」の第3回。今回は、前回紹介した無料の組合せテスト自動生成ツール「PictMaster」を使いこなす応用編だ。

[山浦恒央 東海大学 大学院 組込み技術研究科 非常勤講師(工学博士),MONOist]

1.はじめに

試験のない学生生活 ※写真はイメージです

 ソフトウェアの開発では、プログラミングが天国ならデバッグは地獄。デバッグさえなければ、プログラム開発ほど面白い仕事はありません。「試験のない学生生活」のようなものですね。

 ソフトウェアは、膨大な入出力の組み合わせで成り立っており、入出力の組み合わせを適当にテストしても、バグは検出できません。何もやらずに出荷するのは、エンジニアの恥というより、「不正電磁物作成罪」を新しく法制化して告訴したくなります(有罪時の量刑は、「3年以上、または、一生涯、他人のプログラムをデバッグする刑に処す」です)。組み合わせテストが面倒なのは、テスト項目が爆発的に増加することと、作成したテスト項目の取捨選択が難しいことが原因でしょう。テスト項目数を少なくする代表的な技法に、「直交表」と「オールペア法」があります。これを使うと、少ないテスト項目で網羅的なテストができます(ただし、テスト項目を間引いているため、当たり前ですがバグの摘出漏れが発生します)。

 実製品をテストする場合、因子が予想以上に増えることは珍しくありません。この時、膨れ上がったテスト項目と格闘して血だらけになり、ミスを誘発しては傷口を広げます。組み合わせ項目を生成する上で強力なツールが、前回取り上げた「PictMaster」です。このツールには、以下のように絶大な御利益があります。

(1)短時間で、複雑な組み合せテスト用の項目を作成できる

 本ツールの最大のウリがこれでしょう。

(2)誰でも同じテスト項目を作成できる

 「誰がやっても同じ結果になる」は、エンジニアリングの基本です。開発における「料理のレシピ本」を作り、「誰がやっても同じ時間で同じ物ができる」手法やツールを使うことは非常に重要です。さる大手ハンバーガーチェーンは、調理を全てマニュアル化してあります。おいしい、不味いの観点ではいろいろな意見があると思いますが、エンジニアリングの点では理想です。ハンバーガーとフライドポテトを食べるたびに、「ソフトウェエアもこうやって開発できればいいな」とうらやましく思います。

(3)一定の品質を保証できる

 誰でも同じテスト項目を生成できると、そのテスト項目を実施すれば一定の品質を保証できます。これも、地味ながら素晴らしい利点です。

 前回は、PictMasterの基本的な機能を解説しました。今回はこのツールの「少し高度な使い方」を紹介します。なお、環境構築や基礎知識を知りたい方は、前回の記事も合わせてご参照ください。

       1|2|3 次のページへ

Copyright© 2017 ITmedia, Inc. All Rights Reserved.