第 5 章 ソフトウェアテスト
5.1 本プロジェクトにおけるテストの進行
5.5.2 施策に対する考察
2
次開発で行った施策が,テストを効率的に進めるために有効であったかを考察する.
単体テスト担当者の変更
有効であった点
プログラム作成と,テストコード記述の間に遅れが発生しなかった
2
次開発では,テストケースを事前に作成せず,テストケースの作成はプロ グラム担当者に委ねた.1 つのメソッドの作成からテスト完了までの作業を
1人で行えるようにしたことで,待ち時間が発生しなくなった.そのため,1 次 開発テストと比べて,1 メソッドあたりの単体テストにかかる時間が短縮され た.
反省点
指示が行き届かず,テストへの取り組みがバラバラであった
単体テストを各プログラム担当者に委ねたことにより,単体テストへの取り 組みが人によってバラバラとなってしまった.メソッド定義書の修正レビュー,
単体テストレビュー,バグ票記入を行っていたのは
3名中
1名のみであった.
他の
2名は単体テストを実行したのみで,単体テスト指示書に記載した内容に は取り組んでいなかった.筆者は,指示した作業に取り組んでもらえなかった 理由として,3 つの原因があると考えた.
1
つ目は,単体テストの進捗を監視しなかったことである.
2次開発の実装開 始時,筆者はプログラム担当者
3名に単体テスト指示書を見せ,単体テストの 実行内容を説明した.しかし,それ以降は結合テストの準備にのみ注力し,進 捗の監視を怠った.そのため,指示した作業をしていないことに気づかず,改 善の指示も出せなかった.
2
つ目は,ドキュメントの作成意図が伝わらなかったことである.指示した
内容に取り組まなかった理由をプログラム担当者に尋ねたところ,単体テスト
チェック項目表(図 5-8)を付ける理由が分からず作業を後回しにしてしまい,
そのまま忘れてしまったという返答であった.単体テストチェック項目表は,
単体テストを行った記録を残すために準備していた.単体テストの指示を行っ た時にもその意図を説明したはずであったが,説明が
1度きりであったことか ら理解が得られなかったのではないかと考える.また,実施したテスト自体は テストコードとして残ることから,ドキュメントとしてまとめる必要性を感じ なかったことが考えられる.
3
つ目は,指示した内容が手間のかかるドキュメント作成であったことであ る.2 次開発では作成するメソッドの数が多かったため,メソッドの作成が間 に合わず,スケジュールの遅れがあった.そのため,指示していたドキュメン トの作成に割く時間を取れなかったことが考えられる.
テストケースの作成と並行した画面定義書の修正
有効であった点
プログラムの実装前に多くの仕様を修正できた
テストケース作成中に発見した仕様書の不備の件数は計
52件であった(表
5-22)
.実装完了前に多くの仕様を修正したため,テスト時のバグの発生を大き
く削減することができたと言える.仕様書の不備の内容で多かったものは,画 面上でユーザが入力する箇所の,正しい入力値の範囲を定義していないもので あった.警告・エラーの表示ルールの表記も十分でなく,開発者とよく相談し ながら定義を確定させた.
表 5-22 画面定義書修正数
画面名 仕様修正件数
患者情報画面 2
患者レジメン登録画面 0
患者薬歴登録画面(内服) 5
薬歴登録確認画面(内服) 1
患者薬歴登録画面(注射) 10
薬歴登録確認画面(注射) 7
薬歴一覧画面 8
日報作成画面(外来) 4
日報印刷画面(外来) 3
日報作成画面(入院) 9
日報印刷画面(入院) 3
合計 52
CFD
技法を用いたテストケース作成
有効であった点
判定処理の定義を見直すのに役立った
CFD
は,警告・エラー判定処理のテストを作成する際に用いた.しかしこの 時,判定処理の順序が厳密に定義されていないという問題が発覚した.また,
図を作成する中で,判定に考慮されていない事項があることにも気がついた.
そのため,判定処理の再定義をプログラム担当者と行うことになった.この時
CFDを描くことで判定条件や組み合わせが整理され,プログラム担当者との情 報共有に役立てることができた.また,プログラム担当者が実装作業を行う際 も,参考資料として用いることができた.
反省点
原因要素として,データベースの状態を考慮しなかった
CFD
を作成する際に,原因要素として画面上の要素しか列挙しなかった.そ のため,データベースの状態が結果に影響するテストケースの作成を行わない でしまった.そのため,テストケースに挙げなかった点から不具合を発見した.
具体例を上げると,削除した薬歴データのあった期間に新たに薬歴データを登
録する場合に,新たなデータが登録できないバグがあった.
ドキュメント内
大学病院における抗がん剤
(ページ 46-49)