セッション4のタイトルは「8人の匠によるテスト戦略 ~独立系SIベンダーのソフトウェアテストへの取り組み~」, 講師は杉山真一氏((株)日本オープンシステムズ)です。同社は「8人の匠」という社内エキスパート制度でも知られますが, テスト分野にも匠たちが大きく関わっているようです。
「テストの結果=欠陥の数」ではない
ソフトウェアの品質に関して, 「欠陥が多く発見できたら高品質」「欠陥が発見されなかったら高品質」といった誤った見方があります。しかし, テストの結果は欠陥の数では評価できないのです。今回は, 当社の「8人の匠」によるテスト戦略をご紹介します。
品質とは顧客満足度
ここでまた, テストに関する誤った理念を指摘しなければなりません。「テストケースの設計は, テスト技法を使えば新入社員でも簡単にできる」「テスト手順を見ただけで『誰にでも』実施できるようにしよう」「準備したテストケースは, 期間内に『こなさなければならない』」…これらは全て間違いで, テストの実行には検証対象の本質を見る必要があるのです。
例えばテスターが「昨日はダウンロード機能から多くの不具合が見つかりました。今日の予定はヘルプファイルの誤字脱字確認です」と言ったとしたら, 大きな問題です。前日欠陥が多く見つかった箇所に関しては, 異なる環境やデータで再度テストすべきなのです。ISTQBテスト技術者資格制度Foundation Levelシラバス日本語版における「ソフトウェアテスト 7つの原則」に照らし合わせると, 原則4「欠陥の偏在」にあたります。
また, 若手のテスターに多いのですが「アンインストール中にOSを再起動したらフリーズしました。これは仕様ですか?」などと尋ねる場合があります。これは「7つの原則」の原則7「『バグゼロ』の落とし穴」, すなわち「欠陥を見つけて修正しても, 構築したシステムが使えなかったり, ユーザの要件や期待を満足しなければ役に立たない」のです。
ツールや技法ではなく, 人こそが品質を作る
当社の「8人の匠」は, いずれもトップレベルの技術リーダーであり, それぞれがモットーを持っています。例えば携帯電話の匠は「お客様に尽くす」, PCの匠は「人を育てる」, PDAの匠は「同じ失敗を繰り返さない」, カーナビの匠は「開発者との連携」, サーバー関係の匠は「自発的な取り組みを促す」, オーディオ関係の匠は「組織に血(情報)を通わせるのはコミュニケーションである」というように。
これらは, ツールや技法ではなく, 人こそが品質を作るということを物語るものです。
テストの結果は, 正しいプロセスを実行したかで判断
最初に「テストの結果は欠陥の数では判断できない」とお話ししました。では, 何で判断できるのか。それは「正しいテストプロセスを実行したかどうか」なのです。
当社では独自の検証プロセス理論「創(そう)」を確立し, 社内Webで社員であれば誰でも閲覧可能です。これは計画・設計・実行・報告の4つのプロセスからなり, 各プロセスにおいてなすべきことや作成・提出すべきものを定義しています。その中からユニークなものを挙げると, 報告プロセスにおけるポストモーテム報告書があります。これは次回以降の参考になりうる点をまとめたものであり, 手法や効率の改善に貢献しています。
「押し付け型」ではなく「柔らかい」提案を
ユーザーに対しては, 自社の都合に拘泥する「押し付け型提案」ではダメで「柔らかい提案」にすべきであり, ユーザーに合わせた手法で効率の良い品質の向上を目指すべきです。そのために当社では, 自社開発を含む各種ツールを活用しています。
フリーのマインドマップ作成ツール「FreeMind」では, 機能の一覧やテストの項目などを設計します。テストには同じくフリーの「TestLink」を使用, これはテストケースのバージョンアップに対応しています。バグ管理ツールとして自社開発の「Dooberman」を用いており, これはバグに対してタグ付けと色分け表示が可能なため, 誰がどのようなバグに対応しているのか, またどのような問題を抱えているのかなどが一目瞭然となります。
まとめ
最後に繰り返しとなりますが, 当社の品質に関する考え方をご紹介します。
「品質とは顧客満足度である」「品質はプロセスから作られる」「人こそが品質を作る」, この3点がテストにおいても重要な要素だと言えます。