Download presentation
Presentation is loading. Please wait.
1
開発流れ
2
修正履歴 2011/11/15 新規作成 2011/11/16 ページ「単体テストフェーズの成果物について」に「データ作成する時、マスタデータが基本的にないことはないだと考えていいだが、念のため、確認したほうがよい。 」を追加
3
各フェーズ(工程) 要件定義(基本は担当範囲外) 基本設計 詳細設計 コーディング(プログラミング、製造) 単体テスト 結合テスト
総合テスト、システムテスト、本番テスト(基本は担当範囲外)
4
各フェーズの関係 指導⇔検証 要件定義 基本設計 詳細設計 コーディング 単体テスト 結合テスト 総合テスト
黒い「→」は開発の基本流れである。前のフェーズのOutputは次フェーズのInputとなる。 必ず前のフェーズが全部終わってから次のフェーズに入るわけではないことを注意してください。 赤い「→」は離れているフェーズの関係を示している。詳細設計と単体テストを例として説明する。 詳細設計のOutputは単体テストのInputとなり、単体テストは詳細設計通りで実装しているかどうかを検証する。 次のフェーズの実装より前のフェーズを修正しないといけない場合がある。 プロジェクトより各フェーズの名称/有無が違い場合がある。基本設計を外部設計、内部設計に分けるケースもある。あくまで、開発流れとV型のイメージを立ってもらうことがポイントである。
5
各フェーズの入力資料と成果物 フェーズ 入力資料 成果物 要件定義 ユーザとの打ち合わせ、運用中のシステム 要件定義書 基本設計
要件定義書 ガイド(サンプル) Q&A 横展開 仕様変更 テーブル定義書、 ER図、 メッセージ定義書、 コード定義書、 IF設計書、 画面遷移図、 各画面の画面(帳票)定義書、 各画面の機能説明書、 各モック画面、 各一覧、 レビュー票 詳細設計 基本設計 ガイド(サンプル) Q&A 横展開 仕様変更 各画面の詳細設計書、 各機能(モジュールごと)の詳細設計書、 チェックリスト、 レビュー票
6
各フェーズの入力資料と成果物(つづき) フェーズ 入力資料 成果物 コーティング 詳細設計 ガイド(サンプル) Q&A 横展開 仕様変更
詳細設計 ガイド(サンプル) Q&A 横展開 仕様変更 ソース(コメント付き)、 Junitソース、 チェックリスト、 レビュー票 単体テスト 詳細設計書 ガイド(サンプル) Q&A 横展開 仕様変更 画面単体テスト仕様書、 画面単体テスト証跡(データ)、 Juintテスト仕様書(データ) 、 単体テストバグ票(Juintも含む)、 チェックリスト、 結合テスト 基本設計 ガイド(サンプル) Q&A 横展開 仕様変更 結合テスト仕様書、 結合テスト証跡(データ)、 結合テストバグ票、 チェックリスト、
7
各フェーズの入力資料と成果物(つづき) 説明 フェーズ 入力資料 成果物 総合テスト、システムテスト、本番テスト
要件定義 Q&A 横展開 仕様変更 各テスト仕様書、 各テスト証跡(データ) 説明 要件定義、総合テスト、システムテスト、本番テストは基本的にオフショアの担当範囲外であるので上記に書いている入力資料と成果物は正しくない場合がある。 各フェーズでも誤りがあるはず。その誤りを指摘理由として (1)上流設計と違い (2)類似画面と違い (3)常識。その他のシステムがやっているもの。Tab順、入力桁数チェック、コピーペストより桁数チェックなど。 が考えられる。
8
基本設計フェーズの成果物について テーブル定義書 ER図 メッセージ定義書 コード定義書 IF設計書
テーブルごとに作られるのは一般的。 そのテーブルにあるすべてのフィールドの日本語名、英語名、主キー、NotNull、型、桁数を明記するもの。 ER図 テーブル間の関係を示すものである。 メッセージ定義書 システム上に使われるメッセージを定義するものである。 Information、Warning、Error、Fatalに分けることもある。 メッセージIDとメッセージ内容を明記するもの。 コード定義書 システム上に使われるコードを定義するものである。 コードごとにシートを分けるのは一般的。 IF設計書 各モジュールのInput、Outputを明記するものである。 特に、システムに使われる外部の部品の説明が重要。 IF以外、簡単なロジック記述があれば、理解しやすくなる。 (booleanの説明)
9
基本設計フェーズの成果物について(つづき)
画面遷移図 遷移元画面ID、名称、遷移元画面イベント(遷移を行うイベント)、遷移先画面ID、名称を明記するものである。 画面(帳票)定義書 画面レイアウト、各画面項目の名称、位置、桁数、型、編集形式、表示内容(選択リスト)、単項目チェック(オプション)、イベントを明記するものである。 帳票の場合、画面レイアウト、各画面項目の名称、位置、桁数、型、編集形式、表示内容を明記するものである。 機能説明書 画面以外、裏で行う処理を記述するものである。 単項目チェック(オプション)、関連チェック、業務チェック、DBとのアクセス、他機能(Util)の呼び出す、遷移画面の設定、システムに使われるステータス、メッセージIDの設定などを記載するものである。 モック画面 Htmlのことを指す。ユーザが承認されたのは一般的。画面定義書のレイアウトと一致するはずので、不一致の場合、どちらが正と確認する必要がある。
10
詳細設計フェーズの成果物について 詳細設計は画面と画面以外に分けて作るのは一般的。 画面以外、モジュール単位で作るのは一般的。
(1)各画面の詳細設計書 Htmlに記載するロジック、JSの実装、単項目チェックの実装を明記するものである。 (2)各機能(モジュールごと)の詳細設計書 使うモジュールのIFを確認した上、ソースの実装を指導できるように、作成するものである。 (3)チェックリスト 担当者が成果物をレビュー者に投げる前に自分で再度確認するリストである。プロジェクトごとに特有のものが書かれるのは一般的。 (4)レビュー票 レビュー者が担当者の成果物を確認し、指摘を書くものである。 担当者がその指摘を対応してレビュー者の再度確認をもらう必要がある。
11
単体テストフェーズの成果物について 画面単体テスト仕様書 画面単体テスト証跡(データ) Junit単体テスト仕様書
基本設計と詳細設計の画面定義書よりテストケースを作る。ブラックボックステストである。 レイアウトとボタン動作と単項目チェックを確認する。 注意するのは境界値、最大値、最小値のテストが必要となる。基本的に、単体テスト実施ガイドに書いてあるはず。 最大値のデータは「WWWWWWWWW1WWWWWWWWW2」のように作成するのは薦めである。 データ作成する時、マスタデータ(マスタテーブル(入力画面がないもの)、コード、メッセージ)が基本的にないことはないだと考えていいだが、念のため、確認したほうがよい。 画面単体テスト証跡(データ) 画面単体テストのケースごとに、データとそのケースを検証できるシステムのハードコピーが必要である。 いうまでもないだが、データとハードコピーはそのケースを検証できるのは一番重要。 Junit単体テスト仕様書 Juintはモジュールごとに作成する必要がある。その単体テスト仕様書も同じ。テスト観点として、上位インタフェース、下位インタフェース、同値分析、境界値、条件分岐が必要。
12
単体テストフェーズの成果物について(つづき)
単体テストバグ票 画面単体テスト、Juintテストで発見した誤りを記入するものである。 検証するのはソースだけだけど、誤りはソースのみ発生ではなく、原因を分析する必要がある。基本的には、 (1)テストに関する テスト環境不備、テストデータ不備、テスト手法誤り(手順違反、仕様通り)など (2)ソースに関する 単純ミス、仕様理解間違い、仕様反映(取込み)漏れなど (3)設計に関する 上流設計ミス が考えられる。 注意:基本設計、詳細設計、単体テスト、結合テストの仕様書作成する前にそれぞれの作成ガイドを必ずよく読んでください。 ソース、Juintを書く前に、それらの実装ガイド、実装イメージも確認する必要がある。
13
単体テストフェーズの成果物について(つづき)
単体テストバグ票 画面単体テスト、Juintテストで発見した誤りを記入するものである。 検証するのはソースだけだけど、誤りはソースのみ発生ではなく、原因を分析する必要がある。基本的には、 (1)テストに関する テスト環境不備、テストデータ不備、テスト手法誤り(手順違反、仕様通り)など (2)ソースに関する 単純ミス、仕様理解間違い、仕様反映(取込み)漏れなど (3)設計に関する 上流設計ミス が考えられる。 注意:基本設計、詳細設計、単体テスト、結合テストの仕様書作成する前にそれぞれの作成ガイドを必ずよく読んでください。 ソース、Juintを書く前に、それらの実装ガイド、実装イメージも確認する必要がある。
Similar presentations
© 2024 slidesplayer.net Inc.
All rights reserved.