Selenium というツールがある。調べた限り、誰かが日本語のブログを2008年には書いている。10年目には突入しているということだが、あまり浸透してないかもしれない。ブラウザの画面上で自動テストを実施するもの、というとざっくりしすぎかもしれないが、そんなようなものだ。
基本はFireFox向けで、それは Selenium IDE というそうだ。それ以外のブラウザに対しては試していないが、ドライバを使うそうで、Chrome等にも対応しているそうだ。
先日、引き継いだ保守プロジェクトで、Seleniumでのテストが作成されていたので、試しに動かしてみた。ブラウザが人の手でデータを入れているかのように動いていき、ボタンやリンクをクリックする動作も再現できる。バグ回収後のデグレード試験やJavaなどのバージョンアップ後の挙動確認にはもってこいだろう。
しかし、不向きはある。テスターさんからの話も交えるが
・HTMLの組み方によっては(どうやら配列らしいが)正常に動かないケースがある。
・そもそもプログラマがテストのしやすさを考慮していないケースがある。
・新規だと、そもそもテスターに引き渡されるのが直前かつ時間がないので、そこからだとスクリプトを起こすのが大変である。
などである。
しかし、これらは設計や製造の指針等でクリアできる点でもある。
システムエンジニアやプログラマでテストのしやすさまで考えている人はかなり少数派である。つまりはプロジェクトのリーダーやマネージャーが考慮しないとテストの効率を上げることは難しいのではないだろうか。
これからは労働人口がどんどん減っていくとされてる。それをそのまま受け入れるか、知恵と工夫でなんとか乗り切れないかと考えるか。Seleniumは後者のための強力なツールになりうるのではないか、と思う。