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

E2Eテスト自動化の本質 - 品質と開発スピードを支えるテスト自動化時代へ / The Essence of E2E Test Automation

E2Eテスト自動化の本質 - 品質と開発スピードを支えるテスト自動化時代へ / The Essence of E2E Test Automation

CEDEC 2021 スポンサーセッション資料
https://cedec.cesa.or.jp/2021/session/detail/s60c83bd1df94c

---
ソフトウェア開発プロセスにおいては、アジャイル開発の普及が進み、さまざまな現場でスクラムが活用されるようになりました。DevOpsというキーワードを聞かない日はないぐらい、開発スピードと品質への関心は高まっています。

技術面でもCI/CDがSaaSとして提供されるようになり、誰でも簡単にビルド&リリースパイプラインを作れるようになりました。さらに、コンテナ技術が発達し、使い捨てのテスト環境も当たり前になってきています。

一方で、テストや品質保証(QA)はどのように変わってきたでしょうか?

テストや品質保証分野も、その他の技術領域に負けじとどんどん進化をし続けています。

その結果、「テストがボトルネックになりがち」や 「マニュアルテストのチームがコストセンターになってしまった」といったマンパワーの課題が解決に向かい、テスト自動化による開発スピードへの投資がはじまっています。

このセッションでは、アジャイル・DevOps時代におけるテストと品質について、最近のテスト自動化のトレンドや、技術を交えながら、テスト自動化の本質を議論します。

Dai Fujihara

August 26, 2021
Tweet

More Decks by Dai Fujihara

Other Decks in Programming

Transcript

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

    View Slide

  2. 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/

    View Slide

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

    View Slide

  4. 現状をとりまいているもの
    アジャイル・DevOps時
    代に突入
    ● イテレーティブ&インクリメ
    ンタル
    ● すばやいリリースとフィー
    ドバック
    ● 正しいものを正しく作りた

    アジャイル・DevOpsを
    支える技術の進化
    ● CI/CDサービスのコモディ
    ティ化
    ● Docker, k8s の急速な広
    がり
    ● クラウド環境の繁栄
    求められるアジャイル
    なテスト
    ● 従来からテストフェーズが
    ボトルネックになりがち
    ● アジャイルなテスティング
    の事例不足・マニュアル
    依存
    ● さてどうしよう?

    View Slide

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

    View Slide

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

    View Slide

  7. 継続的テストするしかない
    スプリントレビュー
    スプリントプランニング
    ふりかえり
    スプリント
    ここでも
    テスト





    仕様 設計 実装 テスト
    ここでも
    テスト
    ここでも
    テスト
    ここでも
    テスト
    たまに第三者検証
    フェーズ
    デザイン・プログラミング
    テスト・テスト自動化
    インフラ構築などあらゆる開発アクティビティ

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

  14. AIによる画面差分の検知

    View Slide

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

    ● プログラミングの経験が不要

    View Slide

  16. かんたんなデモ

    View Slide

  17. デスクトップアプリ

    View Slide

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

    View Slide

  19. APIテスト

    View Slide

  20. CLIによるローカル実行

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide