単体テストの効率化を考える(20)
単体テストの結果資料の作成について(其の一)

どもです。

久しぶりの「単体テストの効率化を考える」シリーズです。

今回は、「単体テストの結果資料の作成」、即ち「テスト結果のまとめ」について考えます。

1. 結果資料に記載する内容

テストが完了した際に、多くのプロジェクトではテストレポートを作成します。テストレポート、特に「テストメトリクス」と呼ばれるレポートには、私個人は以下のようにな内容を作成するようにしています。

  • テスト結果
    単体テストで対象とした関数ごとに、以下の数値を記載します。

    • 設計したテストの件数
    • (設計したテストの件数に対して)実施対象としたテストの件数
    • 実施した件数
    • 進捗
      計算方法は、要検討
    • 合格数
      実行結果と期待値が一致したテストの件数
    • 不合格
      実行結果と期待値が一致しなかったテストの件数

    記載するのは、「最後の実行結果」に基づく数値になります。

  • テストの進捗
    • テストを実行した際のバージョン、あるいはリビジョン情報
      (テストを実行した日付、環境を特定できる情報)
    • 各バージョン/リビジョンでの、各テスト項目の実行結果
      (期待値と一致する/しないの情報)
    • 実行者、および日付
    • 特記事項(あれば)
    • (テストレポート情報)
  • テスト項目一覧
    設計したテスト項目の一覧
    テストの入力値と期待値が確認できる内容
    ※単体テスト設計資料(デシジョンテーブル)で代替してしまうことが多い。

勿論、テストの結論、総論は別途作成します。

2. 結果資料の例

結果資料、テストメトリクスに記載する内容が分かったところで、次は例を示します。私が普段作成しているテストレポート、テストメトリクスの例です。エクセルで出力しています。

まずはテスト結果です。



次はテスト進捗です。



このように、テスト結果およびテスト進捗では、各リビジョンで実施したテストの結果を記入するようにしています。

3. まとめ

今回は、テスト結果レポート、とくにテストメトリクスについて書きました。このテストメトリクスは、必ずしも正解ではないし、最適でもありません。過不足がある場合には、適宜追加と削除をしていきましょう。

また今回紹介したデータは、実施したテスト件数が非常に少なく、手動でも記入するのは簡単です。しかし、現実のプロジェクトで実施する単体テストの件数は、この比ではないと思います。そのため、手動で細かく結果を記入するのはとても難しいです。そこで今後は、今回表示したテストメトリクスの自動生成を検討していきます。

ではっ!