Upgrade to Pro — share decks privately, control downloads, hide ads and more …

自動テストを社内へ浸透させた話

 自動テストを社内へ浸透させた話

Yasufumi Kiyosaki

July 18, 2023
Tweet

Other Decks in Business

Transcript

  1. © RecoChoku Co.,Ltd. Proprietary and Confidential QAエンジニア@株式会社レコチョク 清崎 康史(Yasufumi Kiyosaki)

    職歴: 前職ではECサイトの立ち上げから保守運用を担当 2006年にレコチョクに入社、音楽配信サービスの開発PMなど経て 現在QA組織をリードしている 自己紹介
  2. © RecoChoku Co.,Ltd. Proprietary and Confidential Android/iOSアプリの自動テスト本導入 • 繰り返し実施が見込まれるプロダクトに対して、導入効果は得られる •

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

    OS7バージョンを⾃動と⼿動で実⾏した 場合の実⾏⼯数の⽐較は・・・ ⼿動で約 40⼈⽇かかる作業が⾃動では 2⼈⽇で実施完了 31 31 4 40 2 0 10 20 30 40 50 60 70 80 ⼿動テスト ⾃動テスト ⾃動テストと⼿動テスト⽐較(⼯数/⼈⽇) テスト設計 ⾃動テスト実装 テスト実⾏ 設計工数は自動 と手動で共通で あるため同じ工 数を積み上げ 人日
  4. © RecoChoku Co.,Ltd. Proprietary and Confidential スクラム開発と並走 • 開発と並走してテスト設計とテスト実装を繰り返す –

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

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

    の増加をクリアできた。 • スクラム開発と並走 スプリントで追加される機能は手動でテストしてDoneの判断を 行った上で自動テストケースへ差分として修正/積み重ねる。 • 自動テストの範囲と手動テストの範囲 どこまでの範囲を自動テストするか手動テストするか? 物理的な操作や外部品質などは人的に行う必要がある。