テスト設計とテスト実行をつなげよう

みなさん、モデルベースドテスティングという名前をご存知でしょうか。テスト設計からテスト実行までをつなげてしまおうという技術です。日本ではあまりなじみの無い名前ですが、欧米ではいろいろなところで実践されています。6月19日のHP ALM技術セミナーではモデルベースドテスティングの入門セミナーを行います。基本的な考え方の説明と、日本で実践されている方による事例紹介をしたいと思っていますが、このセミナーを企画した背景をブログに書いてみたいと思います。

----------
HPでは自動テストツールである「QTP」という製品を開発、販売しています。自動テストをするメリットとして、最も大きいものが今までできなかった量のテストをこなせるようになることがあります。
例えば一つの入力画面に入力フィールドや選択ボタンやリストが20以上あり、それらに全部決められた情報を入れた上でOKボタンを押した後の状態を確認するというテストは手動でやったらどれくらいの時間でできるでしょうか?確認した後に確認結果のエビデンス(画面キャプチャ)をとっておいて保存すると言うところまで含めると、4~5分はかかるでしょう。

1つのテストケースを確認するのに4~5分かかるということは、1時間で12~15テストケースしか確認できません(しかもそれは、一瞬たりとも手を休めずにテストをした場合です。)

こうなると、大体テスト量は、時間の制約を考えていまい、1時間以内で収まる数でテストを考えようとか、もっというと30分以内でおさめようとする気持ちが入ってしまうものです。ただ、これを自動テストでやればどうなるでしょうか?だいたい1つのテストケースを確認するのは1分以内で収まるようになるでしょう。そうなると1時間で少なくとも60パターンのテストが可能になり、また、テストを実行している間、人は違う作業をしていることができます。こうなると、時間という制約がなくなり、どこまでもテストをできるようになってしまいます。
ここで問題になるのが、本来、何パターンテストをやればよいのか?という問題です。自動テストを上手くやり遂げる際にはいくつもの壁を乗り越える必要がありますが、この「本来、何パターンやればよいのか?」も壁のひとつになります。
---------
少し話を変えます。

ここ10年くらいのあいだに、日本でもテストを設計するというのはかなり一般的になってきました。(私が社会人になったころはテスト設計なんて言葉は聴いたことありませんでしたが。)

実際、テスト設計の本も多く出版されていますし、開発現場に行ってもテスト設計の話を聞くことが多くなりました。

テスト設計の際には、デシジョンテーブルとか状態遷移テストとか直交表/オールペアといった「テスト設計技法」を使ってテストすべきパターンを明確にしていくことが多くあります。

これらの技法をつかうということは、テスト対象をある観点でモデル化し、モデルとして表現したものを決められたルールで網羅することを意味しています。テスト設計によるメリットは経験とカンではない、誰もが分かるルールでどこまでテストをすればよいかが明確になることです。
-----------
ここで分かると思いますが、自動テストを進めるとぶつかるひとつの壁「何パターンやるのか?」、の解はテスト設計をしっかり行うことです。
実は自動テストにはテスト設計が切っても切れない仲なのです。
次に思いつくのがテスト設計した結果をいかに自動テストの実行までスムーズにつなげるかです。
その解がモデルベースドテスティングです。簡単に言うとテスト設計からスクリプト作成、テスト実行までを(できるだけ自動で)つなげていく技術です。
例えばマイクロソフトやグーグル(昔にはHPにいた時期もあるらしい)でテストをしているHarry Robinsonはこの第一人者で、モデルベースドテスティングを現場で実践しています。(彼は自身でモデルベースドテスティングに関するサイトを持っています。)
他にも多くの文献があります(このサイトはそれらの情報がとてもよくまとまっています、英語ですが。。)
日本では電通大の西先生がJaSSTにてモデルベースドテスティングを紹介していますが、まだまだ情報が少ない状況です。
そこで、テスト設計技法を知り、自動テストを最大限有効活用するためにモデルベースドテスティングを始めることができるよう入門セミナーを6月19日に開催することにしました。
題して、HP ALM技術セミナー「テスト設計と自動テストを繋げよう ~QTPを使ったモデルベースドテスト入門」です。私からはテスト設計やモデルベースドテスティングの基本を解説しますので、前提知識がなくても理解が進むと思います。また、QTPを使ったモデルベースドテスティングを実践されているインクスの方堂さんに実際のところを詳しく話していただきます。(すでにJaSSTにて論文発表されている内容ですので事前に一読をお勧めします。)
またパネルでは、講演者に加え、豆蔵のテストコンサルタントである望月さんをパネリストとしておよびし、テスト設計の視点でご意見をいただく予定にしています。
(という私自身自分で企画していてわくわくするような内容になっています)
私は、テストのTo-Be像のひとつはモデルベースドテスティングにあると思っています。日本のテスト技術が進歩していくためにもモデルベースドテスティングを推進していきたいと思っており、今回のセミナーがそのきっかけの一つになればと思っています。お時間のある方はぜひともご参加ください。

タグ:
カテゴリ: