Wantedlyのテスト事情
少人数での品質の確保
住友 孝郎 / Takao Sumitomo
シゴトでココロオドル
• 住友 孝郎(Takao Sumitomo)
• twitter: @cattaka_net
• Androidアプリ開発者
• 開発経歴
– Androidアプリ
– iOSアプリ(ちょっとだけ)
– 業務系Webアプリケーション
– 業務系Windowsアプリ
• その他
– 電子工作
– OpenCV
• ウォンテッドリー株式会社所属
– 2014年12月〜
自己紹介
シゴトでココロオドル
C88でEspressoについて書きました
• コミケC88
• サークル名
– TechBooster
• 入手先
– Amazon
• 電子書籍
• POD
– BOOTH
• 電子書籍
シゴトでココロオドル
• 設計
– 自分
• 実装
– 自分
• CIの構築
– 自分
• 手動テスト
– QAさん
• プロダクトの数
– 主に2つ
Androidチームの現状の体制
補足:Ruby on Railsはガチガチにテストしてます
シゴトでココロオドル
• 施策を考える
• 設計する
• 実装する
• テストする
• リリースする
• 施策の結果を確認する
改善の1サイクルは1〜2週間
シゴトでココロオドル
• JUnit
• Espresso
• JVMのテスト
– Roborectricは未使用
• Jenkinsでテスト
• 人力テスト(QAさん)
使っているもの
シゴトでココロオドル
アプローチ
シゴトでココロオドル
• 主要な機能はEspressoでテストを書く
– ただし網羅的にはやらない
• 各ActivityやFragmentを最低一回は
表示するテストを作る
• コンバージョンに直接影響があるところを
念入りに書く
– ログイン機能
– 応募機能
開発中の品質確保
シゴトでココロオドル
• Mac MiniにAndroidデバイスをぶら下げる
• レイアウト周りでバージョン依存で
チラホラ引っかかる
• 機種依存が稀に引っかかる
Jenkinsでテスト
シゴトでココロオドル
Mac Miniとデバイス達
シゴトでココロオドル
• QAさんによる人力テスト
– Google SpreadSheetによるテスト項目
– QAさんの経験と勘に依存するところもある
• 連打系テスト
• いじわるテスト
リリース前の品質確保
シゴトでココロオドル
• Google Playの段階リリースを使う
• クラッシュ系はCrashyticsで拾う
リリース後の品質確保
シゴトでココロオドル
現状の問題
シゴトでココロオドル
• CIサービス上だと
– x86のエミュレータが使えない
– ARMのエミュレータしか使えない
– androidTestが遅い
• 時間が掛かるので諦めてビルドだけにした
• テストはローカルでJenkinsを動かしてる
テストに時間が掛かってる
シゴトでココロオドル
• 今のところ目視確認で再実行して対応
Flakyなテストがある
シゴトでココロオドル
おわりに
シゴトでココロオドル
• いきなりベストなテスト環境は作れない
• 掛けられるコストはサービスの
規模に依存する
• 開発の規模に合わせて
テストの仕組みを成長させる
• 開発コストと品質のバランスが大事
おわりに
シゴトでココロオドル
全てはユーザー様に素早く
価値ある安定したサービスを
届けるために
シゴトでココロオドル
ご清聴ありがとうございました

Wantedlyのテスト事情