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

なぜテストを自動化するのか

Sponsored · SiteGround - Reliable hosting with speed, security, and support you can count on. →

 なぜテストを自動化するのか

自動テストは単に仕組みやツールを導入しただけでは思ったような効果が得られないと考えています。そこで、自動テストの理解を深めてその恩恵を得られるように、テストを自動化するモチベーションを言語化してみました。

Avatar for Atsushi Okui

Atsushi Okui

September 24, 2026

More Decks by Atsushi Okui

Other Decks in Programming

Transcript

  1. 自動テストのレベル – システムテスト • すべての機能が揃った状態で実施されるテスト • 自動化はプロダクトの種類に応じて変わる • 定番のツールがある場合はそれが用いられる(ない場合は自作する) ◦

    Webシステムだとブラウザを操作するツールが定番 • 開発者が作成することもあるが、選任のメンバーが作成することもある • システム全体を検証できるが、さらに遅く、不安定な部分も多くなる ※ 文献によっては、UIテストやEnd to End(E2E)テストを扱っている場合もある
  2. 質とスピードの関係 パフォーマンス レベル 変更の リードタイム デプロイの頻度 変更時の 障害率 復旧までの 時間

    回答者の 割合 Elite 1日未満 オンデマンド 5% 1 時間未満 19% High 1日~1週間 1日1回~週1回 20% 1 日未満 22% Medium 1週間~1か月 週1回~月1回 10% 1 日未満 35% Low 1か月~6か月 月1回~6ヶ月に1回 40% 1 週間~1 か月 25% DORA Research: 2024 https://dora.dev/research/2024/
  3. 質とスピードの関係 パフォーマンス レベル 変更の リードタイム デプロイの頻度 変更時の 障害率 復旧までの 時間

    回答者の 割合 Elite 1日未満 オンデマンド 5% 1 時間未満 19% High 22% 127倍 182倍 8倍 2,293倍 Medium Low 35% 1か月~6か月 DORA Research: 2024 https://dora.dev/research/2024/ 月1回~6ヶ月に1回 40% 1 週間~1 か月 25%
  4. テスト自動化と組織のパフォーマンス Westrum推奨の 組織文化 職務満足度 テストの自動化 デプロイの自動化 継続的インテグレーション バージョン管理 ・・・ 継続的な

    デリバリ ソフトウェア デリバリの パフォーマンス 組織全体の パフォーマンス 帰属意識 修正作業 の減少 デプロイ関連 の負荷の軽減 LeanとDevOpsの科学 ”図A.1 本研究の全体の構成”(p.242)から抜粋 https://book.impress.co.jp/books/1118101029 バーンアウト の軽減
  5. テスト自動化のコスト • 学習コスト ◦ ◦ ◦ ◦ • • •

    ソフトウェアの品質やテストに関するスキル テスト自動化やソフトウェアエンジニアリングに関するスキル 自動化のためのツールやプラットフォームに関するスキル 製品の設計(テストの容易さ)に関するスキル 自動テストの作成と保守 適切な投資のための分析や計画 組織文化の醸成 自動化されたテストがその効果を発揮するには、単に自動化のツールを導入するだけ ではなく、効果的な運用のためのスキルや、継続するための取り組みが必要となる。
  6. まとめ • ソフトウェアデリバリーのスピードと品質が相関する • 組織のソフトウェアデリバリー能力は収益性、市場占有率、生産性といった競争優 位性をもたらす • 継続的なデリバリーのプラクティスであるテスト自動化は、組織全体のパフォーマン スを支えるプラクティスの1つ •

    自動化された信頼できるテストによって、高品質へのアプローチが後押しされる • テスト自動化は、それを実現するためのスキルや、持続性への投資によって、素早 く変化していくための力になる
  7. • • • • • • • 不確実性の高い時代において、テストは単に「仕様通り」を確認する工程ではなく、 価値の向上を目指すための活動と捉えられている 自動化されたテストは、CI/CDプロセスなどのプラクティスとともに、製品を素早く安

    全に提供するための構成要素になる 高いパフォーマンスを実現する組織は、スピードと品質が両立している 製品デリバリーの能力は、企業の業績(収益性、市場占有率、生産性)と関連が示 されている 開発者が主体となって、信頼できる自動テストを構成することが、製品デリバリーの パフォーマンスの予測材料となる テスト自動化はコストの削減ではなく、素早く変化を続ける力を得るための投資 たんにツールや仕組みを導入するのではなく、選択肢として適切に活用することが 重要
  8. 自己紹介 Atsushi Okui (@blue32a_jp) ソフトウェアエンジニア / Webアプリケーション エンジニア / PHPer

    関心:設計、コード品質、リファクタリング、テス ト、モデリング