問題は、「テストシナリオのメンテナンスの難しさ」にあり、問題に対して、以下の課題が挙げられます。
今回は、これらの課題に対する対策について、紹介します。
◆ 課題1 : 画面の構成が変わるたびに、シナリオを修正する必要がある
◆ 課題2 : 画面数や、ブラウザのサポート数に比例して、テストシナリオの数や長さが大きくなる
◆ 課題3 : テストシナリオがコード(Javaなど)で管理される場合、運用できる人が限定される
◆ 課題4 : テストを行うための環境(DBの初期化、システムの更新)が必要となる
-------------------------------------------------------------------------------------------------------
◆◇◆ 画面の構成が変わるたびに、シナリオを修正する必要がある ◆◇◆
-------------------------------------------------------------------------------------------------------
◆ 課題
開発の中で、画面構成の変更の度に、テストシナリオの修正が必要となる場合、修正に手間がかかり、テスト自動化の恩恵が受けられなくなります。
一般的にテストツールを使用した場合、Webの操作は、HTMLの要素(または、XPath)で制御されますが、画面構成の変更の度に、この要素を修正するには、効率的とは言えません。
◆ 原因
画面構成の変更により、HTMLの要素が変わることで、テストツールで制御していた要素が特定できなくなります。このようなケースは、XPathでオペレーションが記録された場合も、同様に起こります。
以下は、画面構成によって、属性値が変わった(「ショッピングカートに入れる」 ⇒ 「ショッピングカートに追加」)ことにより、ボタンがクリックできなくなります。
要素を一意の情報で制御することで、画面の構成に変更があったとしても、テストシナリオを修正することなくテストを継続できます。
以下のように、要素の属性にid(または、name)を指定することで、画面の構成要素を一意の情報で制御できます。
◆ テストツールによる対策!
以下、SOAtestのテストツールを使用した、対策方法についてご紹介します。
※ 静的解析ルールによる、HTMLの属性値の確認が可能!
WebアプリケーションのHTMLの要素に対して、idおよび、name属性が一意の値として振られているかをチェックするためのルールを使用し、確認を行うことができます。
※ 保守性レポートによる、テストシナリオの確認が可能!
テストツールによって生成されたテストシナリオに対して、画面構成の変更により、テストシナリオが動作しなくなる可能性がある箇所をレポートします。
◇ 次回予告
-----------------
次回は、2つ目の課題である『画面数や、ブラウザのサポート数に比例して、テストシナリオの数や長さが大きくなる』の対策について紹介します。
◇ 体験版ダウンロード
-----------------------------
http://www.techmatrix.co.jp/quality/download/index.html#soatest