■ Java 結合テスト

  ・テストの段階と名前はいろいろ
    結合、統合、総合、受入..

  ・結合テストと統合テスト
    ・結合テストは、ロジックのテスト
      ・単体テストに合格したものを結合する
      ・バグはかなり出るはず ⇒ でないとおかしい

  ・統合テストは、業務全体のテスト
    ・業務の流れをテストする
    ・基本的にバグは出ないはず
    ・パフォーマンスや実業務での適合性

 ・テストの考え方
   ・業務の流れに沿ってデータを投入し結果を確認していく
     ・しかし仕上がりの順番によっては難しい
     ・業務の流れに沿っててできるように、もともとの計画を作っておく
   ・全体の流れをテストする、単体テストのような細かいテストは行えない
    ・ブラックボックステストが基本
    ・スタブ・ドライバは原則として使用しない
  ・テスト仕様書
    ・テスト仕様書は、広範囲にわたるものが必要 - 全業務
    ・業務全体、システム全体をよく分かっている担当者が作成
      ・そのような担当者は忙しいので、管理のもとで、作成自体は他の者がやる
  ・テストデータの作成
    ・業務の流れに沿ってテストするので、膨大な量のテストデータは不要
    ・開発側では実データによるテストは、あまり行われないが、実データが用意できれば、それがよい
  ・テストの実施
    ・専任のテスタ
  ・バグ(問題点)の管理
    ・昔は紙ベース、現在ではバク管理システムを使う
      ・bugzilla,redmine,tracなど
      ・発生状況、修正状況を管理できる
      ・統計データも取ることができる
      ・関連メンバーへの通知機能
    ・紙のドキュメントで管理していたら大変
  ・ソースの修正
    ・ソースの修正は、許可制
    ・ソースは厳重にプロジェクトで管理し、新たなバグが入らないようにする
    ・CVS,SVNなどの履歴に対応するバグの番号を書いておく
  ・完了判定
    ・原則は、すべてのテストケースが合格となること
    ・でなければ、以下で判定する
      ・消化したテストケースの割合
      ・残っているバグの数と内容
      ・バグの発生曲線
    ・解決しないバグ
      ・解決しない場合、業務上どのような問題点があるか
      ・問題点が重大な場合は、解決するまで頑張ることが必要
      ・重大でない場合は、OKとする、仕様に問題がある場合
        ・場合によっては顧客の了解が必要


□ テスト実施のヒント

  ・テストの準備を実装時に合間をみて行う
    ・準備で他人に依頼する必要があるものは早めにやらなければならない
    ・テスト準備・データ作成は思ったよりも時間がかかる
    ・やってみて初めて分かることもある
    ・実は実装の問題が判明することもある

  ・テストの順番
    ・単体テストスケジュールを上流工程・共通処理優先にする

  ・結合テスト
    ・上流からテストを行う => テストデータの作成が容易
    ・結合テストと単体スケジュールを一部重複させる

  ・できれば実データでテストする
    ・頭で考えたデータでは抜けや誤解がありうる
      注、本当は実装時に実データを見せてもらうとよい

  ・データベースを使うシステムのテストの難しさ ⇒ 既述

-----------------------------------------------------
・目次 Java システム開発
  http://blogs.yahoo.co.jp/artery2020/40586660.html
・目次 - Java入門
  http://blogs.yahoo.co.jp/artery2020/39975776.html
・目次 - ビジネスパーソンの常識と非常識
  http://blogs.yahoo.co.jp/artery2020/39728331.html
・目次 - 論理・発想・思考についての考察と鍛え方
  http://blogs.yahoo.co.jp/artery2020/39657784.html
-----------------------------------------------------