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

開発に寄りそう自動テストの実現

 開発に寄りそう自動テストの実現

Avatar for Hiroki Iseri

Hiroki Iseri

December 05, 2025
Tweet

More Decks by Hiroki Iseri

Other Decks in Programming

Transcript

  1. 自己紹介 ⚫経歴 • 開発者、テストエンジニア、コンサルタント、QAエンジニアとさまざまな立場 でさまざまなプロダクトのソフトウェアテスト業務に従事 • 今回はそこでの経験則を解説します • 現在は車メーカでQA/テストテックリード、品質マネジメントアーキテクト担当 •

    JSTQB技術委員、テスト設計コンテストU30クラス初代審査委員長 ⚫主な著作 • 「ソフトウェアテスト徹底指南書」 「シフトレフトテストを支える現代的なテスト設計」 「システムテスト自動化標準ガイド」(共訳)など 2
  2. 自動テストの作成・実行は、開発と並走するか否かで 様変わりする ⚫開発と並走する自動テスト • PBI、ユーザーストーリなど細分化した開発単位ごとに: • 開発と一緒に・並行してテストを作成 • 動く対象ができ次第、テストを継続実施 •

    テスト合格をもって対象の開発完了 • 例:テスト駆動開発 ⚫開発から独立した自動テスト • 設計・実装から独立して自動テストを作成・実行 • 開発工程が終わってから、テスト工程として実行 • 例:テスト専任チーム担当のシステムテストでの自動テスト 4
  3. テストレベルと自動テストの併走化の関係 5 システムテスト 統合テスト ユニットテスト 開発と並走して自動テストを 作成・実行 開発から独立して自動テストを 作成・実行 テストレベルの

    粒度の細かさ ユニットテストや細粒度の統合テストでは 併走化がすでに普及している 「ここの併走化も広げよう」が 本講演のテーマ
  4. ユーザーストーリーベース開発での受け入れテスト駆動開発 7 ユーザーストーリの開発 受け入れテストの活動 ユーザーストーリ仕様の 作成と洗練 ユーザーストーリの 開発 仕様・受け入れ基準としての 受け入れテストの

    作成と洗練 受け入れテストの 改善と実行 (継続的に実行し、 合格を目指す) プロダクトバックログ の作成 リファインメント 開発スプリント中の 開発活動
  5. 自動テストを開発と併走化させる場合の恩恵: 早く気付ける・早く行動できる・開発と一体化できる ⚫コードが固まる前から、自動テストを早く作成・保守できる • 無理なくテスト容易性が確保される • テストベースが早期から改善され、バグ実装を予防する • 内部構造にとらわれない仕様や設計の洗練・具体化が促進される ⚫自動テストを早く実行できる

    • 即時にバグのフィードバックが行われる • リグレッションテストが早期から充実し、以降の追加変更が効率化する • 自動テストの問題に早く気付け、その洗練ができる ⚫開発と一体化して活動できる • 開発力を活かして自動テストの品質を確保できる • 自動テスト開発に開発インフラを活用できる • 開発・テスト間のコミュニケーションロスが軽減する 9
  6. 自動テストを併走化させるためには基礎作りが必要 ⚫要点 • 開発チーム全体の自動テストのイネーブリング • 各開発活動に自動テストを任せられるようにする • 自動テストの開発・運用を効率化する仕組み・内部品質整備 • 自動テスト込みでも開発のスピード・効率を落とさない

    ⚫要点を推進する施策 1. 良い自動テストについての開発チーム全体の習慣づけ 2. アーキテクチャのテスト自動化容易性の確保 3. 自動テストの開発・保守を支えるテスト自動化システムの整備 4. 自動テストの開発・保守を支える開発インフラの整備 13
  7. (1)良い自動テストについての開発チーム全体の習慣づけ 1. 併走習慣の定着 • ガイドラインやプロセスであるべき姿を提示 • テスト駆動開発/Cover & Modifyなどの良いプラクティスの導入推進 •

    モブプログラミングによる総合力の共有 • CI/CDによる自動テストの資産化・価値化 2. 習慣づけへの短期フィードバック • PRレビュー/MRレビューでの有識者によるチェック • CI/CDからのカバレッジのフィードバック 3. 習慣づけへの中長期フィードバック • バグ流出を評価して改善サイクルをまわす • フォールトインジェクション/ミューテーションテストによる評価 15