【システムアーキテクト午前Ⅱ】人工知能に関するテスト手法
ある通信販売事業者は、人工知能技術を利用して人間のように受け答えする、Webのチャットをインタフェースとしたユーザサポートシステムを開発している。テスト工程では、次の方法でテストする手法を採用した。このような、人工知能に関するテスト手法を何というか。
[テストの方法]
・判定者は、このシステムと人間の二者を相手に自然言語によるチャットを行う。このとき、判定者はどちらがこのシステムで、どちらが人間なのかは知らされていない。
・判定者が一連のチャットを行った後に、チャットの相手のどちらがこのシステムで、どちらが人間かを判別できるかどうかを確認する。
ア 実験計画法
イ チューリングテスト
ウ ファジング
エ ロードテスト
答:イ
チューリングテストとは判定者が人間及びシステムを相手にやり取りを行って、システムの方を人間であると判定したら、システムが人間並みの振る舞いができたと判断する。提唱者である英国の数学者アラン・チューリングにちなむ。
【システムアーキテクト午前Ⅱ】探索的テスト技法
探索的テスト技法の説明はどれか。
ア 起こり得る全ての条件と、それに対して実行すべき動作とを組み合わせた表に基づいてテストする技法。
イ 経験に基づいて、起こりがちなエラーを推測してテストケースを決定する技法。
ウ 経験や推測から重要と思われる領域に焦点を当ててテストし、その結果を基にした新たなテストケースを作成して、テストを繰り返す技法。
エ システムの取り得る状態と、状態を遷移させる事象又は条件を示した図に基づいてテストする技法。
答:ウ
探索的テスト技法は、経験ベーステスト技法の一種で、テスト実施時にテスト内容を決めながらテストを進める。エラーの可能性が低い箇所は簡単にテストを済ませ、不具合のありそうな箇所を重点的にテストするなど、メリハリを付けた対応ができる。そのためには、テスト担当者に十分な経験や知識が必要となる。
【システムアーキテクト午前Ⅱ】ブラックボックステストのテストケース設計
ブラックボックステストにおけるテストケースの設計に関する記述として、適切なものはどれか。
ア 実データからテストデータを無作為に抽出して、テストケースを設計する。
イ 実データのうち使用頻度が高いものを重点的に抽出して、テストケースを設計する。
ウ プログラムがどのような機能を果たすのかを仕様書で調べて、テストケースを設計する。
エ プログラムの全ての命令が少なくとも1回は実行されるように、テストケースを設計する。
答:ウ
ブラックボックステストは、プログラムの内部構造を意識せず、外部仕様に基づいて機能を満たすかどうかテストする手法。テストケースは、外部仕様書に基づいて、様々なケースについて漏れがないように網羅して設計する必要がある。
【システムアーキテクト午前Ⅱ】ペアプログラミングによる開発の進め方
ハードウェアの経験が豊富なプログラマAと、経験の少ないプログラマBがペアプログラミングの手法を利用して組込みシステムの開発を進める。ペアプログラミングによる開発の進め方として、適切なものはどれか。
ア Aがデバイスドライバの開発を担当し、Bがアプリケーションの開発を担当する。
イ Aがプロジェクトマネージャとして、プロジェクトの調整役になる。
ウ AとBがエディタ画面を共有し、Bが記述したコードに対してAが助言する。
エ ハードウェアとソフトウェアの切分けをシミュレーションで検証してから、AとBで分担して開発する。
答:ウ
ペアプログラミングは、二人一組になって1台のコンピュータの前でプログラムを作成する手法。適当なタイミングで交代しながら、一人がコードを作成し、もう一人は隣でそれを見ながら助言やチェックを行う。したがって、初級プログラマBだけでなく、適宜交代して上級プログラマAもコード作成を行う。