皆さんこんばんは。久しぶりにブログを更新しました。
現在は資格取得のために勉強をしているので、なかなかブログを書く時間が取れません…と言いたいところですが、忘れん坊な自分のためにも週に1〜2回は投稿していきます。(学んでもすぐ忘れる鳥頭)
さて、今回のお話は「システムテスト」について取り上げます。
というのも、ガシガシ動いているシステムに対して単体テストを流した時に過去のエビデンスを見る機会がありまして。。
そこで見たものというのは、試験仕様書に沿わずデータモデルまで全く違うというもの。
皆さんへ声を大にして伝えたい。
テストをもっと大事にしてください!流せば終わりというものではありません!!!
その時は、あまりの酷さに泣き崩れてしまいましたが…。。
「テストをもっと大事にしてほしい」。
そんな想いから、今回は【システムテストの目的と手法について】を描き嬲っていきます。
テストの種類
テストにはたくさんの種類があります。
今回お話するのはあくまでも開発ベースですので、ホワイトボックステストとブラックボックステストについてご紹介いたします。
ホワイトボックステスト
ホワイトボックステストというのは、プログラムが意図した通りに動作しているかを確認するためのテストです。
プログラムの構想や設計者が組んだロジック通りに動いているかを検証するための「作り手側のテスト」のことですね。
ホワイトボックステストは網羅的なテストのため、条件分岐を基準としたテストや例外処理を重視したテストを行うことができます。
しかし、プログラム作成者の意図と照らし合わせるため設計者の組んだロジックが間違っている場合はホワイトボックステストでは確認することができないのがデメリットです。
ホワイトボックステストで使われる方法
制御フローテスト
プログラムが通る処理経路が、網羅的に実行されているかを確認する方法です。
条件の一つでも処理経路の実行が確認されないと、プログラムが正常に動いているか判断できなくなるため、条件に合わせたテストデータを用意する必要があります。
データフローテスト
プログラムのデータや変数が期待通りに動いているか確認する方法です。
データフローテストでは、ある処理について実行された結果、想定している値が返却されればテストパターンとしては合格という流れ。
ブラックボックステスト
ブラックボックステストというのは、プログラムの構造など内部の処理を考慮せずに外部から評価するテストです。
システム仕様の要件自体を満たしているかどうかを確認するためのテストのため「ユーザー側のテスト」と呼ばれています。
前述でも紹介した通り、内部の処理を考慮しないためプログラムがどのように動作しているか分かりません。
そのため、期待通りに動作しているかどうかは情報の処理前と処理後の値の変化や、画面の状態といったインプット・アウトプットの結果のみを確認することで検証を行います。
ブラックボックステストで使われる方法
同値分割法
同値分割法というのは、正常処理とエラー処理が正しく行われるか確認するためのテストです。
例えばですが、20才以上は成人であると範囲判定を行う場合、20才以下であればその数に達さないためエラーとして処理されれば正解。
境界値分析
処理間の境界となる値を確認する方法です。正常・異常のパターン値の上限下限の両境界についてテストします。
ブラックボックステストについては、同値分割法と境界値分析を単独で行うことはほぼありません。
同値分割法で処理が正しく行われたか確認後、その数値の境界が正常かを判断します。
まとめ
いかがでしたでしょうか。
今回は「システムテスト」について簡単にまとめてみました。
システムテストが【どのような目的】で行われているのか、しっかりと理解しておくとテスト実行時にエラーが発生しても切り分けが迅速に進むはず…です!
次回は、groovyについてご紹介したいと思います!
それでは(*・ω・*)