Slide 1

Slide 1 text

E2Eテスト自動化の本質 開発スピードと品質を支えるテスト自動化時代へ Dai Fujihara, mabl Inc. CEDEC 2021, Aug 24-26

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

Outline アジャイル・DevOps時代における テストと品質のトレンド テストツール弱点と進化 テスト自動化の本質

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

QAがボトルネックという問題 設定 コード 更新 API、依存関係

Slide 6

Slide 6 text

一言でいうと スプリントの最後に テストをしない。 そのためには? QAが最後の砦になっていませんか?

Slide 7

Slide 7 text

継続的テストするしかない スプリントレビュー スプリントプランニング ふりかえり スプリント ここでも テスト デ リ バ リ ! 仕様 設計 実装 テスト ここでも テスト ここでも テスト ここでも テスト たまに第三者検証 フェーズ デザイン・プログラミング テスト・テスト自動化 インフラ構築などあらゆる開発アクティビティ

Slide 8

Slide 8 text

Outline アジャイル・DevOps時代における テストと品質のトレンド テストツール弱点と進化 テスト自動化の本質

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

キャプチャリプレイ型の弱点と進化 弱点 ● イニシャルコストが高い ● UI変更に弱い(E2Eフレーム ワークも同じ) ● テストコードの作成コストが 高い ● テストコードや環境のメンテ ナンスコストが高い 進化 ● SaaS型でイニシャルコスト削減 ● AI/MLの活用で変化に対応 ● ノーコード化で運用コスト削減 ● 共通部品やローコードによって再 利用性や柔軟性の向上

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

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

Slide 13

Slide 13 text

AIがUI変更を検知してテストを自動修復

Slide 14

Slide 14 text

AIによる画面差分の検知

Slide 15

Slide 15 text

ノーコードでかんたんにテスト作成 ● mablトレーナー(Chrome拡張か デスクトップアプリ)がテスト作成や 修正サポート ● ひとつの動きをステップで記録 ● ステップを並べてシナリオとして管 理 ● プログラミングの経験が不要

Slide 16

Slide 16 text

かんたんなデモ

Slide 17

Slide 17 text

デスクトップアプリ

Slide 18

Slide 18 text

ローコードでかんたんにテスト作成 ● ローコードプログラミングも可能 ● IF文、関数化、変数も利用可能 ○ 例:パラメタ付き関数を作れ る「FLOWS」 ● …細かい操作もJSで対応可能

Slide 19

Slide 19 text

APIテスト

Slide 20

Slide 20 text

CLIによるローカル実行

Slide 21

Slide 21 text

Outline アジャイル・DevOps時代における テストと品質のトレンド テストツール弱点と進化 テスト自動化の本質

Slide 22

Slide 22 text

テスト自動化の本質 - テスト自動化設計は必須 ● OSSでもツールでも、テストを自動化し てメンテナンスしていくことは変わりない ● つまり、コストはかかる ● そのコストが低いか高いかは現場に よって異なる ● 単純作業であれば自動化で十分。ただ し、良い設計は「まだ」自動化できない

Slide 23

Slide 23 text

テスト自動化の本質 - 本当に必要なテストを作る ● 簡単に作れる ≒ E2Eが増えす ぎる ● 質の低いテストをたくさん作って も、品質に貢献しなかったり、コ ストが高くなったりしてしまう ● APIやUTへのカバレッジアップ が必要

Slide 24

Slide 24 text

mablによってカバレッジを最大化 Unit test Web E2E Integration (API testing)

Slide 25

Slide 25 text

テスト自動化の本質 - コスト削減から投資へ ● テストは品質向上を含めた開発 スピードの向上に移りつつある ● 自動化 ≒ コスト削減 と単純に 考えすぎると失敗しやすい ● なぜコスト削減をしたいのか? 削減したコストによって何をした いのか? ● 開発もテストも同じ投資対象

Slide 26

Slide 26 text

ローコード(ノーコード)とAIがもたらすもの 7X テスト作成のスピードUP テストカバレッジ テストの運用 リグレッションテスト 85% メンテコストの削減 80% テスト実行コストの削減

Slide 27

Slide 27 text

テスト自動化の本質 - 品質の民主化 “この文脈における「開発者」とは、 コードを生み出す仕事に 携わる人を指す。 たとえば、プログラマー、 QA、テスター、 ビジネスアナリストが含まれる” アジャイル開発 その他 すべて 開発 テスト 『Clean Agile』 Robert C. Martin著

Slide 28

Slide 28 text

”スピードと品質は両立できる” 『リーン開発の本質』 メアリー/トム・ポッペンディーク著

Slide 29

Slide 29 text

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