自動テストを書くときに気を付けなければならないこと
Seleniumを使用して自動テストを書いているが、対策を考えなければならないこともある:
- テストコードのメンテナンス。プロダクトの開発が進むにつれて、これまで使用していたXPathやページオブジェクトを更新する必要がある
- プロダクトバージョンに応じた、リビジョンへのタグ付け。基本的には最新版に対してテストを実行するが、古いバージョンへ流さなくてはならないこともある。自動テスト用リポジトリのリビジョンと、プロダクトコードのバージョンはタグをつけるなどして自由に行き来できるようにするとよい
- 外国語対応。プロダクトが複数の言語をサポートしている場合、必要に応じて他言語でも実行できるようXPathやアサーションに柔軟性があるとよい。
- テストの実行時間。Seleniumは、ページ読み込みが終わるまで待ってあげないと操作に失敗してしまう。だが、テストの実行時間は短くしたい。テストスイートを複数の小さなテストスイートに分割し、複数台のマシンで並列実行することで対応可能。
- カバレッジ。ユニットテストで使用されるコードカバレッジではなく、機能単位での網羅率でもよいと思う。開発側との連携が大事。
上手に取り組むことができればよいのだが、ほかの業務もあるのでそう上手くはいかない。最後は気合かもしれない。