Selenium導入中

2年くらい前から導入しようとしていたWebの自動テストツールだが、このたび非常に小さい案件で、かつ入力項目の多い、利用言語PHPという非常にお手ごろな試金石が見つかったので、締め切りまであまり時間が無いのだがSeleniumを導入することにした。
とりあえず、Selenium IDEの利用に限定で、かつ入力フォームのチェックに使い、JavaScriptのテストには使わない限定的な利用。SQL InjectionやValidationで、かつサーバサイドの処理に限った上で実践するつもり。


実際は他人のツールを使うより自作した方が早いかと、万人が批判するExcelマクロでさっくり作ろうかと思ったのだが、Visual Studio 6.0が入っていないせいかMSInetがなかったため、WinSockから自作するのが面倒になってやめてしまった。
次にC#で作ろうと思ったがチェック項目指定UIを作るのが面倒になってやめてしまった。*1
で、現状何が最短距離かといったらSelenium IDEだったというだけで、計画的な導入ではない。


とはいえ、今年は私がやり残した事であるソフトウェアの開発プロセス、それも私と客先間で行う上級SEのレベルではなく、実装部分の仕組み整備をいい加減やるつもりなので、XP導入復活も選択肢として考慮に入れている。
ということでテスト工程の反復化・自動化も必須項目の一つ。いい機会なのでまともにやってみようと思う。


軽く触った現在思っていること。
テストケース作るのが面倒くさい・・。
Selenium Coreはまだしっかり調べてないが*2Selenium IDEに限って言えばテストケースの生成に非常に手間がかかり、Selenium IDEのテストケース自動生成ツールを作るのが先決。
この実装が最短だなと思っているのは以下のフロー。

  1. Selenium IDEで一つだけテストケースの雛形を作る
  2. その雛形を基に入力値のタイプと、生成するパターンを決めて連版テストケースを自動生成

入力項目60個あれば検証パターンは1000くらいいくはずなんで、こんなもの全部録画(?)なんてやってられないし、エディタでコピー→一部書き換えを手作業でやるのもちとしんどい。
ささっと作ってSelenium IDEの実践評価をし、手ごたえがあればもうちょっとまともに整理するという段取りで考えている。

*1:やはりExcelは入力UIが付属してるので便利だな、と

*2:2年前調べたはずなんだが・・。