Amebaアプリ QAの歴史(サイバーエージェント関根様)

38
Amebaアプリ QAの歴史 株式会社サイバーエージェント メディアQC室 関根 雄飛

Transcript of Amebaアプリ QAの歴史(サイバーエージェント関根様)

Page 1: Amebaアプリ QAの歴史(サイバーエージェント関根様)

AmebaアプリQAの歴史

株式会社サイバーエージェントメディアQC室関根雄飛

Page 2: Amebaアプリ QAの歴史(サイバーエージェント関根様)

今日お話すること

自己紹介

Amebaアプリの紹介体制図

テストフロー

社内と社外テストの使い分け

CAアドバンスとの施策について検証における課題

メディアQC室の紹介今後の検証について

Page 3: Amebaアプリ QAの歴史(サイバーエージェント関根様)

自己紹介

Amebaアプリの紹介体制図

テストフロー

社内と社外テストの使い分け

CAアドバンスとの施策について検証における課題

メディアQC室の紹介今後の検証について

Page 4: Amebaアプリ QAの歴史(サイバーエージェント関根様)

自己紹介

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

Page 5: Amebaアプリ QAの歴史(サイバーエージェント関根様)

自己紹介

Amebaアプリの紹介体制図

テストフロー

社内と社外テストの使い分け

CAアドバンスとの施策について検証における課題

メディアQC室の紹介今後の検証について

Page 6: Amebaアプリ QAの歴史(サイバーエージェント関根様)

Amebaアプリの紹介2010年1月リリース最新バージョンはiOSが8.0.0、Androidが10.2.2「アメブロへの投稿」「人気ブログの閲覧」「チェックリストの閲覧」機能

Page 7: Amebaアプリ QAの歴史(サイバーエージェント関根様)

自己紹介

Amebaアプリの紹介体制図

テストフロー

社内と社外テストの使い分け

CAアドバンスとの施策について検証における課題

メディアQC室の紹介今後の検証について

Page 8: Amebaアプリ QAの歴史(サイバーエージェント関根様)

体制図

プロデューサディレクター

サーバ

マーケティングデザイン

フロントネイティブ

Page 9: Amebaアプリ QAの歴史(サイバーエージェント関根様)

体制図Amebaアプリ メディアQC室 CAアドバンス

プロデューサ

ディレクター

デザイナー

エンジニア

関根

リーダー

リーダー

テスター

テスター

Page 10: Amebaアプリ QAの歴史(サイバーエージェント関根様)

自己紹介

Amebaアプリの紹介体制図

テストフロー

社内と社外テストの使い分け

CAアドバンスとの施策について検証における課題

メディアQC室の紹介今後の検証について

Page 11: Amebaアプリ QAの歴史(サイバーエージェント関根様)

テストフロー

仕様の共有

テスト項目書の作成

テスト端末の選定

テスト実施

不具合の起票・修正確認

リリース後の項目書見直し

上記フローを繰り返し行う

Page 12: Amebaアプリ QAの歴史(サイバーエージェント関根様)

仕様の共有

仕様の共有会を実施

GitHubEnterprise(以下GHE)上にIssueを作成QC室はGHEのIssue上から仕様の把握を実施

不明点などがあった場合は口頭やSlack上でやり取り

Page 13: Amebaアプリ QAの歴史(サイバーエージェント関根様)

ここでCheck!!〜仕様の共有〜

仕様の共有・把握はとても重要

見積もりを誤ってしまうと、テストに影響

実装途中でも良いのでapk・ipaファイルをもらって動作を確認する

Page 14: Amebaアプリ QAの歴史(サイバーエージェント関根様)

テスト項目書の作成

GoogleDocsを使って作成メイン機能ごとにシート分け

新機能に関しては独立したシートを作成

項目書は新しいバージョンになるたびに作成

Page 15: Amebaアプリ QAの歴史(サイバーエージェント関根様)

ここでCheck!!〜テスト項目書の作成〜

必ず開発者にレビューしてもらうように体制を見直し

テスト実施前にテスターにも共有

分岐がややこしい場合は必ず資料を作成

iOSとAndroidとで同じものを使用していたが、細部が異なっているため、ファイルを分割

Page 16: Amebaアプリ QAの歴史(サイバーエージェント関根様)

テスト端末の選定

端末シェアの高いものを選定

アプリのバージョンごとに端末を変えている

新OSが出た場合は、別チームに基本的な機能の確認をしてもらっている

Page 17: Amebaアプリ QAの歴史(サイバーエージェント関根様)

テスト実施

テストは本番環境で実施

Crashlytics・TestFlightを利用

帯域制限のテストにはCharlesを使用iOS/Androidともに並行してテストを実施

Page 18: Amebaアプリ QAの歴史(サイバーエージェント関根様)

ここでCheck!!〜テスト実施〜

まずは1端末で新項目→既存の順でテスト不具合を見つけるのが遅くなるとその分スケジュールに影響が出てしまう

開発チームにお願いして工数の節約を実施

再現性がなくても報告する

Page 19: Amebaアプリ QAの歴史(サイバーエージェント関根様)

不具合の起票修正確認

GHEにIssueをあげる必要に応じてラベルを付与

修正確認ができたら、DONEラベルを付与

修正確認時に再度不具合があった場合はReOpenアプリが落ちてしまう不具合の場合はログを添付

Page 20: Amebaアプリ QAの歴史(サイバーエージェント関根様)

ここでCheck!!〜不具合の起票修正確認〜

リリースに影響があるかどうかの判定

リリース強行などはしないように調整

Page 21: Amebaアプリ QAの歴史(サイバーエージェント関根様)

リリース後の項目見直し

リリース後1週間以内を目処に項目の見直し会を実施

新規項目についてテスト優先度を設定

新機能を各シートへと振り分ける

項目書で気になるところがあればブラッシュアップを実施する

Page 22: Amebaアプリ QAの歴史(サイバーエージェント関根様)

ここでCheck!!〜リリース後の項目見直し〜

KPTの洗い出しを項目見直しと同時に実施チーム・個人の振り返りに役立つ

テスターにも参加してもらう

Tryに関しては次回見直し会に必ずどうなったかを報告する

Page 23: Amebaアプリ QAの歴史(サイバーエージェント関根様)

自己紹介

Amebaアプリの紹介体制図

テストフロー

社内と社外テストの使い分け

CAアドバンスとの施策について検証における課題

メディアQC室の紹介今後の検証について

Page 24: Amebaアプリ QAの歴史(サイバーエージェント関根様)

社内と社外テストの使い分け

多数の端末を使用したテストを短期間に実施したい場合は、社外にテストを依頼

直近では、ブログ記事のネイティブ化実装時に依頼

社外テスターは、redmineにてチケット管理redmineのチケットをGHEのIssueにて不具合・質問を起票

Page 25: Amebaアプリ QAの歴史(サイバーエージェント関根様)

自己紹介

Amebaアプリの紹介体制図

テストフロー

社内と社外テストの使い分け

CAアドバンスとの施策について検証における課題

メディアQC室の紹介今後の検証について

Page 26: Amebaアプリ QAの歴史(サイバーエージェント関根様)

CAアドバンスとの施策について

Amebaアプリでは、リーダー1名テスター2名の3名体制でテストをしてもらっている

仕様書を作成してもらっている

メディアQC室の他のPRJも定期的(月に2回程度)に仕様書のレビューを実施

Page 27: Amebaアプリ QAの歴史(サイバーエージェント関根様)

自己紹介

Amebaアプリの紹介体制図

テストフロー

社内と社外テストの使い分け

CAアドバンスとの施策について検証における課題

メディアQC室の紹介今後の検証について

Page 28: Amebaアプリ QAの歴史(サイバーエージェント関根様)

検証における課題

突然の仕様変更

リリース遅延

ログ吐き出しの確認漏れ

STG環境での検証

Page 29: Amebaアプリ QAの歴史(サイバーエージェント関根様)

突然の仕様変更

実装段階で仕様変更が発生してしまう(これはしょうがない)情報の共有がチーム全体に行き渡らないことがある

その結果、iOS/Androidとで挙動が違ってしまっている(これは問題)GHE上の情報と実仕様が異なってしまうことが多々ある

Page 30: Amebaアプリ QAの歴史(サイバーエージェント関根様)

リリース遅延

アプリチームだけでなく、様々なチームと連携しているためリリースの遅延が出てしまう

不具合を発見してから、本番環境へのリリースまでの時間がどうしても長くなってしまう

連携が必要な箇所に関しては優先してチェックする体制をつくる

Page 31: Amebaアプリ QAの歴史(サイバーエージェント関根様)

ログ吐き出しの確認漏れ

ユーザの動向を把握するために任意のタイミングでログを吐き出しているがテストするのが難しい

Charlesを使用しての確認は可能だが、そもそもこれであっているかのどうかの確認が難しい

Page 32: Amebaアプリ QAの歴史(サイバーエージェント関根様)

STG環境での検証本番環境と異なっている部分があるため、STG環境では確認しきれない箇所があるその為、一部APIのレスポンスがダミーデータになってしまっている

STG環境の取り合いが発生している

Page 33: Amebaアプリ QAの歴史(サイバーエージェント関根様)

自己紹介

Amebaアプリの紹介体制図

テストフロー

社内と社外テストの使い分け

CAアドバンスとの施策について検証における課題

メディアQC室の紹介今後の検証について

Page 34: Amebaアプリ QAの歴史(サイバーエージェント関根様)

メディアQC室の紹介2016年7月より設立現在8サービスの検証を実施しているCAアドバンスや外部会社を使用して検証を実施

Page 35: Amebaアプリ QAの歴史(サイバーエージェント関根様)

PRJからの評価いつも細かいところまでチェックいただけて大変助かっている。詳細項目もかなり細かく網羅していただけているので、かなり助かっている。

担当者の変更があったため少し不安視していたのですが、引き継ぎやお休みでも開発側の足が止まることが一切なく非常に助かっています。

不明な部分は細かく確認して頂けたり、確認に特殊な操作が必要な場合も柔軟に対応してもらえてテストの質も高く感じている。

投稿周りとか、Amebaログイン、SNSログイン、非ログインで条件がとても複雑になってきていて、単体テストで網羅するのが厳しくなってきています。コアな機能に関してQC室の人が最後にチェックしていてくれるので、いつも安心してリリース出来ます。

Page 36: Amebaアプリ QAの歴史(サイバーエージェント関根様)

PRJからの要望CSと連携して、エスカレーションされた問い合わせの再現条件などを調査して欲しい

OSの足切りなどを横軸の知見を活かして提案していただけると嬉しいです

ユーザ目線で使ってみて使いにくいところとかがあったら教えて欲しい

Page 37: Amebaアプリ QAの歴史(サイバーエージェント関根様)

自己紹介

Amebaアプリの紹介体制図

テストフロー

社内と社外テストの使い分け

CAアドバンスとの施策について検証における課題

メディアQC室の紹介今後の検証について

Page 38: Amebaアプリ QAの歴史(サイバーエージェント関根様)

今後の検証について

テスト自動化をしたい

全項目は到底ムリなので一部項目のみ実施したい

Appiumを想定