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

アジャイル・DevOps時代のテスト自動化戦略 - 輝く未来を抱きしめて! 現場から学ぶベストプラクティス / Test Automation Strategy in Agile and DevOps Era

アジャイル・DevOps時代のテスト自動化戦略 - 輝く未来を抱きしめて! 現場から学ぶベストプラクティス / Test Automation Strategy in Agile and DevOps Era

「いま抱えているテストの問題は何ですか?」

私はいつも最初にお客さまにこう訪ねています。「QAフェーズがボトルネックになってしまっている」とおっしゃる方もいれば「自動テストのメンテナンスが大変」とおっしゃる方もいます。現場によって問題は様々です。

このセッションでは、USや日本における具体的なテスト自動化のケーススタディを提供させていただき、成功・失敗事例をとおして、テスト自動化戦略のベストプラクティスを議論したいと思います。ご自身の現場ですぐに活かせるアイデアをぜひお持ち帰りください。

ツールと技術編はこちら: https://speakerdeck.com/daipresents/tech-and-tool-for-testing-and-quality-assurance-in-agile-and-devops-era

A760a90c9afd981004343b9861f1e8b4?s=128

Dai Fujihara

March 30, 2021
Tweet

Transcript

  1. アジャイル・DevOps時代 テスト自動化戦略 輝く未来を抱きしめて! 現場から学ぶベストプラクティス Dai Fujihara, mabl Inc., Experience Tour

    in Japan, March 30, 2021
  2. About Me 藤原 大 Dai Fujihara mabl Inc. Japan Lead

    • 楽天: EM、アジャイルコーチ • 某SIer: Javaエンジニア • 活動: ◦ 『アジャイル開発とスクラム』寄稿 ◦ 『リーン開発 現場』翻訳 ◦ Twitter: @daipresents • 現在: 独立してスーパーアジャイルコーチ ◦ CTOやEMへ コーチング ◦ 開発組織 技術顧問(プロセス、 QAなど) ◦ mabl 日本顧客向け業務全般担当 • メルカリ: エンジニアリングマネージャ( EM) ◦ Software Engineer in Test(SET) ◦ テスト自動化、QA組織立ち上げ
  3. 私にできること アジャイルコーチ 変化に強い俊敏な開発プロセスを構築するためア ジャイルコーチとして現場に入って コミットメントし ます。 アジャイルな開発組織づくり プロ エンジニアリングマネージャ経験を活かし、 部署

    ロードマップ作成、KPI運用、国内外 採用 活動、育成、目標設定や評価など 開発組織運 営を支援します。 品質・テスト自動化コンサルティン グ ボトルネックになりがちな QA(品質保証) 課題解決をサポートします。 QA自動化ツール導入 mablなど テスト自動化ツール 導入や運用を 支援します。 リーダー向けコーチング (メンタリング) 1on1を通したコーチングにより 成長や課題解決 「気づき」を促します。 根本原因解決 ソフトウェア開発に関するお悩み なんでもご相談ください。
  4. 現状をとりまいているも アジャイル・DevOps時 代に突入 イテレーティブ&インクリメン タル す やいリリースとフィード バック 正しいも を正しく作りたい

    アジャイル・DevOpsを 支える技術 進化 CI/CDサービス コモディティ 化 Docker, k8s 急速な広がり クラウド環境 繁栄 求められるアジャイル なテスト 従来からテストフェーズがボト ルネックになりがち アジャイルなテスティング 事例不足・マニュアル依存 さてどうしよう?
  5. アジャイル・DevOps時代 テスト自動化戦略 現場から学ぶベストプラクティス Dai Fujihara, mabl Inc., Experience Tour in

    Japan, March 30, 2021
  6. ゴール (Why) 計画 (When) 自動化 (How) mabl (What)

  7. ゴールを問いかけてみよう • 現状、テストで一番困っているこ と なんですか? • mablでどうなることを期待され てますか? • 成功

    ため 指標として何があ りますか?
  8. 品質ヒアリングシート https://speakerdeck.com/daipresents/quality-analyzing-sheet

  9. テスト 現状分析表 https://speakerdeck.com/daipresents/test-status-analysis-table

  10. ゴール (Why) 計画 (When) 自動化 (How) mabl (What)

  11. オンボーディングタイムライン例 キックオフと ゴール設定 基本 & 応用 トレーニング じめて テスト作成と Plan設定

    完了 CI/CD統合 ワークスペースと チームセットアップ完了 利用手順など 整備 Planを使った定期テスト 実行、結果やインサイト レビュー、テスト作成 継 続 四半期レビュー 30日 60日 90日 成功に向けてテスト作成 継続とメンテナンス
  12. ベストプラクティス ハンズオン 観点 一つ、小さく作る(1シナリオ5分以内)、遷移や表示ごとにア サート、部品を作る、一意な文字を入力に使う、大切なも だけアサー ト、スリープで なく〜まで待つ、分岐やループやXpathやJS 最低 限、コメントを書こう、ラベルで管理、CI/CDに組み込む・・・などなど

    mablでE2Eテストを自動化するため ベストプラクティス 2020年版 https://daipresents.com/2020/test-automation-practice/
  13. ベストプラクティス例: コメントとアノテーション テスト チーム作業 • どうやってナレッジを共有するか? チームや組織 人数増加にともない 必ず直面する課題 •

    引き継ぎなども考慮が必要 • テストケースに残せ それが仕様に なり、ドキュメントになる
  14. テスト自動化計画 『リーン開発 現場』 18.5 ステップ 3:優先順位をつけて並べ替える より 計画 優先順位と言える •

    目的ドリブン ◦ スモーク > リグレッション > API・・・と目的で優先 順位をつける ◦ リグレッション 細かく分ける ▪ ハッピーパス ▪ ハッピーパス+例外系 • データドリブン ◦ ユーザがよく行う行動をもとに優先順位を つける • 価値ドリブン ◦ 機能や画面をお金に換算して優先順位を つける • などなど テストケース リスク 手動テスト コスト 自動化 コスト 口座 凍結 高 5時間 0.5ポイント 振込 確認 高 3時間 1ポイント 取引履歴 中 3時間 1ポイント 検索結果 並べ替え 中 2時間 8ポイント お金 入金 高 1.5時間 1ポイント セキュリティアラート 高 1時間 13ポイント 新規ユーザー登録 低 0.5時間 3ポイント デザイン変更 低 0.5時間 20-ポイント
  15. テスト自動化計画 よくあるやりかた(難しい) アイデア(確認しながら進む) 完全自動 難易度が一 気に上る で目指さな い こ あたりでスモー

    クテスト完了 こ あたりでリグレッション(ハッ ピーパス)完了
  16. ゴール (Why) 計画 (When) 自動化 (How) mabl (What)

  17. テスト自動化設計 小さく、大量に、並列で • 機械 小さいも を大量に並列処理する が得意 • ケース 5分以内。ステップ数

    25~50 以内 • 共通部品を作る。2回やるなら部品にす る • 並列実行できるケースを作る(テスト 独 立性) 昔 今 時間 並列数
  18. テストしやすいシステムへ リファクタリング テスタブルであること • テスト用API 整備(ユーザ作成、特定処 理 データ準備など) • テストしにくい(操作しにくい)仕様

    改善 提案(オンマウス、hoverなど) • テスト範囲 分割(Mockやスタブ) • 原因特定しやすいログ設計
  19. 自動テストケース管理 Excel / Spreadsheet最強 • 観点レベルで一覧化 ◦ 手動・自動まとめて管理 ◦ マニュアルケース

    別Excelに作ってリン クする ◦ 自動テストもmablにリンクだけ ◦ 現時点でベストプラクティスだと思う • 機能別、優先度別、観点別でテストにラベリング
  20. 自動テスト モニタリング

  21. ゴール (Why) 計画 (When) 自動化 (How) mabl (What)

  22. インテリジェントなテスト自動化 • クラウド/SaaSで初期コスト低 • 簡単操作でテスト 作成や修正可能 • AIでテストを自動修復、自動画面分析 • クロスブラウザ対応、並列/同時実行、など

    クラウドならで 恩恵多数 • CI/CDへ 組み込みも簡単
  23. これまでやってきたこと テストケース作成、自動テストコード実装、自動テスト リファクタリング、テスト実行環 境構築、クロスブラウザ環境構築、並列・直列実行サポート、テスト結果データ基盤構 築、テスト結果レポート作成、定期実行基盤構築(CI)、CI/CD連携実装、通知機能実 装、画面崩れ検知、JSエラー検知、ネットワークエラー検知、APIテスト実行環境構築、 モバイルアプリテスト環境構築・・・

  24. これからやること テストケース作成、自動テストコード実装、自動テスト リファクタリング、テスト実行環 境構築、クロスブラウザ環境構築、並列・直列実行サポート、テスト結果データ基盤構 築、テスト結果レポート作成、定期実行基盤構築(CI)、CI/CD連携実装、通知機能実 装、画面崩れ検知、JSエラー検知、ネットワークエラー検知、APIテスト実行環境構築、 モバイルアプリテスト環境構築・・・

  25. テスト自動化 or 大人数 マンパワー がん ってコード書くか or ツールに頼るか ゴールできるならどっちでもOK

  26. テスト自動化 ケーススタディ

  27. ゴール: 自信を持ってデプロイ 時間を削減し自身 生産性を高める • まず、テスト 作成コスト 削減 • そして、より早期にバグ発見する体

    制を作った • 結果的に、自信を持ってデプロイでき るようになり、本番トラブルが減った (機会損失も減少) こ 継続的なテスト 実施とテスト作 成 時間を 70%短縮することによ り、Piece of Cakeチーム 新しい 機能とバグ修正をより迅速に実施で きるよ うになった 増原賢秀 テスト自動化エンジニア
  28. ゴール:QAを活動にする 「QAをチームで なく、活動に」アペルザ QAへ 取り組み https://www.wantedly.com/companies/aperza/post_articles/298837 テスト自動化 次 世界へ •

    テスト自動化 改善を続けてき た • 結果的に、テストという負担が解 消された • だから、テスト以外 活動に進 めるようになった
  29. “We have successfully reduced costs and time by 60%” ゴール:ボトルネック

    解消 変化に強いテスト自動化 実現 • 開発初期 変更が多い • そこで、マニュアルテスターでも簡単 に自動化できるツールを選ぶ • 結果的に、実装から本番へ リード タイムを60%削減 Saori Egawa QA Specialist
  30. ゴール: テスト作成・メンテコスト 削減 コーディング コストを削減 • テスト 作成・メンテコストが高かった • そこで、ツールでコストを下げた

    • 結果的に80%以上 コスト削減ができ た • 金額的にも2年2400万ぐらい 削減見 込み “Using hiring and traditional automation tools like Selenium, it would have taken two years and $240k to accomplish what mabl helped ITS do in just four months at 80% cost savings.” Samar Khan VP, Software Development and DevOps
  31. ゴール: 毎日リリースしても品質を守る 日に6~7回 デプロイ環境で QA • Seleniumだと辛い問題 • 作成コスト削減 ツールが得意

    • 初期コストもSaaSで解決 • 並列実行などスケールも簡単 “Mabl enabled us to go from 0% to 90% test coverage in a few short months.” Thomas Noë QA Architect
  32. “Moving to mabl allowed us to cut direct costs and

    scale up significantly, resulting in about 70% cost savings.” ゴール: ツール 運用コストを下げる ツールを捨ててツールを選ぶ • ツール 運用コストが問題 • mablに乗り換えて70% 作成コスト削 減 • マンパワーでなんとかする文化も捨てる Harrison Hunter CTO
  33. ゴール: ミッションクリティカルなシステム テスト自動化 2週間スプリントに追随するテスト • テスト 作成 しやすさを重視 • 自己修復機能でメンテナンスコストも下

    げる • 結果的に、新機能 テストにかかる時間 が短縮され、カバレッジ向上にもつな がった “Before mabl, we could scramble and get the vendor to resolve every major issue before it hit production - but just living on the edge like that is not the way to do things” Gary Gann VP and Domain Owner for Loss Sensitive IT
  34. ゴール: SaaSでクロスブラウザ 恩恵を得る 専門的な仕事をSaaSにまかせる • IEサポート コストが高かった • ブラウザ固有 専門知識も必要

    • SaaSでクロスブラウザ 問題を解決 • CI/CDにも組み込み高速で簡単なリ グレッションテストを実施 “mabl’s user-friendly interface and intuitive automation tools were vital to promoting QA throughout the organization.” Joe Wong Engineering Manager
  35. こ セッション まとめ ゴール 設定 • 1ヶ月目、2ヶ月目、 3ヶ月目 ゴールを 立てる

    • 現状を整理して問 題を見つける ◦ プロセスから ◦ テストから テスト 自動化 • SaaS 特徴を活か す(小さく、並列に) • テストしやすいシス テムへ育てる • 自動テスト結果を継 続してモニタリングす る 計画づくり • オンボーディングやハ ンズオンで成功率を 高める • ベストプラクティスを 活かす • 優先順位を明確にす る
  36. たいせつなこと テスト自動化「だけ」に意味 ない • ほしい 結果を伴うゴール • 簡単にできるようになった ≒ 簡

    単に失敗してしまう(自戒 意味 も込めて) • 自動化という活動を自分ごとに する テスト自動化でスピードに投資する • 人や時間 削減 間違えやす い(なんでだろう ?) • スピード、生産性や品質をいか に高め続けられるか • そ ために自動化 必須
  37. Thank you very much 月次ウェビナー開催中! 「探索的テスト」「テスト自動化」「次世代QA 組織」といったテーマをもとに「アジャイル ・DevOps時代 テストや品質保証」を目指 すウェブナーです。

    今後も、さまざまなトピックや、そ 道 プロ フェッショナルにご登壇いただく予定です。 https://mabl-japan.connpass.com 今すぐできる2週間 無料トライアル! 「セッション見たよ」でさらに2週間(合計1ヶ月!) トライアルプレゼント デモリクエストも大歓迎! 技術トレンドや実事例をまじえたデモMTGもお気 軽にどうぞ! https://www.mabl.com/japan