Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

About Me 藤原 大 Dai Fujihara mabl Inc. Japan Lead ● 楽天: EM、アジャイルコーチ ● 某SIer: Javaエンジニア ● 活動: ○ 『アジャイル開発とスクラム』寄稿 ○ 『リーン開発 現場』翻訳 ○ Twitter: @daipresents ● 現在: 独立してスーパーアジャイルコーチ ○ CTOやEMへ コーチング ○ 開発組織 技術顧問(プロセス、 QAなど) ○ mabl 日本顧客向け業務全般担当 ● メルカリ: エンジニアリングマネージャ( EM) ○ Software Engineer in Test(SET) ○ テスト自動化、QA組織立ち上げ

Slide 3

Slide 3 text

私にできること アジャイルコーチ 変化に強い俊敏な開発プロセスを構築するためア ジャイルコーチとして現場に入って コミットメントし ます。 アジャイルな開発組織づくり プロ エンジニアリングマネージャ経験を活かし、 部署 ロードマップ作成、KPI運用、国内外 採用 活動、育成、目標設定や評価など 開発組織運 営を支援します。 品質・テスト自動化コンサルティン グ ボトルネックになりがちな QA(品質保証) 課題解決をサポートします。 QA自動化ツール導入 mablなど テスト自動化ツール 導入や運用を 支援します。 リーダー向けコーチング (メンタリング) 1on1を通したコーチングにより 成長や課題解決 「気づき」を促します。 根本原因解決 ソフトウェア開発に関するお悩み なんでもご相談ください。

Slide 4

Slide 4 text

現状をとりまいているも アジャイル・DevOps時 代に突入 イテレーティブ&インクリメン タル す やいリリースとフィード バック 正しいも を正しく作りたい アジャイル・DevOpsを 支える技術 進化 CI/CDサービス コモディティ 化 Docker, k8s 急速な広がり クラウド環境 繁栄 求められるアジャイル なテスト 従来からテストフェーズがボト ルネックになりがち アジャイルなテスティング 事例不足・マニュアル依存 さてどうしよう?

Slide 5

Slide 5 text

アジャイル・DevOps時代 テスト自動化戦略 現場から学ぶベストプラクティス Dai Fujihara, mabl Inc., Experience Tour in Japan, March 30, 2021

Slide 6

Slide 6 text

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

Slide 7

Slide 7 text

ゴールを問いかけてみよう ● 現状、テストで一番困っているこ と なんですか? ● mablでどうなることを期待され てますか? ● 成功 ため 指標として何があ りますか?

Slide 8

Slide 8 text

品質ヒアリングシート https://speakerdeck.com/daipresents/quality-analyzing-sheet

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

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

Slide 11

Slide 11 text

オンボーディングタイムライン例 キックオフと ゴール設定 基本 & 応用 トレーニング じめて テスト作成と Plan設定 完了 CI/CD統合 ワークスペースと チームセットアップ完了 利用手順など 整備 Planを使った定期テスト 実行、結果やインサイト レビュー、テスト作成 継 続 四半期レビュー 30日 60日 90日 成功に向けてテスト作成 継続とメンテナンス

Slide 12

Slide 12 text

ベストプラクティス ハンズオン 観点 一つ、小さく作る(1シナリオ5分以内)、遷移や表示ごとにア サート、部品を作る、一意な文字を入力に使う、大切なも だけアサー ト、スリープで なく〜まで待つ、分岐やループやXpathやJS 最低 限、コメントを書こう、ラベルで管理、CI/CDに組み込む・・・などなど mablでE2Eテストを自動化するため ベストプラクティス 2020年版 https://daipresents.com/2020/test-automation-practice/

Slide 13

Slide 13 text

ベストプラクティス例: コメントとアノテーション テスト チーム作業 ● どうやってナレッジを共有するか? チームや組織 人数増加にともない 必ず直面する課題 ● 引き継ぎなども考慮が必要 ● テストケースに残せ それが仕様に なり、ドキュメントになる

Slide 14

Slide 14 text

テスト自動化計画 『リーン開発 現場』 18.5 ステップ 3:優先順位をつけて並べ替える より 計画 優先順位と言える ● 目的ドリブン ○ スモーク > リグレッション > API・・・と目的で優先 順位をつける ○ リグレッション 細かく分ける ■ ハッピーパス ■ ハッピーパス+例外系 ● データドリブン ○ ユーザがよく行う行動をもとに優先順位を つける ● 価値ドリブン ○ 機能や画面をお金に換算して優先順位を つける ● などなど テストケース リスク 手動テスト コスト 自動化 コスト 口座 凍結 高 5時間 0.5ポイント 振込 確認 高 3時間 1ポイント 取引履歴 中 3時間 1ポイント 検索結果 並べ替え 中 2時間 8ポイント お金 入金 高 1.5時間 1ポイント セキュリティアラート 高 1時間 13ポイント 新規ユーザー登録 低 0.5時間 3ポイント デザイン変更 低 0.5時間 20-ポイント

Slide 15

Slide 15 text

テスト自動化計画 よくあるやりかた(難しい) アイデア(確認しながら進む) 完全自動 難易度が一 気に上る で目指さな い こ あたりでスモー クテスト完了 こ あたりでリグレッション(ハッ ピーパス)完了

Slide 16

Slide 16 text

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

Slide 17

Slide 17 text

テスト自動化設計 小さく、大量に、並列で ● 機械 小さいも を大量に並列処理する が得意 ● ケース 5分以内。ステップ数 25~50 以内 ● 共通部品を作る。2回やるなら部品にす る ● 並列実行できるケースを作る(テスト 独 立性) 昔 今 時間 並列数

Slide 18

Slide 18 text

テストしやすいシステムへ リファクタリング テスタブルであること ● テスト用API 整備(ユーザ作成、特定処 理 データ準備など) ● テストしにくい(操作しにくい)仕様 改善 提案(オンマウス、hoverなど) ● テスト範囲 分割(Mockやスタブ) ● 原因特定しやすいログ設計

Slide 19

Slide 19 text

自動テストケース管理 Excel / Spreadsheet最強 ● 観点レベルで一覧化 ○ 手動・自動まとめて管理 ○ マニュアルケース 別Excelに作ってリン クする ○ 自動テストもmablにリンクだけ ○ 現時点でベストプラクティスだと思う ● 機能別、優先度別、観点別でテストにラベリング

Slide 20

Slide 20 text

自動テスト モニタリング

Slide 21

Slide 21 text

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

Slide 22

Slide 22 text

インテリジェントなテスト自動化 ● クラウド/SaaSで初期コスト低 ● 簡単操作でテスト 作成や修正可能 ● AIでテストを自動修復、自動画面分析 ● クロスブラウザ対応、並列/同時実行、など クラウドならで 恩恵多数 ● CI/CDへ 組み込みも簡単

Slide 23

Slide 23 text

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

Slide 24

Slide 24 text

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

Slide 25

Slide 25 text

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

Slide 26

Slide 26 text

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

Slide 27

Slide 27 text

ゴール: 自信を持ってデプロイ 時間を削減し自身 生産性を高める ● まず、テスト 作成コスト 削減 ● そして、より早期にバグ発見する体 制を作った ● 結果的に、自信を持ってデプロイでき るようになり、本番トラブルが減った (機会損失も減少) こ 継続的なテスト 実施とテスト作 成 時間を 70%短縮することによ り、Piece of Cakeチーム 新しい 機能とバグ修正をより迅速に実施で きるよ うになった 増原賢秀 テスト自動化エンジニア

Slide 28

Slide 28 text

ゴール:QAを活動にする 「QAをチームで なく、活動に」アペルザ QAへ 取り組み https://www.wantedly.com/companies/aperza/post_articles/298837 テスト自動化 次 世界へ ● テスト自動化 改善を続けてき た ● 結果的に、テストという負担が解 消された ● だから、テスト以外 活動に進 めるようになった

Slide 29

Slide 29 text

“We have successfully reduced costs and time by 60%” ゴール:ボトルネック 解消 変化に強いテスト自動化 実現 ● 開発初期 変更が多い ● そこで、マニュアルテスターでも簡単 に自動化できるツールを選ぶ ● 結果的に、実装から本番へ リード タイムを60%削減 Saori Egawa QA Specialist

Slide 30

Slide 30 text

ゴール: テスト作成・メンテコスト 削減 コーディング コストを削減 ● テスト 作成・メンテコストが高かった ● そこで、ツールでコストを下げた ● 結果的に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

Slide 31

Slide 31 text

ゴール: 毎日リリースしても品質を守る 日に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

Slide 32

Slide 32 text

“Moving to mabl allowed us to cut direct costs and scale up significantly, resulting in about 70% cost savings.” ゴール: ツール 運用コストを下げる ツールを捨ててツールを選ぶ ● ツール 運用コストが問題 ● mablに乗り換えて70% 作成コスト削 減 ● マンパワーでなんとかする文化も捨てる Harrison Hunter CTO

Slide 33

Slide 33 text

ゴール: ミッションクリティカルなシステム テスト自動化 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

Slide 34

Slide 34 text

ゴール: 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

Slide 35

Slide 35 text

こ セッション まとめ ゴール 設定 ● 1ヶ月目、2ヶ月目、 3ヶ月目 ゴールを 立てる ● 現状を整理して問 題を見つける ○ プロセスから ○ テストから テスト 自動化 ● SaaS 特徴を活か す(小さく、並列に) ● テストしやすいシス テムへ育てる ● 自動テスト結果を継 続してモニタリングす る 計画づくり ● オンボーディングやハ ンズオンで成功率を 高める ● ベストプラクティスを 活かす ● 優先順位を明確にす る

Slide 36

Slide 36 text

たいせつなこと テスト自動化「だけ」に意味 ない ● ほしい 結果を伴うゴール ● 簡単にできるようになった ≒ 簡 単に失敗してしまう(自戒 意味 も込めて) ● 自動化という活動を自分ごとに する テスト自動化でスピードに投資する ● 人や時間 削減 間違えやす い(なんでだろう ?) ● スピード、生産性や品質をいか に高め続けられるか ● そ ために自動化 必須

Slide 37

Slide 37 text

Thank you very much 月次ウェビナー開催中! 「探索的テスト」「テスト自動化」「次世代QA 組織」といったテーマをもとに「アジャイル ・DevOps時代 テストや品質保証」を目指 すウェブナーです。 今後も、さまざまなトピックや、そ 道 プロ フェッショナルにご登壇いただく予定です。 https://mabl-japan.connpass.com 今すぐできる2週間 無料トライアル! 「セッション見たよ」でさらに2週間(合計1ヶ月!) トライアルプレゼント デモリクエストも大歓迎! 技術トレンドや実事例をまじえたデモMTGもお気 軽にどうぞ! https://www.mabl.com/japan