Views: 127
単体テストの目的はプログラムが正しく動作することを確認することです。
単体テストは必ず実施すべきで、このテストをどれだけきっちりやり切るか
が品質に直結します。
単体テストはホワイトボックステストで行うことが必須です。
プログラムに記載されている分岐、ループ、処理を全て
テストしつくすのが理想です。
単体テストを行うにあたり、テスト仕様書
(テストケース表とかチェックリストとか
呼び方はいろいろあります)
の作成も必須と考えています。
なぜならテスト仕様書にテストすることを書かないと、
どこまでテストできたのかがわからなくなります。
分岐やループが複雑に入り組んだテストでは
テスト仕様書を書くのが困難な場合もあります。
そんな時はテストをマトリックスを使って整理するのが
おすすめです。
マトリックスといえば、キアヌリーブスを思い出すものですが
ITの世界ではキアヌは関係ありません。
マトリックスは二次元の表を使って、
複数の条件の組み合わせてみた場合、
どのような結果になるかをまとめた表です。
マトリックスはエクセルを使って書いていきます。
テストケースの条件をどんどんくっつけていけるので
早く書けます。
条件が組み合わさった場合の動作も書き込んでいけるので
テストケースの網羅性も上がります。
早くて高品質なテストを行うにあたり、とても役立つ
ツールと言えます。
単体テストでは
どういう条件の時に、どのようなアウトプットを返すのか
ということをテストします。
テストの対象はソースです。
イメージとしてはソースにおける処理(分岐とか演算処理とかループとか)、
一つ一つに対して想定通りの動作をしていくかを確認します。
ソースをベースとしてソースの処理に対してテストを書いていく、
そのようにしてテスト仕様書を作ります。
単体テストの実施方法
単体テストを実施するに当たっては、以下の準備が必要です。
・コンパイルが通ったプログラム
・単体テスト仕様書
・テストデータ
単体テストを実施するタイミングは、プログラムの製造の後です。
プログラムの製造ではプログラムのコードを書くコーディングと
コーディング後のコンパイル(ビルド)までを行います。
コーディングが終わって、コンパイルして、ざっくり動作を確認するぐらいが
製造のゴールだと考えています。
単体テストではまずは単体テスト仕様書とテストデータを作ります。
これらの準備は地味に大切です。
単体テスト仕様書がないと、テストの網羅性や、どこまでやったかを正確に
把握することができません。
テストデータは単体テスト仕様書のテスト項目をテストできるようなデータを
テスト担当者が考えて、手作りで作成するのが一般的です。
全てのテストを網羅的に確認できるようなテストデータを作成し、
極力少ないプログラム実行回数で完了できるように準備をするのが鉄則です。
いろいろなテストのパターンを網羅できるようなテストデータを作るのは
大変なのですが、ここは頭を使って効率的、かつ理解しやすい
テストデータを作るのが望ましいです。
このテストデータをうまいこと作るところはパズル的で私は好きです。