テストフェーズで何をするか

このQ&Aのポイント
  • SI企業で勤めております。恥ずかしい話ですが、開発の経験が少なく、各テストフェーズでどういった観点のテストをするのか、あまりわかっていません。
  • 単体テストは、モジュール内の分岐やエラーハンドリングなど網羅的に確認するとしてイメージがあります。結合テスト、機能テスト、システムテストなど今まで耳にしました。それぞれのテストでは、一般的にはこれをする、など考え方や手法はあるのでしょうか?
  • 例えばWebアプリでの画面遷移や夜間バッチの正常終了など、どのテストフェーズで行うべきかがわかりません。また、画面遷移の提供機能としての在庫参照や受注登録などもテストすべきでしょうか?アドバイスを頂ければ幸いです。
回答を見る
  • ベストアンサー

テストフェーズで何をするか

SI企業で勤めております。 恥ずかしい話ですが、開発の経験が少なく、 各テストフェーズでどういった観点のテストをするのか、 あまりわかっていません。 単体テストは、モジュール内の分岐やエラーハンドリングなど 網羅的に確認するとしてイメージがあります。 これ以外にも、 1.結合テスト 2.機能テスト 3.システムテスト など今まで耳にしました。 それぞれのテストでは、一般的にはこれをする、など 考え方や手法はあるのでしょうか?。 例えば以下のようなテストは、 どのテストでやれば良いのでしょうか?。 ・Webアプリでの画面遷移(ログインして一覧画面から、選択し更新~完了画面の表示) ・夜間バッチの正常終了(バッチは、ジョブスケジューラから起動) (ざっくりですみません、、) 「画面遷移」というのは、システム側(開発者側)から見た用語ですが、その画面遷移の 提供機能である、例えば「在庫参照」、「受注登録」は、ユーザから見た「機能」だと思います。 テストとしては、両方の観点でテストフェーズを設けるものでしょうか・・?。 アドバイスを頂ければ幸いです。

質問者が選んだベストアンサー

  • ベストアンサー
  • DUDDLAY
  • ベストアンサー率66% (136/203)
回答No.1

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

ruppina0807
質問者

お礼

Duddlay さま 詳細なご説明を頂き有難うございました。 関連するチームの立ち上げ、関係者の巻き込み方など、 とても参考になりました。 めげずに頑張っていきたいと思います。 またよろしくお願いします。

関連するQ&A

  • 途中部分のみの請負契約

     とある業務系システム構築において、元請けのSI企業よりプログラミング・単体テストを請負契約で受注しようとしています。  本来このフェーズの契約はSES(準委任)契約ですることが多く、請負契約で受注する場合のリスクを読みあぐねています。  特に心配なのが瑕疵担保責任についてです。上記のようなフェーズの契約で、何処まで担保すればよいのでしょうか?(俗にいう「仕様バグ」等の変更でも無償で行わなければならないか、単体テストバグだけで良いのか等)  この辺りをはっきりさせたいのですが、上の者は受注が取れないことのみ(売上が上がらない)を嫌って、あまり深く考えようとしません。  以上、よろしくお願い致します。

  • テスト業務を押し付けられないようにしたい

    私は女でエンジニア20年ですが 基本設計以降のフェーズでシステムを開発しています しかし、女だからなのか? 本当は、実装が一番好きなのに、他人が製造したテストばかり、おしつけられます エンジニアは他人の書いたコードのテスト點せられれば、非常に損な立ち回りで (技術的に何も向上しないから) 極力この状況にならないようにしたいですが どうしたら良いでしょうか! 切実です!教えて下さい。

  • プログラムの開発フェーズにおける順位付け

    皆様 お世話になります。 プログラム開発フェーズにおける順位付けを行いたいと思います。 下記に列挙する項目に対し順位付けを行いたいと思います。 どうか皆様の考えをお聞かせください。 ■開発フェーズの作業  ・処理フローの作成  ・機能構造図の作成  ・コーディング  ・コンパイル  ・コンパイルエラーの修正  ・テスト項目の洗い出し  ・テスト仕様書の作成  ・テストデータの作成  ・単体テストの実施  ・テスト結果のチェック修正  ・エビデンス作成  ・コーディング(サブプログラムに分割)  ・処理速度向上の考慮  ・可読性(コメント)の考慮  ・共通関数の調査  ・共通関数の設計  ・機能のプレ開発  ・設計書を熟読  ・設計書の内容の確認作業  ・開発標準【命名規約/コーディング規約/】の作成  ・開発標準の確認作業  ・開発環境の設定  ・テスト仕様書のテンプレート作成  ・ソース管理方法の作成  ・進捗管理方法の作成【プロジェクトレベル】  ・各種レビュー   ※上記の作業内容の階層化順序付け

  • 開発者が行うシステム開発について

    開発者が行う「単体テスト」に「ホワイトボックス法」の 「命令網羅」「分岐網羅」「条件網羅」「条件・分岐網羅」「複数条件網羅」とあります。 具体的にどのようなことなのかがよくわかりません。 このなかで一番精度が高いのはすべてのIF文の組み合わせを行う「複数条件網羅」らしい のですが、それに統一してしまえばいいと思うのですが・・・・・ あと、トップダウンテストとボトムアップテストについて、具体的な事例があったら 教えてください。

  • ソフトウェア開発委託の工数提示義務

    こちらソフト会社です。得意先よりソフトウェアの新規開発の委託を受けております。担当のお客様より機能ごとにどれだけ工数が発生しているかを明示せよとの連絡がありました。フェーズ毎(設計、プログラム開発、テスト)の工数は提示しているのですが、機能毎となりますと出しづらいところもあります。契約内容はあくまで成果物に関するものですので突っぱねてもよろしいものでしょうか。法律的な観点でお教えくださると有難いです。

  • web系システムのテストについて

    web系システムにおけるテストについてですが、 一般的には単体テスト、結合テスト、システムテストなどありますが、 web系の場合、どこまでが単体でどこまでが結合でといった境界 がはっきりしません。 たとえば、サーバサイドのjavaの場合、JSP、javaScript、HTML、java など複数の要素が含まれており、なにをもって単体と呼ぶかがわか らず、strutsなどのフレームワークを利用した場合はさらに MVCと機能が分離するためさらにテストが複雑です。 テストフェーズ別の具体的な成果物や、テスト項目、 テスト内容などをご教授いただけないでしょうか。 よろしくおねがいします。

  • JAVAで開発するシステムの見積方法について教えて下さい

    社内でシステムを開発することになり、開発費用を見積もらないといけないのですが、見積の方法がわかりません。 開発言語は画面はJAVAで、バッチと帳票はCOBOL です。 画面、帳票、機能数は出したのですが、そこではた、と停まってしまいました・・・ どなたか、システムの開発はこんなふうにして見積もっているよ、と教えていただけませんか? JAVA,COBOLに限らずどんな言語でも結構です。よろしくお願いいたします。

    • ベストアンサー
    • Java
  • システム開発のテスト環境について

    Webシステムの開発を開発会社へ依頼しました。 各テストを行う際に、環境を構築する一部でアプリを実機に乗せてテストを行う際の費用の持ち方なんですが、 その乗せる為の実機費用は開発側、依頼側どちらが持つのでしょうか? まあ契約などの細かい話などもあるかと思いますが・・・。 とりあえず、一般論的な感じでいいので結構です。 言葉足らずで説明不足で申し訳ないですが、よろしくお願います。

  • 地方自治体(市町村)との分割契約について

    地方自治体(市町村)とのシステム開発委託契約において、システム開発フェーズと運用フェーズに分けた分割契約、または分割検収を依頼していますが、これに応じて頂けません。 システム納入後も、運用フェーズにおいてトラブルが発生した場合のリスク回避のため、年度末まで検収を先送りしたいというのが理由ですが、適正なフェーズに基づいた分割であっても、委託側はこれを拒否することができるのでしょうか? ご存じの方がいらっしゃいましたらお願いいたします。

  • テストケースの作成

    テストケース作成について質問があります。『ある勤怠管理システムで、勤務実績の印刷ボタンを押下した後の画面に、これまでなかった「確定」の列が追加された』という想定で、開発者テストとリグレッションテストのテストケースを作成する場合、どのように考えればいいですか?

専門家に質問してみよう