Amebaアプリ QAの歴史(サイバーエージェント関根様)
Transcript of Amebaアプリ QAの歴史(サイバーエージェント関根様)
AmebaアプリQAの歴史
株式会社サイバーエージェントメディアQC室関根雄飛
今日お話すること
自己紹介
Amebaアプリの紹介体制図
テストフロー
社内と社外テストの使い分け
CAアドバンスとの施策について検証における課題
メディアQC室の紹介今後の検証について
自己紹介
Amebaアプリの紹介体制図
テストフロー
社内と社外テストの使い分け
CAアドバンスとの施策について検証における課題
メディアQC室の紹介今後の検証について
自己紹介
2012年4月サイバーエージェントにサーバサイドエンジニアとして入社2012年8月『GIRL’S TALK』リリース2012年11月『Hey!パイセン』リリース(のちにクローズ)
2013年5月『おたすけSOS』リリース(のちにクローズ)
2013年9月『読書のお時間です』リリース2014年4月テクニカルサポートに異動2014年8月 AmebaアプリQA担当2016年7月 Amebaメディア本部メディアQC室に所属
【好きなこと】競馬
Ingress
自己紹介
Amebaアプリの紹介体制図
テストフロー
社内と社外テストの使い分け
CAアドバンスとの施策について検証における課題
メディアQC室の紹介今後の検証について
Amebaアプリの紹介2010年1月リリース最新バージョンはiOSが8.0.0、Androidが10.2.2「アメブロへの投稿」「人気ブログの閲覧」「チェックリストの閲覧」機能
自己紹介
Amebaアプリの紹介体制図
テストフロー
社内と社外テストの使い分け
CAアドバンスとの施策について検証における課題
メディアQC室の紹介今後の検証について
体制図
プロデューサディレクター
サーバ
マーケティングデザイン
フロントネイティブ
体制図Amebaアプリ メディアQC室 CAアドバンス
プロデューサ
ディレクター
デザイナー
エンジニア
関根
リーダー
リーダー
テスター
テスター
自己紹介
Amebaアプリの紹介体制図
テストフロー
社内と社外テストの使い分け
CAアドバンスとの施策について検証における課題
メディアQC室の紹介今後の検証について
テストフロー
仕様の共有
テスト項目書の作成
テスト端末の選定
テスト実施
不具合の起票・修正確認
リリース後の項目書見直し
上記フローを繰り返し行う
仕様の共有
仕様の共有会を実施
GitHubEnterprise(以下GHE)上にIssueを作成QC室はGHEのIssue上から仕様の把握を実施
不明点などがあった場合は口頭やSlack上でやり取り
ここでCheck!!〜仕様の共有〜
仕様の共有・把握はとても重要
見積もりを誤ってしまうと、テストに影響
実装途中でも良いのでapk・ipaファイルをもらって動作を確認する
テスト項目書の作成
GoogleDocsを使って作成メイン機能ごとにシート分け
新機能に関しては独立したシートを作成
項目書は新しいバージョンになるたびに作成
ここでCheck!!〜テスト項目書の作成〜
必ず開発者にレビューしてもらうように体制を見直し
テスト実施前にテスターにも共有
分岐がややこしい場合は必ず資料を作成
iOSとAndroidとで同じものを使用していたが、細部が異なっているため、ファイルを分割
テスト端末の選定
端末シェアの高いものを選定
アプリのバージョンごとに端末を変えている
新OSが出た場合は、別チームに基本的な機能の確認をしてもらっている
テスト実施
テストは本番環境で実施
Crashlytics・TestFlightを利用
帯域制限のテストにはCharlesを使用iOS/Androidともに並行してテストを実施
ここでCheck!!〜テスト実施〜
まずは1端末で新項目→既存の順でテスト不具合を見つけるのが遅くなるとその分スケジュールに影響が出てしまう
開発チームにお願いして工数の節約を実施
再現性がなくても報告する
不具合の起票修正確認
GHEにIssueをあげる必要に応じてラベルを付与
修正確認ができたら、DONEラベルを付与
修正確認時に再度不具合があった場合はReOpenアプリが落ちてしまう不具合の場合はログを添付
ここでCheck!!〜不具合の起票修正確認〜
リリースに影響があるかどうかの判定
リリース強行などはしないように調整
リリース後の項目見直し
リリース後1週間以内を目処に項目の見直し会を実施
新規項目についてテスト優先度を設定
新機能を各シートへと振り分ける
項目書で気になるところがあればブラッシュアップを実施する
ここでCheck!!〜リリース後の項目見直し〜
KPTの洗い出しを項目見直しと同時に実施チーム・個人の振り返りに役立つ
テスターにも参加してもらう
Tryに関しては次回見直し会に必ずどうなったかを報告する
自己紹介
Amebaアプリの紹介体制図
テストフロー
社内と社外テストの使い分け
CAアドバンスとの施策について検証における課題
メディアQC室の紹介今後の検証について
社内と社外テストの使い分け
多数の端末を使用したテストを短期間に実施したい場合は、社外にテストを依頼
直近では、ブログ記事のネイティブ化実装時に依頼
社外テスターは、redmineにてチケット管理redmineのチケットをGHEのIssueにて不具合・質問を起票
自己紹介
Amebaアプリの紹介体制図
テストフロー
社内と社外テストの使い分け
CAアドバンスとの施策について検証における課題
メディアQC室の紹介今後の検証について
CAアドバンスとの施策について
Amebaアプリでは、リーダー1名テスター2名の3名体制でテストをしてもらっている
仕様書を作成してもらっている
メディアQC室の他のPRJも定期的(月に2回程度)に仕様書のレビューを実施
自己紹介
Amebaアプリの紹介体制図
テストフロー
社内と社外テストの使い分け
CAアドバンスとの施策について検証における課題
メディアQC室の紹介今後の検証について
検証における課題
突然の仕様変更
リリース遅延
ログ吐き出しの確認漏れ
STG環境での検証
突然の仕様変更
実装段階で仕様変更が発生してしまう(これはしょうがない)情報の共有がチーム全体に行き渡らないことがある
その結果、iOS/Androidとで挙動が違ってしまっている(これは問題)GHE上の情報と実仕様が異なってしまうことが多々ある
リリース遅延
アプリチームだけでなく、様々なチームと連携しているためリリースの遅延が出てしまう
不具合を発見してから、本番環境へのリリースまでの時間がどうしても長くなってしまう
連携が必要な箇所に関しては優先してチェックする体制をつくる
ログ吐き出しの確認漏れ
ユーザの動向を把握するために任意のタイミングでログを吐き出しているがテストするのが難しい
Charlesを使用しての確認は可能だが、そもそもこれであっているかのどうかの確認が難しい
STG環境での検証本番環境と異なっている部分があるため、STG環境では確認しきれない箇所があるその為、一部APIのレスポンスがダミーデータになってしまっている
STG環境の取り合いが発生している
自己紹介
Amebaアプリの紹介体制図
テストフロー
社内と社外テストの使い分け
CAアドバンスとの施策について検証における課題
メディアQC室の紹介今後の検証について
メディアQC室の紹介2016年7月より設立現在8サービスの検証を実施しているCAアドバンスや外部会社を使用して検証を実施
PRJからの評価いつも細かいところまでチェックいただけて大変助かっている。詳細項目もかなり細かく網羅していただけているので、かなり助かっている。
担当者の変更があったため少し不安視していたのですが、引き継ぎやお休みでも開発側の足が止まることが一切なく非常に助かっています。
不明な部分は細かく確認して頂けたり、確認に特殊な操作が必要な場合も柔軟に対応してもらえてテストの質も高く感じている。
投稿周りとか、Amebaログイン、SNSログイン、非ログインで条件がとても複雑になってきていて、単体テストで網羅するのが厳しくなってきています。コアな機能に関してQC室の人が最後にチェックしていてくれるので、いつも安心してリリース出来ます。
PRJからの要望CSと連携して、エスカレーションされた問い合わせの再現条件などを調査して欲しい
OSの足切りなどを横軸の知見を活かして提案していただけると嬉しいです
ユーザ目線で使ってみて使いにくいところとかがあったら教えて欲しい
自己紹介
Amebaアプリの紹介体制図
テストフロー
社内と社外テストの使い分け
CAアドバンスとの施策について検証における課題
メディアQC室の紹介今後の検証について
今後の検証について
テスト自動化をしたい
全項目は到底ムリなので一部項目のみ実施したい
Appiumを想定