ランダムテスト

random testing


 ソフトウェアテスト手法の1つで、ソフトウェアにランダムな入力を与えてエラーの検出を行い、信頼性や性能などを確認をするテストのこと。

 ランダム入力を行うに当たって疑似乱数生成アルゴリズムなどを使うやり方と、人間が適当に入力操作を行うやり方がある。後者はしばしば、アドホックテストと同一視される。

 乱数を使ったランダムテストは、テスト対象プログラムの仕様とは無関係にテスト項目を無作為抽出した形で大量のテストを実行し、ハングアップやクラッシュなどのエラーが発生する確率を求める方法である。MTBF(mean time between failure)による残存バグ数の推定などが行えるが、テスト計画を作る方法に比べるとバグ検出力自体は低いとされる。通常は信頼性テストや性能テストなど、機能外テストに利用される。

 無作為・均一にテストを実行するランダムテストは自動化に適しているが、ほとんどのテストが無効となるため、テスト一件当たりの効率は著しく悪い。なお、テスト結果のフィードバックを反映して効率的なテストを作っていく動的テスト生成手法として、DART(directed automated random testing)が提案されている。

 一方、人間によるランダム入力では、ユーザー数が十分に多数であれば「98%の確率で正常に動作する」というような社会統計的な答えを得ることができる。ただし、これはユーザーの実際の操作という偏りのある母集団がベースとなっており、乱数生成におけるランダムとは意味が異なる。

 なお、クリーンルーム手法におけるソフトウェアテストは、統計的テストといえる。これは形式仕様記述に基づいてソフトウェアの入出力値の代表を選別・評価するもので、代表値を統計的に分析してソフトウェアの信頼度を測る。

参考文献

  • 『知識ゼロから学ぶソフトウェアテスト』 高橋寿一=著/翔泳社/2005年2月
  • 『ソフトウエア開発――55の真実と10のウソ』 ロバート・L・グラス=著/山浦恒央=訳/日経BP社/2004年4月(『Facts and Fallacies of Software Engineering』の邦訳)
 
A B C D E F G H I J K L M
N O P Q R S T U V W X Y Z
記号 0 1 2 3 4 5 6 7 8 9
IT活用組織論経営・経営手法発想法、図法システム開発・運用、プロジェクト管理システム基盤技術インターネットビジネスコミュニケーションマーケティングERP会計・ファイナンス人事・HRCRM/SFAグループウェアナレッジマネジメントBIコンテンツ管理製造業流通業、ロジスティクス通信業調達業務利用法、使い勝手


@IT情報マネジメント メールマガジン 情報マネージャのための情報源(無料)


この記事に対するご意見をお寄せください managemail@atmarkit.co.jp

アイティメディアの提供サービス

ホワイトペーパーTechTargetジャパン

スキルアップ/キャリアアップ(JOB@IT)

@IT Sepcial
- PR -
@IT Sepcial
ソリューションFLASH

求人情報