Slide 1

Slide 1 text

© RecoChoku Co.,Ltd. Proprietary and Confidential 自動テストを社内へ浸透させた話 1

Slide 2

Slide 2 text

© RecoChoku Co.,Ltd. Proprietary and Confidential QAエンジニア@株式会社レコチョク 清崎 康史(Yasufumi Kiyosaki) 職歴: 前職ではECサイトの立ち上げから保守運用を担当 2006年にレコチョクに入社、音楽配信サービスの開発PMなど経て 現在QA組織をリードしている 自己紹介

Slide 3

Slide 3 text

© RecoChoku Co.,Ltd. Proprietary and Confidential レコチョクQAの体制 独立したQA組織がプロダクトを横断的にサポート プロダクトA QAチーム プロダクトB プロダクトC プロダクトX

Slide 4

Slide 4 text

© RecoChoku Co.,Ltd. Proprietary and Confidential 取り組み事例 社内で取り組んだ内容を一部紹介 • Android/iOSアプリの自動テスト本導入 • スクラム開発と並走 取り組み

Slide 5

Slide 5 text

© RecoChoku Co.,Ltd. Proprietary and Confidential 取り組み事例 • Android/iOSアプリの自動テスト本導入 • スクラム開発と並走 取り組み

Slide 6

Slide 6 text

© RecoChoku Co.,Ltd. Proprietary and Confidential Android/iOSアプリの自動テスト本導入 • 繰り返し実施が見込まれるプロダクトに対して、導入効果は得られる • ツールの使い勝手や安定性が高く、実行スピードも申し分ない 目的 効果 効率アップ 自動テストは同時並列実行も可能であるため、検証時の試算 よりも数倍の実行スピードは得られる コスト面 手動テストよりも初期コストはかかるが、その後のテスト実行 コストは小さくなっていく カバレッジ 増加 繰り返し実施可能 人的リソースを気にせずテストカバレッジ維持してリスク軽減 することが実現できる MagicPodを採用した理由(PoCの評価)

Slide 7

Slide 7 text

© RecoChoku Co.,Ltd. Proprietary and Confidential スプリント後半の回帰テスト負荷軽減を実現 • 実⾏速度 同じ内容のテストをAndroid OS7バージョンを⾃動と⼿動で実⾏した 場合の実⾏⼯数の⽐較は・・・ ⼿動で約 40⼈⽇かかる作業が⾃動では 2⼈⽇で実施完了 31 31 4 40 2 0 10 20 30 40 50 60 70 80 ⼿動テスト ⾃動テスト ⾃動テストと⼿動テスト⽐較(⼯数/⼈⽇) テスト設計 ⾃動テスト実装 テスト実⾏ 設計工数は自動 と手動で共通で あるため同じ工 数を積み上げ 人日

Slide 8

Slide 8 text

© RecoChoku Co.,Ltd. Proprietary and Confidential 取り組み事例 • Android/iOSアプリの自動テスト本導入 • スクラム開発と並走 取り組み

Slide 9

Slide 9 text

© RecoChoku Co.,Ltd. Proprietary and Confidential スクラム開発と並走 • 開発と並走してテスト設計とテスト実装を繰り返す – スプリントで追加される機能は手動でテスト – Doneした機能を作成済みのテストケースへ差分として修正/積み重ねる Dev QA スプリント1 スプリント2 スプリント5 スプリント1 テスト設計 スプリント2 テスト設計 スプリント5 テスト設計 スプリント1 自動テスト実装 スプリント1 手動テスト 実施 スプリント2 手動テスト 実施 スプリント4 自動テスト実装 スプリント5 テスト実施 ・・・ リリース 候補 自動テスト 探索的テスト ・・・ ・・・ ・・・ 某スクラム開発のテストサイクル

Slide 10

Slide 10 text

© RecoChoku Co.,Ltd. Proprietary and Confidential 続けた結果 ü 開発と並走して自動テストを保守・実行を した実績は積み上がってきた ü 導入効果を実感することができ開発者の 協力を得られるようになった

Slide 11

Slide 11 text

© RecoChoku Co.,Ltd. Proprietary and Confidential 開発者の協力(こんな感じ) 自動テストを活用して品質を向上しようという同じベクトルを 向いて会話ができるようになった。

Slide 12

Slide 12 text

© RecoChoku Co.,Ltd. Proprietary and Confidential しかし・・・自動テスト導入に気を取られ 自動テストできないケースを疎かにしてしまった

Slide 13

Slide 13 text

© RecoChoku Co.,Ltd. Proprietary and Confidential 対策:観点リスト活用 自動テストできない(向いていない)観点をまとめた。 手動で実行する際の観点ガイドにすることで、範囲から 漏れることを予防できた。 参考

Slide 14

Slide 14 text

© RecoChoku Co.,Ltd. Proprietary and Confidential 省察 手動テスト 自動テスト その他 • どこまでの範囲を自動テストするか手動テストするか曖昧であった。 (HWの物理的な操作を伴うものや楽曲・動画再生の妥当性など) • 物理的な操作や使用性などは人的に行う必要がある、適切に手段を使い分け バランス良くテストしよう! 機能テスト(エンハンス機能) 探索的テスト E2Eテスト/ リグレッション 移植性 エッジケース UXリサーチ

Slide 15

Slide 15 text

© RecoChoku Co.,Ltd. Proprietary and Confidential まとめ • アプリ自動テストの導入 クラウドサービスを採用して効率の向上、コスト面、カバレッジ の増加をクリアできた。 • スクラム開発と並走 スプリントで追加される機能は手動でテストしてDoneの判断を 行った上で自動テストケースへ差分として修正/積み重ねる。 • 自動テストの範囲と手動テストの範囲 どこまでの範囲を自動テストするか手動テストするか? 物理的な操作や外部品質などは人的に行う必要がある。