// google adsence用 電験2種過去問【2017年機械 問8】 | 電気主任技術者のいろは

電験2種過去問【2017年機械 問8】

2022年8月23日

【情報処理】プログラムテスト法《空所問題》

 次の文章は、ソフトウェア開発におけるプログラムテスト方法に関する記述である。文中の\(\fbox{空所欄}\)に当てはまる最も適切なものを解答群の中から選べ。
 ソフトウェア開発には、いくつかのプロセスモデルがある。要求定義、設計、実装(プログラミング)、テストなどの工程を上流工程から下流工程へ\(\fbox{(1)}\)に遂行していくウォータフォールモデルにおいて、開発者のプログラムテストは、システムの最も小さな構成単位であるモジュールの単体テストから開始し、\(\fbox{(2)}\)テスト、システムテストへとボトムアップ的に行う。しかしこの進め方においては、最上流の要求定義に起因する欠陥が、最後のシステムテストの段階にならないという構造的問題がある。この開発リスクを回避するために、現在では比較的短時間で分析や設計、評価を繰り返し行う反復的なプロセスモデルも用いられている。
 テスト工程では、静的解析ツールを用いたプログラム構造解析も行われるが、実行による正しさを確認するためには、実際にソフトウェアを実行環境で動作させる必要がある。単体テストの場面では、プログラムの一部モジュールだけを実行可能なようにテスト環境を整えなければならないため、本来のプログラムに代わって、被テストモジュールを模擬的に呼び出す\(\fbox{(3)}\)や被テストモジュールから呼び出され模擬的な応答をするスタブを準備することが行われる。
 テストを網羅的に行うためには、初めの段階ではプログラムの内部構造に基づいてテスト項目を選ぶ方法で行われる。その後、\(\fbox{(2)}\)テスト、システムテストと進み、対象のプログラム量が\(\fbox{(4)}\)に従って、内部構造には関知せずに、インターフェースの仕様からテスト項目を選ぶ
\(\fbox{(5)}\)テストの比重が大きくなる。

[問8の解答群]

\(\small{\begin{array}{ccc}
(イ)&試行錯誤的&(ロ)&ホワイトボックス&(ハ)&カバレッジ\\
(ニ)&ドライバ&(ホ)&変化しなくなる&(ヘ)&ブラックボックス\\
(ト)&スーパバイザ&(チ)&イニシャル&(リ)&逐次的\\
(ヌ)&受入れ&(ル)&同時並行的&(ヲ)&大きくなる\\
(ワ)&小さくなる&(カ)&ブートローダ&(ヨ)&結合\\
\end{array}}\)

解答と解説はこちら

解答

\(\small{\begin{array}{cc}
\hline(1)&(リ)&逐次的\\
\hline(2)&(ヨ)&結合\\
\hline(3)&(ニ)&ドライバ\\
\hline(4)&(ヲ)&大きくなる\\
\hline(5)&(ヘ)&ブラックボックス\\
\hline\end{array}}\)

解説

 ソフトウェア開発には、いくつかのプロセスモデルがある。要求定義、設計、実装(プログラミング)、テストなどの工程を上流工程から下流工程へ\(\fbox{(リ)逐次的}\)に遂行していくウォータフォールモデルにおいて、開発者のプログラムテストは、システムの最も小さな構成単位であるモジュールの単体テストから開始し、\(\fbox{(ヨ)結合}\)テスト、システムテストへとボトムアップ的に行う。しかしこの進め方においては、最上流の要求定義に起因する欠陥が、最後のシステムテストの段階にならないという構造的問題がある。この開発リスクを回避するために、現在では比較的短時間で分析や設計、評価を繰り返し行う反復的なプロセスモデルも用いられている。
 テスト工程では、静的解析ツールを用いたプログラム構造解析も行われるが、実行による正しさを確認するためには、実際にソフトウェアを実行環境で動作させる必要がある。単体テストの場面では、プログラムの一部モジュールだけを実行可能なようにテスト環境を整えなければならないため、本来のプログラムに代わって、被テストモジュールを模擬的に呼び出す\(\fbox{(ニ)ドライバ}\)や被テストモジュールから呼び出され模擬的な応答をするスタブを準備することが行われる。
 テストを網羅的に行うためには、初めの段階ではプログラムの内部構造に基づいてテスト項目を選ぶ方法で行われる。その後、\(\fbox{(ヨ)結合}\)テスト、システムテストと進み、対象のプログラム量が\(\fbox{(ヲ)大きくなる}\)に従って、内部構造には関知せずに、インターフェースの仕様からテスト項目を選ぶ
\(\fbox{(ヘ)ブラックボックス}\)テストの比重が大きくなる。