スライド
selenimu commiter day 2017: Methods to Sustain Long Term Operations of E2E Automated Tests from Toshiya Komoda
www.slideshare.net
モバゲーのプラットフォームについて
- 数千万人の会員がいる
- 3rdパーティーの開発のためのサービスを提供している
モバゲーのプラットフォームの経緯
規模感
- 5年経過
- 22個のテストスイートが分かれている
- 機能毎に分かれている。
- 会員登録とか
- 機能毎に分かれている。
- 700個のテストケース
- 決済とかログインとかはしかkりテストしている
- 60000個のAPIのテストケース
- 開発者はサーバーサイドのリリースはQA無しでリリースできる
運用について
- テストスイートがどういう経過を辿るか分かってきた
- QAの一部として作り始める。
- リグレッションテストとして回り続ける
- 1年ぐらい経つとテストが壊れ始める
- 自動テストが完全に壊れるテストスイートが出てくる
- 出来る限りちゃんと動く期間を長くするようにする
どうすれば長期運用に耐えられるようになるのか
- とにかくテストを流し続けましょう
- 1日1回は最低限回すようにしている
- 定期的に実行しているぐらい安定していないといけない
- なかなか通らないテストは安定化しましょう
- 開発環境が変わったなどをいち早く検知するため
- 壊れた瞬間が一番直しやすい
- どうしようも無いテストは諦める
- 既存のリグレッションテストの100%グリーンを拘らない
- 環境に依存するようなFlakyなテストとか
- 直す工数が大きいが得られるメリットが小さいものとか
できるだけ早くテストをデバッグしたい
- 出来る限りテストのデバッグが出来る人を増やす
- 一番長く使われるテストは、開発のプログラミングテストと同じ言語にすることだった
- テストのインフラはしっkり確保しよう
- 1回回すのに1時間かかるものとかは無しで
- 失敗したテストケースのみ流せるようにする
- 失敗時のログを出す
- Selenium Gridが活躍している
Debuggability
- Zalenium
- 実行のデバッグが見やすいようになっている