実装・構築|システムアーキテクト試験
この分野には 31問あります。くり返し出ているものから並べています。
この分野でくり返し出ている用語はテスト(15問)・テストケース(15問)・ホワイトボックステスト(5問)・工程(3問)・スケジュール(2問)です。問題が多い回は平成25年度 秋期(4問)・平成22年度 秋期(4問)・令和7年度 春期(3問)です。
何を根拠にテストを作り、何で終わりを判断するか
プログラムを作って確かめる段階では、テストを何から作るか、どれだけで足りるか、いつ終えてよいかが中心になります。実行するかどうか、仕様と内部構造のどちらに基づくか、という二つの軸で手法を分けると整理できます。
実行せずに調べるのが静的テストで、人が読むコード検査や、ツールで規約違反や疑わしい書き方を探す静的解析があります。実行して調べるのが動的テストで、どの命令や分岐を通ったかを測るカバレージモニタはこちらの道具です。成り立つべき条件を論理式として埋め込み、実行中に確かめるのがアサーションチェックです。
仕様から作るのがブラックボックステストで、同値分割は入力を同じ扱いのまとまりに分けて代表値を選びます。有効な組を一つ、無効な組は条件を一つずつ外して用意すると、どの条件が働いたかが分かります。限界値分析は境目とそのすぐ外側の値を選びます。内部構造から作るのがホワイトボックステストで、判定条件網羅では各判定の真と偽を少なくとも一度ずつ通します。
件数を抑える工夫が実験計画法の直交表です。どの二項目をとっても状態の組合せが同じ回数ずつ現れるように選ぶので、二状態の項目が七つなら全組合せの 128 件に対し 8 件で済みます。単体テストでは、呼ぶ側の代わりをドライバ、呼ばれる側の代わりをスタブが務めます。
数で見積もる手法もあります。エラー埋込み法は、埋め込んだエラーと元からのエラーが同じ割合で見つかるとみて総数を割り戻し、発見済みの分を引いて残りを推定します。わざと小さな変更を入れた版をどれだけ見抜けるかでテストの力を測るのがミューテーションテスト、構造の複雑さを測るのがサイクロマティック複雑度で、エッジ数-ノード数+2 で求めます。
終わりの判断はバグ管理図の曲線の形で行います。目標の件数に届いても累積バグ件数が伸び続けていれば、まだ多くのバグが残っていると考えます。消化件数も累積件数も未解決件数も止まったら、収束ではなく作業の停滞を疑います。組込み開発では、実行する機器とは別の機器で開発するクロス開発や、C 言語のコーディング規則 MISRA-C も押さえておきます。
この分野で出た問題
- 令和元年度 秋期 問7データが昇順に並ぶようにリストへデータを挿入するサブルーチンを作成した。このサブルーチンのテストに用いるデータの組合せのうち,網羅性の観点から適切なものはどれか。ここで,データは左側から順にサブルーチンへ入力する。
- 平成28年度 秋期 問10ブラックボックステストのテストデータの作成方法のうち,最も適切なものはどれか。
- 令和6年度 春期 問6プログラムに,実行中の特定の時点で成立すべき変数間の関係や条件を記述した論理式を埋め込んで,そのプログラムの正当性を検証する手法はどれか。
- 平成27年度 秋期 問10学生レコードを処理するプログラムをテストするために,実験計画法を用いてテストケースを決定する。学生レコード中のデータ項目( 学生番号,科目コード,得点 )は二つの状態をとる。テスト対象のデータ項目から任意に二つのデータ項目を選び,二つのデータ項目がとる状態の全ての組合せが必ず同一回数ずつ存在するように基準を設けた場合に,次の 8 件のテストケースの候補から,最少で幾つを採択すればよいか。
- 令和3年度 春期 問7あるプログラムについて,流れ図で示される部分に関するテストケースを,判定条件網羅(分岐網羅)によって設定する。この場合のテストケースの組合せとして,適切なものはどれか。ここで,( )で囲んだ部分は,一組みのテストケースを表すものとする。
- 平成28年度 秋期 問11エラー埋込み法では,検出したエラー数を測定することによって,その時点での埋込みエラー数を除いた潜在エラー数 T を推定することができる。
- 令和4年度 春期 問9ソフトウェアのテスト工程において,バグ管理図を用いて,テストの進捗状況とソフトウェアの品質を判断したい。このときの考え方のうち,最も適切なものはどれか。
- 令和元年度 秋期 問11ソフトウェアのテスト工程において,バグ管理図を用いて,テストの進捗状況とソフトウェアの品質を判断したい。このときの考え方のうち,最も適切なものはどれか。
- 平成29年度 秋期 問9ソフトウェアの潜在エラー数を推定する方法の一つにエラー埋込み法がある。100個のエラーを意図的に埋め込んだプログラムを,そのエラーの存在を知らない検査グループがテストして30個のエラーを発見した。そのうち20個は意図的に埋め込んでおいたものであった。この時点で,このプログラムの埋込みエラーを除く残存エラー数は幾つと推定できるか。
- 平成30年度 秋期 問9ブラックボックステストにおけるテストケースの設計に関する記述として,適切なものはどれか。
- 平成27年度 秋期 問8ブラックボックステストにおけるテストケースの設計に関する記述として,適切なものはどれか。
- 平成25年度 秋期 問8ブラックボックステストにおけるテストケースの設計に関する記述として,適切なものはどれか。
- 令和7年度 春期 問7プログラム P をテストケースの集合であるテストセット T でテストし,テスト結果が全て想定結果と一致することを確認した。そのテストセット T に不具合を検出できる十分な能力があるかどうかを評価するために,次の手順でテストを行った。このテストを何と呼ぶか。
- 令和3年度 春期 問3プログラムのウォークスルーに関する記述として,適切なものはどれか。
- 平成24年度 秋期 問9プログラムのテストに関する記述のうち,適切なものはどれか。
- 平成22年度 秋期 問7プログラムのテストに関する記述のうち,適切なものはどれか。
- 平成22年度 秋期 問10プログラムの動的テストに用いられるテスト支援ツールはどれか。
- 令和7年度 春期 問8プログラムの構造的な複雑度を測る尺度として McCabe が提唱したサイクロマティック複雑度がある。制御の流れが次のグラフで表されるプログラムのサイクロマティック複雑度は幾らか。ここで,エッジの個数を e,ノードの個数を n とし,サイクロマティック複雑度は e-n+2 で求めるものとする。
- 平成26年度 秋期 問9プログラムテストに使用する入力データを,実験計画法に基づいて作成する。入力データには七つの項目があり,それぞれの項目は直交表の0又は1に対応する二者択一の値で構成する。入力データの全パターンをテストするときのテスト回数と,直交表を用いてテストケースを作成するときのテスト回数の組合せはどれか。ここで,直交表は,全ての2列間で0又は1が公平に出現するように作られている。
- 令和7年度 春期 問6プログラム中にエラーが存在するかどうかなどを,ソースプログラムを分析することによって調べるテストツールはどれか。
- 平成22年度 秋期 問8三つの整数型の入力データA,B,Cが,A≧15かつB≧10かつC≧5のときだけ入力データを処理する仕様のプログラムを,同値分割法によってテストする。このときの最少のデータの組合せとして適切なものはどれか。ここで,(x,y,z)は,入力データAの値がx,Bの値がy,Cの値がzであることを表すものとする。
- 平成23年度 秋期 問8出力帳票の 1 ページごとにヘッダと 30 件分のレコードを出力するプログラムをテストしたい。このプログラムを限界値分析によってテストするための最少のテストデータを用意するとき,レコード件数の組合せとして,適切なものはどれか。
- 平成22年度 秋期 問9受注処理の入力データをチェックするプログラムを,実験計画法に基づいてテストする。直交表を用いてテストケースを作成する場合,テストケースのa~cの組合せとして,適切なものはどれか。
- 平成25年度 秋期 問11図は,テスト項目消化件数Xにおいて,目標のバグ累積件数に到達したことを示す。この図の状況の説明として,適切なものはどれか。
- 平成24年度 秋期 問10学生レコードのデータが正しいかどうかを検証したい。学生レコードを構成するデータ項目には,学籍番号,出身高校コード,学年が含まれ,それぞれを入力とする原因-結果グラフは図のとおりである。テストケースを設計するために,このグラフから作成した決定表として正しいものはどれか。ここで,原因-結果グラフの要素間の関係には,次の表記を用いる。
- 平成25年度 秋期 問7組込みシステムの“クロス開発”の説明として,適切なものはどれか。
- 平成28年度 秋期 問9組込みシステムの開発におけるソースコードの品質向上のために,C 言語のコーディング規則をまとめたものはどれか。
正解と解説は、答え合わせのあとに出ます。
年度から解く
この分野の問題は 15年度ぶんの試験から出ています。いちばん新しいのは令和7年度 春期です。年度別に解くと、回ごとにまとめて解けます。