- ベストアンサー
テストフェーズで何をするか
- SI企業で勤めております。恥ずかしい話ですが、開発の経験が少なく、各テストフェーズでどういった観点のテストをするのか、あまりわかっていません。
- 単体テストは、モジュール内の分岐やエラーハンドリングなど網羅的に確認するとしてイメージがあります。結合テスト、機能テスト、システムテストなど今まで耳にしました。それぞれのテストでは、一般的にはこれをする、など考え方や手法はあるのでしょうか?
- 例えばWebアプリでの画面遷移や夜間バッチの正常終了など、どのテストフェーズで行うべきかがわかりません。また、画面遷移の提供機能としての在庫参照や受注登録などもテストすべきでしょうか?アドバイスを頂ければ幸いです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
Duddlay と申します。 作成するシステムによってテストは様々ですが、おっしゃられるテストについて 一般的には、こんなところだと思います。 >1.結合テスト 単体テストで作成したモジュール同士が、正常に結合できるか(コンパイル・リンクできるか)、 データのハンドリングがうまくいくか、等だと考えます。 >2.機能テスト あらかじめ決められた(エンドユーザーと交渉して決めた機能)について、要望どおり 動作するか(エラー処理も含めた)のテストと考えます。 >3.システムテスト インフラも含めた総合的なシステムのテスト(システム使用時のインフラの負荷試験、 システムの設定変更時の動作チェック)等のテストと考えます。 ※「2.」に含まれることもあります。 >例えば以下のようなテストは、 > どのテストでやれば良いのでしょうか?。 >・Webアプリでの画面遷移(ログインして一覧画面から、選択し更新~完了画面の表示) 考えられる画面遷移(エラー処理も含む)をすべて書き出し、機能毎にまとめ、 総当りで「手動」で行います(Excel等を使うと便利です)。 ※OSの機能を用いて自動的に入力項目へデータを打ち込むのもありですが、実際には エンドユーザーが手動で行うものだと思いますので。 規模にもよりますが、テスト部隊を立ち上げて、そこに専門的に試験してもらうのが 良いと思います。 同時に「エラー管理」(不具合管理)のシステムも立ち上げましょう。 テスト部隊の管理者と打ち合わせして、作ってもらってください。 勿論、出来上がったエラー管理システムの内容も、お互いにチェックしましょう。 また、テスト中に無いとおかしい画面遷移やシステムモジュールが出た場合は、 エラー管理とは別に、「課題リスト」を作成し、記入はテスト部隊が行い、システム作成部隊 には不具合修正と共に、課題対応の難易度/対応期間等を記入してもらいましょう。 ※課題対応はエンドユーザーとシステム作成部隊のリーダーとで打ち合わせして、 対応するかどうか決めましょう。 >・夜間バッチの正常終了(バッチは、ジョブスケジューラから起動) どういったシステムなのか不明ですが、連続運転、複数起動、長時間放置も試験に盛り込み ましょう。 ※長時間放置していると、入力画面で固まったりすることもしばしばあります。 >テストとしては、両方の観点でテストフェーズを設けるものでしょうか・・?。 テストするとなれば、当然エンドユーザー側からの試験がメインとなります。 でないと、作成者側の意見の押し付けになってしまいますので・・・。 しかも、そうなると、エンドユーザーが求める機能がもりこまれなくなります。 ですので、結合テストよりもっと先の、「システム構成仕様作成」フェーズから エンドユーザーには入ってもらって、会議で内容を詰めてください。 以上、ご参考までに。
お礼
Duddlay さま 詳細なご説明を頂き有難うございました。 関連するチームの立ち上げ、関係者の巻き込み方など、 とても参考になりました。 めげずに頑張っていきたいと思います。 またよろしくお願いします。