今回からは、「テストの新しいアプローチ」を全体的にコーディネートすることの意義について取り上げます。今回は、皆さんが1回は経験しているであろう「効率の悪いテスト」について考えてみましょう。

筆者は普段、ソフトウェアテストに関するコンサルティングやセミナーの講師を行っていますが、その中でよく「もっと効率的にテストをしたいのですがどうすればよいのでしょうか?」といった質問を受けます。これはテスト担当者だけでなく、要件定義や設計、実装担当者からもよく受ける質問でもあります。

筆者が「何で効率的にできないのか」と聞くと、その多くが「テストには時間をかけたくない」という話にたどり着きます。設計・実装担当者の間では、「テストを行っていると気持ちが暗くなってきます」とか「気が狂いそうになってきます」なんていう意見も少なくありません。

一方テスターの人たちからは、「バグが出続ける夢を見てしまい夜も寝れません」とか、その逆で「バグを見つけろと言われるのですが、どれだけテストしてもバグが出なくて困っています」なんて声が聞こえてきます。

筆者は昔、友人から「テストが大変になるっていうのは、ゴミの分別ができていないのと一緒なんだよね」という話を聞き、納得したことがあります。

ゴミの分別に対する決まりは市町村によって違いはあると思いますが、多かれ少なかれ各家庭がゴミを出す前に分別することになっているはずです。これは、ゴミを全部収集してから分別するのが大変だからですよね。

ちなみに、東京都では1人が1日に出すゴミの量は1.2kgだそうです。東京都の人口は約1,200万人ですので、1日に出るゴミの量の総計は約1万4,400トンにもなります。これだけの量のゴミを全部集めて分別作業を行うとなると……単純計算すると約25万人(!!)もの作業員が必要になります(※)。

さらに、ゴミは収集車の中でミックスされて分別しづらくなったり、時間の経過と共に生ゴミの臭いがキツくなったりするなど、作業が困難になる要因が加算されてくるので、作業員が一から分別するのがいかに非現実的かということがわかると思います。

要件定義を行い、設計・実装が済んでからテストを行う今までのアプローチは、「後でまとめて」という意味でゴミの分別作業と似ているというわけです。テストも早い時期から実施して、最後の段階での手間が減るようにしなければなりません。

※:ゴミ排出量は八都県市廃棄物問題検討委員会で公開されている情報を参照しました。必要な作業員数は、「分別にかかる時間を1人当たり10分程度、作業者が8時間休みなく働く」と仮定した場合の単純計算に基づきます。1人当たり1日で分別できるゴミの量は48人分ですので、1,200万人÷48人=25万人というわけです。現実的にはありえませんが……。

執筆者プロフィール

湯本剛 (Tsuyoshi Yumoto)
株式会社豆蔵 シニアコンサルタント。1991年に製造メーカーに就職し、原価管理、製品管理システム構築プロジェクトに参画。その後ソフトハウスにてパッケージソフト、プリンタドライバ、C/Sシステム、Webシステムなどソフトウェアテスト業務に携わる。現在は豆蔵にてソフトウェアテストのコンサルタントとして活動中。日本科学技術連盟SQiPステアリング委員、JSTQB技術委員、s-open幹事、NPO法人ソフトウェアテスト技術振興協会理事。

『出典:システム開発ジャーナル Vol.4(2008年5月発刊)
本稿は原稿執筆時点での内容に基づいているため、現在の状況とは異なる場合があります。ご了承ください。