組み合わせテストケース生成ツール 「PictMaster」 とソフトウェアテストの話題 -18ページ目

値の並び欄に改行を入れた場合の不具合について

現行のバージョン(v5.7.5以前)では、値の並び欄に改行を入れて制約指定を行なうとエラーとなる問題があります。

この問題を修正したバージョン(v5.7.6)をリリースしました。

探索的テストとエラー推測テストの違い 2つのテストをどう使い分けるか

探索的テストもエラー推測テストもテスト仕様書を用いずにアドリブでテストを行なう点では違いがありません。では、どういう点に違いがあるのでしょうか。今回は探索的テストとエラー推測テストをどう使い分けるかという観点で2つのテストの違いをあげて見ることにします。なお、ここでの記述内容はあくまでも個人的なものであり、教科書的な一般に流布している考え方とは違っていることをあらかじめお断りしておきます。

探索的テストでは、テストを始める前にどういう点を重点的にテストするかとか、どういう方針でテストするかとかをテスト対象別に明確にして文書化しておくケースが見られます。これは大まかな概要をまとめるならばいいのですが、あまり丁寧にやりすぎると通常のスクリプトテストと違いがなくなってしまうのでほどほどにしたほうがよいと思います。

探索的テストの特徴は、テスト仕様書を用いずテスト仕様書を基にしたテストにできるだけ近いテストを行なうことです。この際、テストを行なってその結果によって次にどのようなテストを行なうかを決めます。はじめてテストを行なうのなら、この段階で何らかの不審な動きを見出すことが多くなります。その意味で探索的テストは、テスト仕様書によるテストを行なった後で実施してもあまり効果がありません。この場合はほとんどが正常動作となるからです。テスト仕様書を作っている暇がない、テスト時間が足りないのでテスト仕様書の作成を省略していきなりテストを行ないたい、といった場合に探索的テストが必要とされる意味があります。テスト仕様書がないといっても、テスト内容はテスト仕様書がある場合とあまり変わるところはありません。

エラー推測テストもテスト仕様書を用いませんが、その理由はテスト仕様書のテスト項目としてエラー推測テストの内容が記載しづらいからです。エラー推測テストでは、プログラマが犯しやすいミスに着目してテストを行ないます。このような「プログラマが犯しやすいミス」は様々なイリーガルな条件の組み合わせで起きる場合が多く、それらをあらかじめテスト仕様書のテスト項目として記載しておくのは、テスト仕様書の他の項目と性質が違いすぎるため、テスト仕様書に明記しておくことが難しい性質のものです。

テスト仕様書に記載するテスト項目の対象には、機能仕様書をベースにした機能要件と、機能仕様書には書かれていない事項をベースにした非機能要件がありますが、エラー推測テストでのテストはそのどれとも性質が少し異なるものです。エラー推測テストは、テスト仕様書でのテストを実施したうえで、さらにバグを見つけ出したい場合に実施するテストです。エラー推測テストは、テスト仕様書でのテストが実施されていることが前提条件となっています。

以上のように、探索的テストとエラー推測テストとでは、適用する条件が全く異なります。探索的テストはテスト仕様書の作成を省略してとにかく早くテストしたい場合に実施します。エラー推測テストはテスト仕様書によるテストが終わって、さらにバグを見つけ出したい場合に実施します。

新しいIBMのTrueNorthチップと「自我を備えた機械」

いささか古い話になりますが、2010年9月に発行された大衆向け科学雑誌「日経サイエンス」で、2050年までに起きる科学的大変化として12の出来事を取り上げています。その中で「自我を備えた機械」が実現しそうだと予測されていました。「自我を備えた機械」とは、自己複製でき、自ら学習でき、状況の変化に適応できる高度に知的なコンピュータとロボットを意味しています。

2050年までに人工知能(AI)が飛躍的に発達し、「複雑さ」と「あいまいさ」に適応可能な先進的なハードとソフトを備えたコンピュータはいつか自我を持つ可能性があるとしています。自我を持っているということは意識を持っているということになります。「意識とは何か」が現在の科学ではまだほとんど解明されていませんが、複雑さに対処できるためは自我と意識を必要とするということなのでしょう。

今年の8月8日、IBMは「膨大なニューラル・ネットワークの時代を開く新しいIBM SyNAPSEチップを発表」のタイトルで人間の脳が持つ計算能力と出力効率を模倣したプロセッサの開発成功を発表しました。発表によれば、第2世代のSyNAPSEチップであるTrueNorthはIBMのチップとしては最大となる54億のトランジスタを使用しており、プログラム可能な100万個のニューロンとプログラム可能な2億5600万個のシナプスを備えているとのこと。1000億個のニューロンと100兆~150兆個のシナプスを持つ人間の脳には遠く及びませんが、複数の話者の会話を正確に認識して議事録を作成する、災害現場で行方不明者を捜索するロボットに搭載する、無人偵察機の監視を自動化する、などの用途が考えられるそうです。

TrueNorthは、フォン・ノイマン型の性質を持たない新しいアーキテクチャを備えており、従来のコンピュータでは複雑で膨大なプログラムを必要としたこと、例えばロボットが障害物を認識して衝突を避ける、といった一連の処理がTrueNorthでははるかに容易に実現可能となります。TrueNorthは現在のプロセッサのように総当たり方式の数学的計算によって問題を処理するのではなく、状況を理解し、あいまいさにも対処して、コンテキストに応じた処理をリアルタイムで実行できるように設計されています。

IBMは「Watson」で人工知能分野において一躍有名になりましたが、TrueNorthはフォン・ノイマン型アーキテクチャのWatsonとは全くの別物です。Watsonが質問に答えるときの消費電力は8万Wですが、TrueNorthの消費電力はわずか76mWに過ぎません。人間の脳の神経細胞は超高速で信号をやり取りしている訳ではなく、関係する神経細胞だけが非同期に、コンピュータに比較すれば非常にゆっくり動作しています。同じようにTrueNorthも非同期で必要な部分だけが動作するためにコンピュータ史上最も電力効率が高いチップの1つとなっています。

TrueNorthの特徴はその拡張性にも表れています。スケーラビリティーを実証するため、IBMは1千6百万のプログラム可能なニューロンと40億のプログラム可能なシナプスを有する16チップ・システムを公開しました。

IBMは、「根本的に新しいアーキテクチャー、類を見ないスケール、比類がない電力、面積そして速度効率、無限の拡張性、そして革新的なデザイン手法の観点から、脳からヒントを得たコンピューターの分野で新しい分野を開拓しました。私たちは、進化を続けるシステム、ソフトウェア、サービスのエコシステムを原動力とする、今日のノイマン型コンピュータを補完する情報技術システムの新世代を予測しています。これらの脳からヒントを得たチップは、WiFiを必要とせず、手のひらに収まるサイズの感覚性、インテリジェントなアプリケーションを経由し、モビリティーを変革する可能性があります。今回の成果は、IBMの長期にわたる本質的なイノベーションに対する投資による、コンピュータの歴史における極めて重要な転換期におけるIBMの主導的な役割を裏付けるものです」と述べています。

こうしたIBMの発表に懐疑的な専門家もいます。外界を認識する処理では速度が求められますが、TrueNorthのアーキテクチャでは速度が出せないというのです。とはいえ、こうした意見は少数です。TrueNorthが今後どのような発展を見せるか正確に予測することは難しいことですが、人工知能の発達に新しい地平を切り開いたことは明らかでしょう。

このように画期的な新技術が現れてくると、冒頭に述べた「自我を備えた機械」の現実味が増すというものです。将来は「自我を備えた機械」が人間に置き換わり、高度に知的で複雑なあいまいさを持った作業を行なうようになるでしょう。「機械が自分自身の存在と構造をひとたび理解したら、自分自身の改良版を設計できるだろう。それは破滅への危険な坂道になりそうだ」というのはシュミレーションゲーム「シムズ」シリーズの作者でロボット工学スタジオを開設したライト氏です。その機械は絶えず自身を進化させ、複製を作り出します。機械にとっての1世代はたったの数時間かもしれません。自己複製によってさらに進化した機械が人間の関与なしに生まれてくる。ついには人類を超える能力を持つに至る可能性があります。高度に進化した機械では、機械同士が互いをプログラムし始めて、人間が入力したプログラムを除去する能力を獲得するようになり、アシモフが提唱した「ロボット三原則」は意味を成さなくなります。アシモフのルールは、ロボットをプログラムするのは人間であるという前提に立っているからです。知性を持った機械を人類が支配し続けることは不可能かもしれません。

それほど遠くにない将来、私たちが生きているうちに高度に進化したロボット達が人類に戦争を仕掛けてくる。そうなればスーパー知能を備えた機械に人類の勝ち目はない。未来学やロボット工学の専門家の中にはそう考えている人たちがいます。もちろん楽観している人たちもいますが…。

※ 8月30日 TrueNorthの消費電力に関する記述を変更しました。

PictMaster 5.7.5J をリリースしました

PictMaster 5.7.5J をリリースしました。

今回のリリースでは、次の不具合を修正しています。

・値が数値のみからなり、値が小数で、小数点以下が 0 のみであるとき、制約指定を行なうと「タイプミスマッチ」のエラーとなる問題を修正した。

PictMaster 5.7.5J は次のサイトからダウンロードすることができます。

http://sourceforge.jp/projects/pictmaster/

値が小数の場合の不具合について

現行のPictMasterに以下の問題のあることが分かりました。

・値が文字を含まない数字のみからなり、小数を含んでおり、その小数点以下が 0 のみからなる値である場合、制約指定を行なうと「タイプミスマッチ」のエラーとなる。

このバグを修正した v5.7.5 を近日中にリリースする予定です。