開発したソフトウェアにバグがないか確認するために必ず必要となる、ソフトウェアテストの工程。テストをより効率的に進めていくには、当ブログの別記事、テストケース作成のポイントでも触れたように、「テストケースの作成」が重要な要素となってきます。
本記事ではテストケース作成の要所となりうる「テストケースの管理方法」を、4つのポイントに分けてご説明します。
スケジューリング
テストの実行方法や順序性をどうしていくべきか―。明確な指針や正解は残念ながら存在していません。ネットや書籍にも、ガイドラインになるような情報が少ないのが実情です。
さらに、複雑な機能を持つモジュールは重点でテストしたり、テストを実行するメンバーそれぞれの力量やテストケースの理解度も異なっていたり、テストに使用する機材(コンピューター)のスペックが異なっていたりと、様々な要因が重なることで、テストを均一に進めていくことは極めて難しいと言わざるを得ません。
結局のところ、プロジェクトマネージャーをはじめとした開発者たちの裁量、時として「勘」により、スケジューリングされることが多いのです。
テストケース数
多くの現場では、テストケースをテスト項目表のような表形式として管理しています。自然とテストの進捗状況は表計算ソフトで管理している場合が多く、テストの種類ごとに、項目数はもちろん、進捗状況やバグ発見数を管理しています。
テストケースは、できるだけリアルな、実際の操作方法や投入するデータを定義した形で作成するのが望ましいとされています。例えば、文字入力を伴うテストケースを作成した際に、入力する文字データがテスト実行者ごとに異なってしまうと、複数回テストをした際に違った結果を生み出してしまうかもしれません。そのため、投入するデータが異なる場合、そのパターン分、テストケースを作成するべきなのです。
テストケースはやみくもにその数を増やせばよいというものではありません。前述のように、テストケースから曖昧さを排除し、明確に書いていけばいくほど、数自体が増えてしまい、自ずと、テストの進捗管理を行う立場の要員(多くの場合はプロジェクトマネージャーや開発者)の管理工数も増大してしまうからです。
ツールの活用
近年では、SeleniumやJenkinsのようなソフトウェアテストを自動実行するツールが登場し、テストの効率的な実行に注目が集まっています。ソースコードを書きながら、テストコードも書いてしまい、開発完了とともに単体テストも完了している、という開発現場も珍しくなくなりました。また、開発者同士でのナレッジの蓄積やバグフィックスの進捗管理のために、RedmineやTracのようなバグトラッキング(バグ管理)システムも多くの現場で導入されるようになっています。
これらのツールは、テストケースを管理する機能もついていますが、管理を専門に行えるツールも多く出てきており、前述のソフトウェアテスト自動実行ツールやバグトラッキングシステムと連携動作させることで、管理を直感的・視覚的に行うことができるようになります。
従来のように表計算ソフトによる管理(起票と集計)を行わなくてよくなるため、管理工数を削減することができます。
実行
作成されたテストケースは、随時実行していきます。実行時には、実行日時・実行者・実行環境・実行した際のソフトウェアのバージョン(ビルド番号)・実行結果等を記録していきます。前述のようなツール管理が導入されていない現場では、Excelなどの記載されたテスト項目表に起票しながら、テストケースを実行していきます。
テストケースの実行は、重要な機能が含まれるモジュールや共通機能のテストを優先して進めるのが望ましいです。早い段階で、広範囲に影響を及ぼす重大なバグを発見し、修正できる可能性が高まるからです。反対に、早い段階でこうしたバグを検出できないと、一度はOKとしたテストケースを再実行しなければならない状態に陥る可能性も出てきてしまいます。
バグが発見されれば、ソースコードの修正とビルドを実施しなければなりません。効率的に開発を進めていくためにも、テストケースの実行順序は極めて重要な要素と言えるでしょう。
まとめ
ソフトウェアの品質向上のために必要不可欠なソフトウェアテストを、効率的に実行するためには、テストケースの管理は重要なプロセスです。
かつてはソフトウェアテストの現場において、テストケースの作成と実行は開発者が担うことが多かったですが、近年ではテストケースの作成と実行を、ソフトウェアの開発者本人ではなく、社内外のテスト専門部署や企業に委託するケースも増えてきています。開発者本人がテストケースを作成すると、「テスト結果でOKが出やすいテストケース」を作ってしまいがちだからです。
仕様がわかっているが故に発見できないバグを、第三者がテストすることでバグを検出し、品質を高めていく―。株式会社ウェブレッジは、このような「第三者検証」を手がけるスペシャリスト集団です。ソフトウェア品質の向上についてまとめた資料を無料でご提供しておりますので、貴社の品質向上にお役立てください。
■テストケースに関するその他の解説記事
【参考文献】
現場の仕事がバリバリ進む ソフトウェア テスト手法(初版)、(株)技術評論社