2021.03.23  2021.04.09

パソコン初心者の知識:システム開発プロセスにおける各種テストについて

皆さんこんにちは!マコブログです!
今回は、パソコン初心者の知識として、システム開発プロセスにおける各種テストについて説明していきたいと思います。


テスト


プログラムは人の手によって書かれるため、どうしても間違いが発生してしまいます。プログラムの間違いのことをバグといいます。バグがそのまま残らないよう、プログラミングを行ったらその都度綿密なテストを行い、バグを修正します。これをデバックといいます。
また、システム開発プロセスにおけるテストでは、単にプログラミングがきちんと動作するかどうかだけでなく、「10秒以内に結果を出力する」といったシステムの性能についてもテストする必要があります。

単体テスト

プログラムを個々の機能単位に分割した物を、モジュールといいます。まずはモジュールごとに、正しく動作するかどうかをテストします。これを単体テストといいます。単体テストには、ホワイトボックステストブラックボックステストがあります。
ホワイトボックステスト(内部重視)は、モジュールの内部構造に着目して、ひとつひとつが正しく動作するかどうかをテストします。
一方、ブラックボックステスト(結果重視)は、モジュールの内部構造は考慮せず、入力したデータに対して、仕様書通りの出力が得られるかどうかをテストします。


結合テスト

単体テストが完了した複数のモジュールを結合し、正しく動作するかどうかをテストします。これを結合テストといい、モジュール間のデータのやり取りや、他のモジュールの呼び出しが正しく行われるかを確認します。
結合テストには、以下の二つの方法があります。

ボトムアップテスト
下位のモジュールから上位のモジュールへ順にテストする方法をボトムアップテストといいます。上位には、ドライバと呼ばれるダミーモジュールを用意して行います。ダミーモジュールとは、中身がないモジュールで処理を行わないため、他への影響がありません。

トップダウンテスト
上位のモジュールから下位のモジュールへ順にテストする方法をトップダウンテストといいます。下位には、スタブと呼ばれるダミーモジュールを用意して行います。

システムテスト

結合テストが完了したら、プログラムだけでなくハードウェアなどと組み合わせてシステム全体をテストするシステムテストを行います。システムがきちんと動作するかどうかをテストする他、大量のデータを処理させてレスポンスタイムを計るなど、システムの持つ性能もテストします。


運用テスト

最後に、実際にシステムを運用する本番環境できちんと動作するかどうかをテストする運用テストを行います。利用者が中心となって行い、業務手順通りに操作して問題なく動作するかどうかを確認します。
これまで紹介した「単体テスト」→「結合テスト」→「システムテスト」→「運用テスト」の各テストでは、それぞれシステム設計の以下のプロセスで設計された内容について、正しく動作するかどうかを確認しています。

退行テスト(レグレッションテスト)

プログラムにバグが見つかり修正を行った場合は、その修正によってほかの部分に影響を及ぼしていないかどうかもテストする必要があります。それを退行テストといいます。

信頼度成長曲線

テストを開始した直後は多くのバグが発見されますが、テストを続けるにつれて次第にその数は減っていきます。
テスト項目の消化件数とバグの発見件数をグラフに表したものを信頼度成長曲線(ゴンぺルツ曲線)といいます。十分なテストを行いバグが減ってきたら、テスト終了の合図です。

まとめ

いかがでしたか?
今回は、システム開発プロセスにおける各種テストについて説明しました。
是非こちらの記事も是非チェックしてみてください↓
情報セキュリティマネジメントとは。情報セキュリティについて詳しく説明。

あなたにオススメの記事
マコブログ
Makoto
高校卒業と同時にプログラミングを学習しはじめ、今年で4年目になります。
普段はフロント周りで作業をしていて、WordPressの開発とSEO対策には自信があります。
マコブログでは、プログラミングやSEO対策についての情報を発信しています。

よく読まれる記事

S&P500研究所

【マコブログ 2nd】S&P500研究所がOPENしました!!

Read More →