Anatomy

2015年9月24日木曜日

スクリプトを書かない回帰テストでテストケースのバグを防止する

回帰テストを行うツールには様々なものがありますが、テストを実行するためのスクリプトを作成する必要があるものがほとんどです。中にはスクリプト自動生成機能を備えたツールもあり、一見するとテストケースを容易に作成できそうに思えます。

しかしながらスクリプトを使用した回帰テストには、いくつか注意すべき点があります。


スクリプトを使用した回帰テストの注意点

スクリプトを使用した回帰テストには一般に次のような問題が多かれ少なかれ発生します。


  • スクリプトが動かない。結局、回帰テストの自動実行が実施できず、ツールを使わずに手動で行うことになった。
  • 以前は動作していたテストスクリプトが、Webアプリ側の変更により動作しなくなってしまった。テストスクリプトを修正する必要があるが、アプリ側の変更内容に対して、テストスクリプトをどのように直せばよいのかがよく分からない。結局、テストスクリプトを最初から作り直すことになった。
  • テスト結果がOKとなったが、よくよく確認したら実際にはデグレが発生していた。テストスクリプトに不備があることが分かり、その修正作業を開始したが、他のテストケースにも不具合があり、テストケースの作り直しや修正に時間がかかることが分かった。
  • テスト結果がNGとなったが、問題がないように見える。テストスクリプトが間違っているのではないかと疑い、テストスクリプトのデバッグを開始しようとしたが、時間もないのでこのテストケースは無視するよう、チームメンバーと共有した。


Webアプリとテストスクリプトとがどのような関係性にあるのか、を完全に把握することが難しいことが、これらの問題の原因になるのではないかと思います。

サイトクローンではHTTPリクエストを再現する

サイトクローンでは、クライアントから送信されるHTTPリクエストを記録し、回帰テストでも全く同じHTTPリクエストを送信します。

ブラウザから送信されるHTTPリクエストがテストケースに相当するので、Webアプリとの関係性は明白です。HTTPリクエストに送信される内容に変更がない限り、回帰テストは何度でも行うことができます。URLが変更されたり、フォームから送信されるパラメータが追加されたような場合には、クローニングモードを使用し、HTTPリクエストを記録し直す必要があります。

テストケースの作成に苦労している方は是非一度サイトクローンを試してみてはいかがでしょうか?

0 件のコメント:

コメントを投稿