ソフトウェア・システムのテストとは


テストとエビデンス

ソフトウェアの製造やシステムの構築を納品する場合、
テストを実施する必要があります。

テストの目的

  • 要件通りに動くか
  • 不具合が無いか

テストの準備

  • テストケースの作成
  • テストデータの用意
  • テスト環境の構築

テストケースとは

ソフトウェアやシステムを実際に動かした場合に
どのような動作をするのかは納品前に把握しておかなければなりません。

処理する対象のデータや操作者の操作方法により、
また、機器の停止など障害により
意図しない動作が発生する可能性があります。

意図しない動作に対して受容や回避が出来ない場合は、
修正する必要があります。

上記のため、様々な場合を想定してテスト項目を洗い出します。

網羅性

処理の選択や処理対象のデータにより
分岐、すなわち使用される機能又はハードウェアが変わってきます。

もしも、それぞれのコーディングや構築方法に誤りがあると、
正しい結果にならなくなる懸念があります。

そのため、全てのパターンがそれぞれ最低1回ずつテストできるよう、
テストケースを洗い出します。

障害テスト

正常系(正常に稼働中の状態)と障害系(障害が発生した直後および復旧中)について実施します。障害が発生する可能性がある箇所を列挙し、障害箇所毎にテストを実施します。

テストデータとは

ソフトウェアやシステムというものは、
あるデータを処理するためのものと言っても過言ではありません。

テストを実施する場合においてもデータが必要になりますが、
プライバシー保護や防犯の観点から、本番用のデータは利用させてくれません。

そこでテストデータ、すなわち実在の事物を指し示しない、または特定の意味を持たない羅列を用意します。

エビデンス

すなわち報告結果に誤りが無いことを証明する記録を採ります。
これをエビデンスと呼んだりします。

エビデンスの種類

  • ログファイル
  • 画面キャプチャ

ログファイル

サーバやクライアント端末、ネットワーク機器等は、
処理や異常発生を後から確認できるよう、
記録を残していることが多いです。
その動作を "logging" 「ログ出力」「ログを吐き出す」などと呼び、
記録されたファイルをログファイルと呼びます。

ログファイルはテキストエディタで人間が容易に読めるテキストであり、
内容としては、イベント発生時刻、影響度、エラーコード、イベント内容等が行ごとに並びます。

ユーザがCLI (Command Line Interface)でログインし、コマンドを実行した場合の、
コマンド入力及びコマンド実行結果をテキストファイルに保存したものも、ログファイルと呼ばれます。
CLIは、CUI (Characteristic User Interface)、プロンプト画面、コンソール画面、Telnet画面とも呼ぶこともあります。

画面キャプチャ

テストを行った際の、テスト用端末の画面を画像として記録します。
エビデンス画像、画面キャプチャ、スクリーンショット、PrintScreenなど、
呼び方は特に決まっていないように思います。
スクリーンショットの記録方法については、別記事で紹介します。