システム開発において、開発したら完了ではなく、システムが正常に動作するかをテストし、問題がなければシステムリリースとなります。作成後のテストをせずにリリースしてしまうと、システム不具合があった場合、相手方に不利益が生じ、会社への信頼性も失墜してしまう恐れがあります。
今回は、システム開発のテスト方式であるブラックボックステストとホワイトボックステストについて、ご紹介していきます。
【ホワイトボックステスト】
作成したプログラムが正常に動作しているか確認するテストです。開発者視点のテストであり、構成したプログラムのロジックやワークフローが意図したとおりに処理しているかを検証します。
ホワイトボックステストには、結合テストと呼ばれるものの論理構造に従って処理されているか検証する「制御フローテスト」と変数などのデータが定義から消滅まで順に動作しているか検証する「データフローテスト」が当てはまります。
処理フローのテストや例外処理のテストなど、あらゆる事態に対して動作確認を行うことができ、プログラム上のバグや不具合を発見することができます。
検証するテスト項目は、プログラム内部の情報について詳細に記載されている詳細設計書を基に作成するため、詳細設計書にミスがあった場合は、ホワイトボックステストで発見することは困難です。
【ブラックボックステスト】
作成したシステムが仕様要件を満たしているかどうかを確認する機能テストです。ユーザー視点ののテストであり、画面表示などユーザーインタフェースの不具合やレイアウト崩れなど、正しい出力ができているかを確認、検証します。
ブラックボックステストには、結合したプログラム1つの機能を検証する「機能テスト」と結合したプログラム全体が仕様書通りに動作するかを検証する「システムテスト」が当てはまります。
これらは、内部構造や情報の処理方法などを意識しないテストなので、プログラム処理の前後の出力の変化などのインプット・アウトプットの結果のみを確認することで検証を行います。
ブラックボックステストで行うのは、性能の確認だけではなく、ユーザーが実際に使用して操作の不便さやわかりやすいデザインかどうかなど、インターフェイス上でのテストを行うことからユーザーの満足度の確認も包括しています。
主に2種類のシステム開発のテスト方式をご紹介してきましたが、これ以外にも様々なテストがあります。
システム開発をしていく上では、これらの方法の組み合わせ、テストににかかる工数をなども勘案し、効果的、効率的なテストを行うことが重要になってきます。
以上、システム開発のテスト方式についてでした。
ご参考にしていただけると幸いです。
■参考資料
https://hnavi.co.jp/knowledge/blog/white-box-test/