スライド
自己紹介
- 赤坂翔太
- 一休.com
- 宿泊事業本部宿泊システムチーム
ここでいうテストって
- リグレッションテスト
- 予約・購入できないと甚大な被害
メンテナブルなSelenium=PageObjectPattern?
- 正解の一つ
- 本当に大事なことはリグレッションテストの自動化をより長く続けること
- 実装した後の運用が大事
一休のリグレッションテスト事情
- 30ケース8並列
- 実行時間
- 5~7分(本番環境)
- 8~10分(ステージング環境)
- PageObjectパターンで作成
- メンテナンスデキる人が1人しかいない
やったこと
- 全体向けに説明会
- アウトプットは要所要所
- 自分でメンテナンスは我慢
- 開発フローに組み込む
全体説明会
要所要所でアウトプット
- Qiita:Teamで投稿
- Seleniumをみんなの中に刷り込む
自分でメンテナンスしない
フォローは喜んで
まとめ
- 持続させることが大事
- メンテナーが1人にならないようにする
- 長く続ける・運用すること
- 仲間を増やすこと
番外編
- たまに一石を投じることも必要
実例
- 定期実行がFailしまくる
- アプリケーション側の問題のようだ
- ステージング環境の失敗に関しては反応が無い
- エラー内容を添えて聞いてみたが、誰からも応答が無かった
- 怒りの思いをQiita:Teamに書いた
数ヶ月後
- 同じような事例が発生
キャッチアップ&フォローしてくれる人が現れた
一石を投じることも重要
- でも権威的になり過ぎないように気をつける
- 正論をふりかざして相手を避難することは良くない
質問
テストケースの管理・重複は?
- テストケースのレビューは自分だけ
役割分担は?
- 一休のエンジニアが何でもやるという感じ
カバレッジを広げたくなる思いを留めるには?
- 結構割りきってしまう
- 予約の導線をカバーできればOKとやる内容を切った
- もっとやれる範囲はあるが、現在は切っている
パターンは気にしないのか
- 導線が意外と多い
- Yahoo連携、au連携、現地決済、事前のカード決済
パターンの管理・設計の管理は?
- その部分の知識の説明はあまり必要なかった
Jenkins特有のエラーがたまにあるが、エラー通知が鈍感にならない工夫は?(2回まわすなど)
- max retry回数を設定したりしている
- 「テストが落ちても大丈夫」と思われないようにする