More Related Content
More from yumi_chappy (20)
Editor's Notes
- それでは発表を始めます
- まずは自己紹介から
私は植村俊弥といいます出身地は神奈川県です
2018年、今年の4月に株式会社ヒューマンクレストに入社しました
8月から技術推進本部へ配属されました
業務内容は技術調査及び上長とついてプリセールを行っています
- 現在業務の一環として、Seleniumを用いた自動テストの勉強をしています
Seleniumとはクロスブラウザ、クロスプラットフォームのUIテストツールです
ブラウザに表示されている要素、html上のidやxpathを取得し、webページを自動で操作することができます
開発言語はJavaを使用、OSはMacで基本的にはChromedriverを用いてGoogle Chromeを操作するスクリプトを開発しています
- ボタンをクリックして
- 実際に弊社の事業として、Seleniumを用いて作成したテストケースを、JenkinsなどのCIツールを用いて定時実行するというものがあります。
テストの内容としては回帰テストなど手順化されたテストを自動で行っています
- Seleniumで自動テストを実装する上で、ページオブジェクトとJenkinsの連携で少し苦労しました
ページオブジェクトとはアプリの画面を1つのオブジェクトとして捉えるデザインパターンの一種であり、テストケースのメンテナンス効率が良くなるという特徴があります
Web上の記事や参考書、先輩が書いたコードなどを参考にしたがどれも書き方が違いました
とりあえずは一つの記事に絞り真似して記述しました
次にJenkinsの連携について
Gradleコマンドでターミナルから実行できるようにしたものをJenkinsから実行してみようと思ったのですが、
.pkgファイルでインストールすると別のユーザとして作業しなくてはならなくなるためユーザ権限の問題でうまく実行できなかったというものです
Brewでインストールし直し、同じユーザー上で作業することにより解消しました
- 自動テストについて勉強する前に私が抱いていた印象は
テストなんて単純作業であり、人が一生懸命やるようなことではない
可能ならば、全て自動テストにした方がいい
と思っていました。
- 実際に自動テストを勉強してみると、
テストスクリプト開発はなかなか時間と手間がかかるということがわかりました
場合によっては自動テストにするより手動で行った方が早いケースも存在します
自動テストの導入後にはテストの結果解析やテストケースのメンテナンスにコストがかかります
これらを総合して、自動テスト導入にはしっかりとした設計と計画が必要ということがわかりました