システム開発工程において単体テストとはどのような役割を持ち、どのような利点があるのでしょうか?テスト工程においてはじめに実施する単体テストの重要な取り組みについて見ていきましょう。この記事では単体テストを理解するために一般的な取り組みに必要な要素を簡単に解説していきます。
単体テストでは作成したモジュール単位で設計書にて要求された要件、機能を満たしているかどうかを確認、検証します。不具合が見つかった場合には製造工程(プログラム)へと戻り、修正対応を実行しし、テスト結果のフィードバックを実施します。
英語表記は“Unit Test”
略式は”UT”
となっております。
※英語で表現される機会もあるため参考までに
システム開発の基本工程について解説された記事はこちら>>
テスト工程全体について解説された記事はこちら>>
単体テストの実施目的について見ていきましょう。
単体テストを実施することによってモジュール単位での欠陥を防ぐことが出来ます。この段階で欠陥が見つかった場合には、製造工程へと戻り修正を実行します。モジュールの繋ぎこみを行う前に見つけられるという早期解決に繋がるのが利点です。単体テストの工程が完了させることで、後工程を安心して効率的に進められます。
単体テストを実施することによって詳細設計工程で作成された仕様書通りにシステム開発が進んでいない場合、欠陥を検出することが出来ます。
参考:日本システム開発株式会社
単体テストではテスト項目を設定する上でとはどのような技法を持ち、どのような観点を持つのか見ていきましょう。
『内部構造の適正判断を行います』
ホワイトボックステストではシステムの内部構造をしっかりと把握し理解した開発者が対象のシステムの論理構造が正しいかどうか解析するテスト手法です。
参考:e-words
『データ出力のパターンの確認を行います』
ブラックボックステストではシステムの内部構造を把握しない第三者が対象となるシステムの操作性や性能を正しいかどうか解析するテスト手法です。
参考:e-words
単体テストでは状況に応じてプログラムの使用がまだ難しい場合などに”ドライバ”や”スタブ”といった代替をするプログラムを用いてテストを行います。
単体テストの自動化の際に用いられるテストコードフレームワークは基本的に”x”Unit系が使用されることが一般的です。簡単にツールについて見ていきましょう。
言語 | テストコードフレームワーク |
Java | JUnit |
PHP | PHPUnit |
C言語 | CUnit |
.net | NUnit |
Ruby | RSpec |
単体テストを理解するために一般的な取り組みに必要な要素を紹介させて頂きました。
テスト工程における入り口である単体テストを抜け目なく実行することでお客様へ品質の高いシステムを納品ための確認作業の第一歩がクリアとなります。後工程を円滑に進めていくためにも単体テストにて完璧なモジュールと胸を晴れる状態にしましょう。