IPA テスト・レビュー — 頻出論点と過去問
頻出論点
1. この分野は何か
誤りは、プログラムを動かす前に設計書やコードを読んで見つける方法と、実際に動かして不具合を検出しテストの進み具合や残存エラー数を評価する方法の両方で探します。プログラムの内部構造に着目するか入出力の仕様に着目するかという観点の違い、誰が主導して成果物を確認するかという役割の違い、そしてどの開発工程の要求や設計に対して適合を確かめるテストかという対応関係が判断の軸になります。
2. 実際の出題のされ方
どの工程で何を確かめるかという基本の区別では、ブラックボックステストの説明を選ぶ問題と、単体・結合・システムの各テストで確かめる内容を組み合わせる問題が出ています。これらはITパスポートから問われる論点です。
流れ図をたどって網羅率や最少のテストケース数を求める問題は、応用情報技術者の午前と高度試験の午前Iの両方で繰り返し出題されています。このほか、エラー埋込み法で残存エラー数を推定する計算、累積誤り検出数のグラフからバグの収束を判定する曲線の選択、デザインレビューの目的、作成者を含む複数人で振る舞いを机上でたどる手法の名前、異常を起こしそうなデータを入力して脆弱性を探すテスト手法の名前を問う問題もあります。
システムアーキテクトと情報処理安全確保支援士の午前IIでは、検証技法の中身まで踏み込んだ問題に進みます。制御フローグラフから構造の複雑さを数える計算、少しずつ変えたプログラムでテストセットの検出力を測る手順、実行中に成り立つべき条件をプログラムに埋め込む手法が出ています。動かしながら次のテストを決めていく手法、形式手法を使う検証のやり方、ソースプログラムを実行せずに調べるツールも問われています。
下の層が未完成の段階で行える結合テストの方式や、JIS X 0160・共通フレームが定める検証・妥当性確認・受入れテストなどの目的を選ぶ問題も、高度試験の午前IIのいくつかの区分で出題されています。
3. 学習のポイント
テストケースの設計と網羅基準では、ホワイトボックステストとブラックボックステストの区分を明確にします。内部の論理構造に着目するホワイトボックステストの網羅基準には、すべての命令を少なくとも1回実行する命令網羅()と、すべての条件判定で真(Yes)と偽(No)の両方の分岐を少なくとも1回通る判定条件網羅(分岐網羅、)があります。流れ図の途中で変数の値が書き換わる場合は、前の処理の代入結果を反映して次の条件判定をトレースする必要があります。また、制御フローグラフから独立した経路の数を示すサイクロマティック複雑度は、グラフの辺の数から節点の数を引き、2を足した値です。一方、外部仕様の入出力に着目するブラックボックステストには、入力領域を有効・無効なクラスに分けて代表値を選ぶ同値分割や、範囲の境界およびその直前・直後の値を検査する限界値分析(境界値分析)があります。
動的・静的な各種の検証技法は、何をどう確かめるかで整理します。
- 探索的テスト: テストケースを前もって全部は作らず、動かして分かったことを手がかりに、その場で次のテストを考えて進める方法です。
- ミューテーションテスト: 元のプログラムに1か所ずつ軽微な変更(誤り)を加えたプログラム群(ミュータント)を作り、既存のテストセットを実行して元のプログラムと異なる結果が出た割合から、テストセット自体の不具合検出能力を評価します。
- アサーションチェック: プログラムの途中に、その時点で成り立つはずの条件を論理式で書き込んでおき、実行時に破れていないかを確かめる方法です。
- 形式手法: 仕様を数学的に意味の定まった言葉で書き、満たすべき性質が仕様から導けるかを、証明や網羅的な検査で確かめる方法です。プログラムを実行せずにソースコードを分析してエラーの有無などを調べる静的解析ツールとあわせて押さえます。
テスト工程の統合方式とライフサイクル規格の用語は、対象範囲と目的で対比させます。モジュールの結合では、完成した上位モジュールから未完成の下位モジュールに代わるダミーであるスタブを使って進めるトップダウンテストと、下位モジュールから上位の代わりとなるドライバを使って進めるボトムアップテストを区別します。また、ライフサイクル規格の検証(Verification)と妥当性確認(Validation)は、照らし合わせる相手で区別します。検証は決められた要件どおりに作られているかを、妥当性確認は実際に使う場面で利用者の目的に合っているかを確かめます。受入れテストは、発注者が受け入れてよいかを判断するために行うテストです。
レビュー技法とテスト進捗・残存エラーの評価も重要です。レビューは、誰が進めるかで分けます。ウォークスルーは成果物の作成者自身が進め、インスペクションは作成者とは別の進行役(モデレータ)が決まった手順で進めます。テスト終盤の収束判定に使うゴンペルツ曲線は、テストを進めた量と見つかった誤りの累計との関係を表す信頼度成長モデルの一つで、累計が頭打ちに近づいたかどうかで収束を判断します。エラー埋込み法では、当初埋め込んだエラー総数 、発見された埋込みエラー数 、発見された真のエラー数 から、真のエラー総数 を で推定します。
4. 間違えやすいところ
網羅率の問題では、命令網羅と分岐網羅の混同に注意します。条件判定のNo側に命令(処理の箱)がない流れ図では、すべての命令を通過して が100%になっていても、通っていないNoの分岐があれば は100%になりません。
判定条件網羅のテストケースを選ぶ問題では、2つのケースがどちらも同じ側の分岐を通る組合せが誤答肢にありました。これでは、もう一方の分岐が一度も通られずに残ります。
最小テストケース数を求める問題では、1回の実行で直列に並んだ複数の分岐の処理を同時に通過できるにもかかわらず、すべての経路の組合せを掛け合わせた経路網羅の数が誤答肢にありました。
エラー埋込み法では、比例式で求めた真のエラーの総数を、残存エラー数としてそのまま答えた値が誤答肢にありました。残っている数は、総数からテスト中にすでに見つかった真のエラーの数を引いて求めます。
ゴンペルツ曲線を選ぶ問題では、最初から急に増えて次第に緩やかになる上に凸の曲線が誤答肢にありました。テスト初期は環境準備などで検出ペースが遅く立ち上がりが緩やかになるため、最初から急増する形にはなりません。
レビューや検証技法、規格の用語では、よく似た手法や別工程の活動との入れ替えに気をつけます。
- ウォークスルーの説明を選ぶ問題では、モデレータが会議を主催するというインスペクションの説明が誤答肢にありました。
- デザインレビューの目的を選ぶ問題では、品質保証部門が出荷の可否を決めるという判定の役割が誤答肢にありました。
- 探索的テストの例を選ぶ問題では、経験から不備を推測してはいるものの、テストケースを前もって作ってから実行した例が誤答肢にありました。
- アサーションチェックを選ぶ問題では、実行の途中でメモリの内容を書き出すスナップショットダンプが誤答肢にありました。
- JIS X 0160の妥当性確認プロセスの目的を問う問題では、品質のデータを集めて分析し報告するという品質保証プロセスの説明が誤答肢にありました。
- 共通フレームのシステム適格性確認テストの評価対象を問う問題では、システム方式設計が誤答肢にあり、こちらはシステム結合テストで確かめる内容です。
テスト・レビューの理解度チェック
テスト・レビューの過去問一覧
- 2025(R7)秋 応用情報技術者 午前 問48 エラー埋込み法を用いて残存エラー数を推定する。当初の埋込みエラーは48個である。テスト期間中に発見されたエラーの内訳は,…
- 2025(R7)秋 システム監査技術者 午前II 問23 JIS X 0160:2021(ソフトウェアライフサイクルプロセス)によれば,ソフトウェアライフサイクルプロセスにおいて…
- 2025(R7)秋 プロジェクトマネージャ 午前II 問14 JIS X 0160:2021(ソフトウェアライフサイクルプロセス)によれば,テクニカルプロセスの一つである妥当性確認プ…
- 2025(R7)秋 情報処理安全確保支援士 午前II 問22 図のような階層構造で設計された組込みシステムがある。このシステムの開発プロジェクトにおいて,デバイスドライバ層の単体テス…
- 2025(R7)春 応用情報技術者 午前 問45 デザインレビューの目的はどれか。…
- 2025(R7)春 高度試験共通 午前I 問16 デザインレビューの目的はどれか。…
- 2025(R7)春 システムアーキテクト 午前II 問6 プログラム中にエラーが存在するかどうかなどを,ソースプログラムを分析することによって調べるテストツールはどれか。…
- 2025(R7)春 システムアーキテクト 午前II 問7 プログラムPをテストケースの集合であるテストセットTでテストし,テスト結果が全て想定結果と一致することを確認した。そのテ…
- 2025(R7)春 システムアーキテクト 午前II 問8 プログラムの構造的な複雑度を測る尺度として McCabeが提唱したサイクロマティック複雑度がある。制御の流れが次のグラフ…
- 2024(R6)春 応用情報技術者 午前 問47 ソフトウェア信頼度成長モデルの一つであって,テスト工程においてバグが収束したと判定する根拠の一つとして使用するゴンペルツ…
- 2024(R6)春 高度試験共通 午前I 問17 ソフトウェア信頼度成長モデルの一つであって,テスト工程においてバグが収束したと判定する根拠の一つとして使用するゴンペルツ…
- 2024(R6)春 システムアーキテクト 午前II 問6 プログラムに,実行中の特定の時点で成立すべき変数間の関係や条件を記述した論理式を埋め込んで,そのプログラムの正当性を検証…
- 2024(R6)春 情報処理安全確保支援士 午前II 問22 仕様書やソースコードについて,作成者を含めた複数人で,記述されたシステムやソフトウェアの振る舞いを机上でシミュレートして…
- 2024(R6)春 情報処理安全確保支援士 午前II 問23 ソフトウェアの品質を確保するための検証に形式手法を用いる。このとき行う検証方法の説明として,適切なものはどれか。…
- 2023(R5)秋 応用情報技術者 午前 問46 問題を引き起こす可能性があるデータを大量に入力し,そのときの応答や挙動を監視することによって,ソフトウェアの脆弱性を検出…
- 2023(R5)秋 システム監査技術者 午前II 問23 a〜cの説明に対応するレビューの名称として,適切な組合せはどれか。 a 参加者全員が持ち回りでレビュー責任者を務めながら…
- 2023(R5)秋 プロジェクトマネージャ 午前II 問13 a~cの説明に対応するレビューの名称として,適切な組合せはどれか。 a 参加者全員が持ち回りでレビュー責任者を務めながら…
- 2023(R5)春 システムアーキテクト 午前II 問11 JIS X 0160:2021(ソフトウェアライフサイクルプロセス)によれば,ソフトウェアライフサイクルプロセスにおいて…
- 2023年度(R5) ITパスポート 問42 ソフトウェア開発における,テストに関する記述a~cとテスト工程の適切な組合せはどれか。 a 運用予定時間内に処理が終了す…
- 2022(R4)秋 応用情報技術者 午前 問45 ファジングに該当するものはどれか。…
- 2022(R4)秋 応用情報技術者 午前 問46 仕様書やソースコードといった成果物について,作成者を含めた複数人で,記述されたシステムやソフトウェアの振る舞いを机上でシ…
- 2022(R4)秋 応用情報技術者 午前 問48 流れ図で示したモジュールを表の二つのテストケースを用いてテストしたとき,テストカバレージ指標である C_0(命令網羅)と…
- 2022(R4)秋 高度試験共通 午前I 問16 仕様書やソースコードといった成果物について,作成者を含めた複数人で,記述されたシステムやソフトウェアの振る舞いを机上でシ…
- 2022(R4)秋 情報処理安全確保支援士 午前II 問22 あるプログラムについて,流れ図で示される部分に関するテストケースを,判定条件網羅(分岐網羅)によって設定する。この場合の…
- 2022(R4)春 応用情報技術者 午前 問45 ファジングに該当するものはどれか。…
- 2022(R4)春 応用情報技術者 午前 問47 次の流れ図において,判定条件網羅(分岐網羅)を満たす最少のテストケースの組みはどれか。…
- 2022(R4)春 高度試験共通 午前I 問15 ファジングに該当するものはどれか。…
- 2022(R4)春 高度試験共通 午前I 問16 次の流れ図において,判定条件網羅(分岐網羅)を満たす最少のテストケースの組みはどれか。…
- 2022(R4)春 システムアーキテクト 午前II 問8 ある購買システムの開発において,開発者が行った探索的テストの例として,適切なものはどれか。…
- 2022年度(R4) ITパスポート 問45 ブラックボックステストに関する記述として,適切なものはどれか。…
- 2021(R3)秋 エンベデッドシステムスペシャリスト 午前II 問22 プログラム実行中の特定の時点で成立していなければならない変数間の関係や条件を記述した論理式を埋め込んで,その論理式が成立…
- 2021(R3)秋 情報処理安全確保支援士 午前II 問22 テスト担当者が,ソフトウェアを動作させてその動きを学習しながら,自身の経験に基づいて以降のテストを動的に計画して進めるテ…
- 2021(R3)春 応用情報技術者 午前 問48 あるプログラムについて,流れ図で示される部分に関するテストを,命令網羅で実施する場合,最小のテストケース数は幾つか。ここ…
- 2021(R3)春 高度試験共通 午前I 問16 あるプログラムについて,流れ図で示される部分に関するテストを,命令網羅で実施する場合,最小のテストケース数は幾つか。ここ…
- 2021(R3)春 システムアーキテクト 午前II 問3 プログラムのウォークスルーに関する記述として,適切なものはどれか。…
- 2021(R3)春 システムアーキテクト 午前II 問7 あるプログラムについて,流れ図で示される部分に関するテストケースを,判定条件網羅(分岐網羅)によって設定する。この場合の…
- 2021(R3)春 システムアーキテクト 午前II 問9 共通フレーム2013において,システム適格性確認テストで適合を評価する対象となるのは,どのアクティビティで定義又は設計し…
- 2019(R1)秋 システムアーキテクト 午前II 問7 データが昇順に並ぶようにリストへデータを挿入するサブルーチンを作成した。このサブルーチンのテストに用いるデータの組合せの…
- 2019(R1)秋 システムアーキテクト 午前II 問8 プログラム実行中の特定の時点で成立すべき変数間の関係や条件を記述した論理式を埋め込んで,そのプログラムの正当性を検証する…
- 2019(R1)秋 システムアーキテクト 午前II 問9 組込みシステムのソフトウェア開発におけるリグレッションテストの役割として,適切なものはどれか。…
- 2019(R1)秋 システムアーキテクト 午前II 問10 ソフトウェアライフサイクルプロセスに基づいて実施するシステム開発において,次の実施条件に従って行うテストはどれか。 〔実…
- 2018(H30)秋 システムアーキテクト 午前II 問9 ブラックボックステストにおけるテストケースの設計に関する記述として,適切なものはどれか。…
- 2018(H30)秋 システムアーキテクト 午前II 問11 次の流れ図において, ① \to ② \to ③ \to ⑤ \to ② \to ③ \to ④ \to ② \to ⑥…
- 2018(H30)秋 システムアーキテクト 午前II 問12 共通フレーム 2013 において,システム適格性確認テストで適合を評価する対象となるのは,どのアクティビティで定義又は設…
- 2017(H29)秋 システムアーキテクト 午前II 問9 ソフトウェアの潜在エラー数を推定する方法の一つにエラー埋込み法がある。100個のエラーを意図的に埋め込んだプログラムを,…
- 2017(H29)秋 システムアーキテクト 午前II 問11 探索的テスト技法の説明はどれか。…
- 2016(H28)秋 システムアーキテクト 午前II 問10 ブラックボックステストのテストデータの作成方法のうち,最も適切なものはどれか。…
- 2016(H28)秋 システムアーキテクト 午前II 問11 エラー埋込み法では,検出したエラー数を測定することによって,その時点での埋込みエラー数を除いた潜在エラー数 T を推定す…
- 2015(H27)秋 システムアーキテクト 午前II 問8 ブラックボックステストにおけるテストケースの設計に関する記述として,適切なものはどれか。…
- 2015(H27)秋 システムアーキテクト 午前II 問10 学生レコードを処理するプログラムをテストするために,実験計画法を用いてテストケースを決定する。学生レコード中のデータ項目…
- 2015(H27)秋 システムアーキテクト 午前II 問11 共通フレームにおけるシステム開発プロセスのアクティビティであるシステム適格性確認テストの説明として,最も適切なものはどれ…