
今回はテスト手法についてまとめてみました。
主に単体テストや結合テストについてまとめているので、応用情報技術者試験の勉強をしている方や、単体テストや結合テストにについて知りたい方、エンジニアを目指している方に特におすすめの記事となっています。
前回のシステム監査についてまとめて記事はこちらとなります。

勉強方法としてはこちらの参考書を読んだりググったりして勉強しています。
テスト
テストには単体テスト、結合テスト、システムテストがあり範囲の単体テストという範囲の小さいものからシステムテストという範囲の大きいものへと変わっていきます。
単体テスト
単体テストは各モジュールごとでテストを行い、バグなどがないかを確認して信頼性を高めていきます。
単体テストではホワイトボックステスト、ブラックボックステストという手法でモジュールを検証していきます。
ホワイトボックステスト
ホワイトボックステストはモジュールの内部構造がちゃんと作られているかを検証します。なので内部の処理内容などをしっかり理解しておく必要があります。
またホワイトボックステストではテストのパターンを決め、すべての命令を1回は実行する「命令網羅」や条件が真、偽となる値をそれぞれ一回は満たす「条件網羅」などがあります。
網羅基準 | 説明 |
---|---|
命令網羅 | すべての命令を1回は実行。 |
条件網羅 | 条件が真、偽となる値をそれぞれ一回は満たす。 |
判定条件網羅 | すべての判定を一回は実行。 |
複数条件網羅 | 複数の条件が真、偽となる値をそれぞれ一回は満たす。 |
ブラックボックステスト
ブラックボックステストはホワイトボックステストは違い内部構造というよりは、入出力が正しくなされるかを検証します。
入力するデータはあらかじめ、何の検証のために入力するのか明確にしておく必要があります。
結合テスト
結合テストは単体テストでのモジュールをつなぎあわせてちゃんと機能するかを検証します。
結合テストの種類としては、主に上位のモジュールからテストをしていく「トップダウンテスト」と下位のモジュールからテストをしていくボトムアップテストがあります。
トップダウンテスト
トップダウンテストは上位のモジュールからテストをしていきます。上位モジュールから「スタブ」という仮の下位モジュールをつけて、上位モジュールからちゃんと呼び出すことができるかを検証します。
ボトムアップテスト
ボトムアップテストは下位モジュールからテストをしていきます。ドライバという仮の上位モジュールを使い、下位にジュールがちゃんと呼び出されるかを検証していきます。
ビッグバンテスト
ビッグバンテストはすべてのモジュールを結合させてから行うテストで、トップダウンテストやボトムアップテストと比べて作業は少なくて済みますが、大規模システムだと問題点が見つけにくくなります。
システムテスト
システムテストはシステムを構築した後のするテストで負荷テストや性能テストで高い負荷に耐えられるか、性能に問題はないかなどの検証をします。
プログラムの修正をしたときは?
プログラムの修正をしたときはリグレッションテストという修正したことで他の正常に動いていた範囲に悪影響を与えていないかをテストします。
例えば、正常に呼び出されないモジュールAと正常に呼び出されるモジュールBがあったとして、モジュールAが修正され正常に呼び出されるようになったが、次はモジュールBが呼び出されなくなってしまいました。
こんな感じの事が起きていないかを確認するためのテストがリグレッションテストとなります。