テストのタスクとテストのスケジュールを決定するには行うテストの内容を決定し、テスト項目の洗い出しを行う必要がある。弊社の場合、各テストに対してテスト概要書を作成し、どんなテストをいつ・どんな環境で行うのかを記載してタスクの洗い出しとスケジュールの算出を行う。プロジェクト初期段階では要件や仕様が明確ではないため、テスト要件の洗い出しまではできない。このため、この概要書で見積もられたタスクとスケジュールをまとめ、テスト計画書に反映させることになる。ではどんなテストを行えばいいだろうか。これを見極めるためにはまずはどんなテストが存在しているかを理解する必要があるだろう。
表2はテストの種類をまとめたものである。テスト対象のアプリケーションによってはさらに多くのテストを必要とすることもあるだろう。これらのテストのうち、対象となるアプリケーションにはどんなテストが必要かをテスト計画に記述し、テスト概要書にそれらのテストをどのタイミングでどのように実施していくのかを記載してタスクとスケジュールの調整をするのである。テスト概要書を作成しない場合はテスト計画書にこれらの情報をすべて記載することになるだろう。
表2 テストの種類
|
テスト名 |
概要 |
タスク指向機能テスト
(TOFT:Task-Oriented Functional Test) |
アプリケーションの各機能が実行するタスクが、
仕様書・ユーザーガイド・要求仕様書・設計文書に
違反する動作をしていないかを確認する正常系テスト |
強制エラーテスト
(FET:Force-Error Test) |
プログラムを強制的にエラーにするよう設計された異常系テスト |
境界値テスト |
極端な入力データに対するプログラムの応答を確認する |
システムレベルテスト |
システム全体を通して動作させ、正常に機能するかを確認する |
現実のユーザーレベルテスト |
ユーザーがプログラムに対して
行うであろうことを予測してテストする |
探索型テスト |
問題の「起こりそうな」場所に焦点をしぼってテストする |
負荷/ボリュームテスト |
プログラムが大量のデータ/計算/処理を
どのように扱うかをテストする |
ストレステスト |
限られたリソースのもとでプログラムを動作させる |
パフォーマンステスト |
ユーザーが許容できるシステム性能を維持するための
効果的な方法を作成するために行う |
フェイルオーバーテスト |
システムレベルのエラー処理やリカバリプロセスをテストする |
アベイラビリティテスト |
システムやコンポーネントが動作可能で
アクセス可能な状態となるまでをテストする |
信頼性テスト |
システムが一定時間の間連続で操作可能かをテストする |
スケーラビリティテスト |
システムの拡張性をテストする |
APIテスト |
ハーネスアプリケーション等を利用し、APIをテストする |
回帰テスト |
バグ修正後に、それが確実に修正されているかと、
新たなバグが発生していないかをテストする |
互換性テスト、構成テスト |
アプリケーションがさまざまなハードウェアや
ソフトウェア上で正常に機能するかをテストする |
ドキュメントテスト |
リファレンスガイドやユーザガイドが
正しく記述されているかをテストする |
オンラインヘルプテスト |
オンラインヘルプの内容やヘルプシステムが
正常に機能するかをテストする |
ユーティリティ、ツール、
その他付属品のテスト |
システムに付属するもののテスト |
インストール/アンインストールテスト |
インストーラのテスト、READMEやアイコンの確認、
インストールした機能が正常に動作するかをテストする |
ユーザーインタフェーステスト |
使いやすさや見た目の評価、
UIが仕様通りに動作するかをテストする |
ユーザビリティテスト |
使いやすさやユーザーの満足度をはかる情報を収集するなど |
外部ベータテスト |
プログラムを試しフィードバックをくれる
外部の協力者にテストしてもらう |
日付テスト |
2000年問題や2038年問題のテスト |
セキュリティテスト |
脆弱性/情報洩れなどがないかをテストする |
単体テスト |
ソフトウェアをほかのソフトウェアと結合する前に
単体でその完全性を評価する |
|
Webアプリケーション開発で、必須となるテストは次のものだろう。もちろんこれ以外のテストも重要であることは言うまでもない。
- 機能テスト(タスク指向機能テスト)
- 強制エラーテスト
- システムレベルテスト
- 負荷/ボリュームテスト
- ストレステスト
- 回帰テスト
前回説明したように各テストは最低2回実施することを考慮し、これらのテストの実施時期をフェーズやレベルに合わせる(本来はフェーズやレベルから考えるものであるが)と、行うべきテストをまとめたテストセットが決定する。このテストセットというのもテストを考える上で重要な単位となる。テストセットについては別の回で詳しく説明したい。
今回はテストプロジェクトの目次となるテスト計画書とテストの種類について紹介した。テスト計画を作り、この計画をレビューしていくことがテストプロジェクトのスタートとなる。次回はプロジェクトのどのタイミングで各テストを実施するのがいいのかについて解説していく。
Copyright © ITmedia, Inc. All Rights Reserved.