Selenium大体導入完了

Selenium、ほぼ導入完了した。
今も私の後ろのコンピュータで、500個ほどのテストケースがせこせこと動いている。


導入手順は下記の流れ。

  1. テスト対象のフォームを持つサイトにアクセス
  2. HTMLで保存
  3. HTMLから入力チェックのJavaScriptとmaxlengthを削除
  4. 適当な場所にHTMLをアップロード
  5. Selenium IDEを起動し、FireFoxでHTMLにアクセス
  6. 全ての入力値を正しい状態としたものをレコーディング
  7. 正しい状態のテストケースを保存。これをテンプレートと呼ぶ
  8. テンプレートを基にテストケースを量産するプログラムをC#でせこせこ作る*1
  9. テンプレートを指定し、テストケースを生成してみる
  10. 上手くいきそうなので、Text、Date、年と月だけ、電話番号、郵便番号の入力パターンに対応した生成コードを追加。ちなみに必須入力チェックや最大値チェックなども当然入ってる
  11. 全入力値に対して自動生成するコードを追加
  12. 自動生成
  13. Selenium IDEでひたすら流す

ただ、入力値ごとに異なるエラーメッセージの全チェックはやってられないので、入力チェックにひっかかって前のページに戻ったかどうかを見るだけの簡易テストとした。
いかにも機械っぽいが、ま、十分だろうという予想。


はじめは1500くらいのテストケースを流そうかと思っていたのだが、Selenium君意外に遅い。
500のテストケースで1時間30分程。800だと2時間はかかっていた。
ということでテストケースの数を縮小して合計500くらいに絞り品質向上に役立てている。


感想としてはこんな感じ。

  1. Selenium機能しょぼい
    1. エラーケースだけを表示出来ない
    2. 途中で止めて他のテストケース見てたりすると再開に失敗する
    3. 500あるテストケースの内、250くらいからはじめる事などが出来ない
    4. テストケース作るのがめんどくさい。雛形自動生成してくれればいいのになぁ
  2. おっそい
  3. 今回のテスト以上の品質でテストしようとすると、テストケース生成にえらい時間かかる

まあ、多少役には立つが、劇的に業務を改善させる程のパワーは無いかなという印象。
劇的に向上するのはテスト駆動開発でやった時だろう。
そろそろXP、復活させようかな、と。

*1:ソースはロジックのみ800行くらい、フォーム一つの簡単なもの