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 full-size 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 full-size slide

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

    View full-size slide

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

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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





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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

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

    View full-size slide

  16. かんたんなデモ

    View full-size slide

  17. デスクトップアプリ

    View full-size slide

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

    View full-size slide

  19. APIテスト

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide

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

    View full-size slide