Selenium大体導入完了
Selenium、ほぼ導入完了した。
今も私の後ろのコンピュータで、500個ほどのテストケースがせこせこと動いている。
導入手順は下記の流れ。
- テスト対象のフォームを持つサイトにアクセス
- HTMLで保存
- HTMLから入力チェックのJavaScriptとmaxlengthを削除
- 適当な場所にHTMLをアップロード
- Selenium IDEを起動し、FireFoxでHTMLにアクセス
- 全ての入力値を正しい状態としたものをレコーディング
- 正しい状態のテストケースを保存。これをテンプレートと呼ぶ
- テンプレートを基にテストケースを量産するプログラムをC#でせこせこ作る*1
- テンプレートを指定し、テストケースを生成してみる
- 上手くいきそうなので、Text、Date、年と月だけ、電話番号、郵便番号の入力パターンに対応した生成コードを追加。ちなみに必須入力チェックや最大値チェックなども当然入ってる
- 全入力値に対して自動生成するコードを追加
- 自動生成
- Selenium IDEでひたすら流す
ただ、入力値ごとに異なるエラーメッセージの全チェックはやってられないので、入力チェックにひっかかって前のページに戻ったかどうかを見るだけの簡易テストとした。
いかにも機械っぽいが、ま、十分だろうという予想。
はじめは1500くらいのテストケースを流そうかと思っていたのだが、Selenium君意外に遅い。
500のテストケースで1時間30分程。800だと2時間はかかっていた。
ということでテストケースの数を縮小して合計500くらいに絞り品質向上に役立てている。
感想としてはこんな感じ。
- Selenium機能しょぼい
- エラーケースだけを表示出来ない
- 途中で止めて他のテストケース見てたりすると再開に失敗する
- 500あるテストケースの内、250くらいからはじめる事などが出来ない
- テストケース作るのがめんどくさい。雛形自動生成してくれればいいのになぁ
- おっそい
- 今回のテスト以上の品質でテストしようとすると、テストケース生成にえらい時間かかる
まあ、多少役には立つが、劇的に業務を改善させる程のパワーは無いかなという印象。
劇的に向上するのはテスト駆動開発でやった時だろう。
そろそろXP、復活させようかな、と。
*1:ソースはロジックのみ800行くらい、フォーム一つの簡単なもの