【初級エンジニア向け】テスト仕様書のを書く際のちょっとしたコツ

  • このエントリーをはてなブックマークに追加

テストはシステムの安全を保証するための重要な工程です。

その重要なテストを、いかに抜け漏れ無く行えるかは、

テスト仕様書の内容にかかっています。

テスト仕様書の書き方は、システムの内容や、仕様書のフォーマットによって様々ですが、

どんなテストをする時にも使える、ちょっとしたコツをまとめてみました。

よかったら参考にしてみてください。

MAX値とMIN値を意識する

例えば、DBに登録されている金額を表示させる画面があったとして。

その部分が

3桁毎にカンマ区切りで表示、単位は”円”

という仕様になっていたとします。

DBの”1000“という値を”1,000円”と表示させるやつですね。

この機能(仕様)が正しく動いているかテストするために必要なテストデータを考えてみましょう。

まずはDBに’1000’という値を入れたテストデータが必要なのはすぐに分かると思います。

しかしそれだけでは十分と言えず、それ以外のMAX値とMIN値を用意しておく必要があります。

MAX値

MAX値はこの場合DBのカラムのlengthによって変わってきますね。

length8桁だったら”10000000、もしくは”99999999という値を用意して

それぞれ“10,000,000”、”99,999,999”というように表示されることを確認します。

MIN

MIN値もDBの仕様によって変わってきますが、NULLなのか、0なのかが考えられます。

NULLが入るケースがある場合、この時の画面表示はブランクなのか、

それとも「円」だけ表示されているのか、もしくは円」というように

別の表示形式になるのか、などを確認しなければいけません。

もし「DB0だった時の仕様を考えていなかった!」といったことがあれば、

この段階で気づくことが出来て修正することが出来ます。

色々な所でMAX値とMIN値は意識するようにしましょう。

 

ビフォーアフターを用意する

例えば、仕様書の確認項目として

hogeテーブルのfugaの値が1になっていることを確認する」

という項目があったとします。

しかしこれだけでは確認項目として十分ではありません。

これは「アフター」だけ書かれていて、「ビフォー」が書かれていないからです。

この場合、第三者から見たら、「値が1にさえなっていればいいの?この前はどういう状態だったの?

という疑問が湧いてしまいます。

自分にとっては「今更確認する必要もない」と思うようなことでも、

第三者から見たら疑問に思うこともあります。

それを防ぐために、このような「状態が変わる」ことを確認するテスト項目では

ビフォーとアフターを明確にしましょう。

今回の例の場合は以下のように記述すると良いです。

前提条件:hogeテーブルが「実行前」の状態になっていること

確認項目:処理を行った後にhogeテーブルが「実行後」の状態になっていることを確認する

実行前 実行後
fuga fuga
0 1

具体的な値を用意する

「入力された値が消費税込みの価格で表示されること」

はい、これもNGですね。

この確認項目だけでは、テストをする際にいちいち計算をしなければいけないし、

端数が切り捨てなのか、四捨五入なのかも分かりません。

「消費税込みの価格」という曖昧な表現ではなく、具体的な値を用意しましょう。

このような場合は以下のようにしましょう。

 

入力された値が消費税込みの価格で表示されることを確認する

消費税は8%、端数は四捨五入して計算すること

「テストデータ1」を使用し、「想定結果」の状態になっていることを確認する

テストデータ1

¥100

¥101

¥120

想定結果

¥108

1.08倍されていることを確認

¥109

小数点第一位が切捨てされていることを確認

¥130

小数点第一位が繰上げされていることを確認

無闇に番号をふらない

最後はちょっとした小技です。

以下のようにテスト仕様書を書いていたとします。

1 .   hoge処理の実行

 1-1. ・・・・・・

 1-2. ・・・・・・

 1-3. 2 . fuga処理の実行」が行われること。

2 . fuga処理の実行

 2-1.  ・・・・・・

 2-2. ・・・・・・

 2-3. ・・・・・・

このテスト仕様書を書いている途中に、システムの仕様が変わり、

hoge処理の前にpiyo処理がが入ることになりました。

さあ、テスト仕様書も直さねば!

1 . piyo処理の実行

 1-1. ・・・・・・

 1-2. ・・・・・・

 1-3. 2 . hoge処理の実行」が行われること。

2 . hoge処理の実行

 2-1.・・・・・・

 2-2. ・・・・・・

 2-3. 2 . fuge処理の実行」が行われること。

3. fuge処理の実行

 3-1.・・・・・・

 3-2. ・・・・・・

 3-3. ・・・・・・

piyo処理の実行」が1番目に来てしまったせいで、

全ての番号を振り直さなければいけなくなりました。

よくあることですね。

番号を一つ一つ振り直したかと思いきや、1箇所だけ直っていませんね。

 2-3. 2 . fuge処理の実行」が行われること。

3. fuge処理の実行

はい、この2 . fuge処理の実行」3 . fuge処理の実行」に直さなければいけませんね。

「直せばいいじゃん」って思われるかもしれませんが、まぁ~これがめんどくさい。

1箇所だけならともかく、このような記述が何箇所もあったら結構な時間がかかります。

何より見落としてしまう可能性もあります。

これを防ぐためには簡単です。

最初から

2 .」は書かずに

fuge処理の実行」が行われること。

とだけ書いておけばいいのです。

番号が振っていなくても、大して見辛くなることはないし、

これによって修正の手間ミスをする可能性が大幅に減ります。

もし番号を振ることがルールになっているのだとしたら、

「手間とミスを無くすために番号を無闇に振るのはやめませんか」と進言してみましょう!

 

まとめ

いかがだったでしょうか。

テストでは、とにかく抜け漏れなく行うことが求められますが、

今回紹介したような「ちょっとしたコツ」が分かっていると、どんな時にも役に立ちます。

このような「ちょっとしたコツ」の積み重ねが

自身のエンジニアとしてのスキル・経験値となっていきます。

ぜひ参考にしてみてください。