見出し画像

単体テストについて

以前の記事で試験について書きました。
※開発テストの種類について

今回はその中の単体テストについてもう少し深掘りしていこうかと思います。


単体テストとは

プログラムで組み込んだモジュールやコンポーネントといった機能単体の動作などを単体で確認するテストです。(ユニットテストと呼ばれます)
以前の記事に挙げたテストの中で最初に実施するテストになります。
単体テストで細かくケースを作成し、確認することで不具合を早期に知ることができるため、修正がしやすくなります。

単体テストの種類

単体試験にはまず「ホワイトボックステスト」と「ブラックボックステスト」があります。

ホワイトボックステスト

ホワイトボックステストは、内部構造に着目したテストになります。分岐条件や例外処理などプログラム上の単純なミスがないのか確認します。
「制御フローテスト(ロジック通りに動いているのか)」や「データフローテスト(処理の中でデータが正常に動いているのか)」を確認します。

ブラックボックステスト

ブラックボックステストは、ホワイトボックステストとは逆で外部構造に着目したテストになります。プログラムの視点を確認することではなく、利用するユーザー視点(「入力」と「出力」)で確認します。
そして、「同時分割(データがグループごとになっているか)」、「境界値分析(境界となる値の前後)」、「デンジョンテーブルテスト(条件によって、どのような動作をするか)」、「状態遷移テスト(プログラムの動作によって状態が変わること)」といった箇所を確認します。

単体テストで意識すること

このように単体テストの中でも種類がたくさんありますがプログラムの機能を徹底的に洗い出して、バグや不具合を発見できる確率を高めることが大切です。ただ、難しいところではありますが、テストをするケースが多すぎると時間と手間がかかりすぎることもあるため、時間とテストの質のバランスを考えることも重要になります。

今回は以上となります。ここまで閲覧いただきありがとうございます。

この記事が気に入ったらサポートをしてみませんか?