Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
チームのテスト力を総合的に鍛えてシフトレフトを推進する/Shifting Left with...
Search
Hiroki Iseri
October 23, 2025
Programming
4.8k
6
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
チームのテスト力を総合的に鍛えてシフトレフトを推進する/Shifting Left with Software Testing Improvements
Hiroki Iseri
October 23, 2025
More Decks by Hiroki Iseri
See All by Hiroki Iseri
生成AI活用でQAエンジニアにどのような仕事が生まれるか/Support Required of QA Engineers for Generative AI
goyoki
1
620
開発に寄りそう自動テストの実現
goyoki
3
3.9k
自動テストを活かすためのテスト分析・テスト設計の進め方/JaSST25 Shikoku
goyoki
3
2.7k
チームのテスト力を鍛える
goyoki
4
3.3k
ソフトウェアテスト徹底指南書の紹介
goyoki
1
2.7k
プロダクト開発を成功させるためのソフトウェア品質保証のアプローチと技術/Software QA Approach for Puduct Success
goyoki
1
2.1k
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
3.6k
テスト分析入門/Test Analysis Tutorial
goyoki
12
6.7k
高品質と高スピードを両立させるソフトウェアQA/Software QA that Supports Agility and Quality
goyoki
10
6.3k
Other Decks in Programming
See All in Programming
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
120
CSC307 Lecture 17
javiergs
PRO
0
320
Oxlintのカスタムルールの現況
syumai
6
1.1k
技術記事、AIに書かせるか、自分で書くか? 〜それでも私が自分の手で書く理由〜 / #QiitaConference
jnchito
2
1.4k
軽量Java基盤の設計 DIコンテナに頼らない、長期保守と1秒起動の実現 JJUG CCC 2026 Spring
macha64
0
540
AIとASP.NET Coreで雑Webアプリを作った話
mayuki
0
660
AI 時代のソフトウェア設計の学び方
masuda220
PRO
29
13k
Skillsは効率化、Agentsは"自分の拡張"——Builder時代のエージェント編成(CC Night 2026)
wemra
1
140
Mujeres en SEO Summit 2026 - Greatest Disaster Hits en Web Performance
guaca
0
190
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.3k
Strategic Design in the Frontend: Moduliths & Micro Frontends @DDDEurope
manfredsteyer
PRO
0
110
さぁV100、メモリをお食べ・・・
nilpe
0
140
Featured
See All Featured
The AI Search Optimization Roadmap by Aleyda Solis
aleyda
1
5.9k
Winning Ecommerce Organic Search in an AI Era - #searchnstuff2025
aleyda
1
2k
How Software Deployment tools have changed in the past 20 years
geshan
0
34k
Practical Orchestrator
shlominoach
191
11k
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
340
Art, The Web, and Tiny UX
lynnandtonic
304
22k
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.5k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
2
330
Why Our Code Smells
bkeepers
PRO
340
58k
Hiding What from Whom? A Critical Review of the History of Programming languages for Music
tomoyanonymous
2
860
Max Prin - Stacking Signals: How International SEO Comes Together (And Falls Apart)
techseoconnect
PRO
0
180
Game over? The fight for quality and originality in the time of robots
wayneb77
1
200
Transcript
チームのテスト力を総合的に鍛えて シフトレフトを推進する Veriserve Mobility Initiative 2025 2025/10/23 井芹 洋輝
自己紹介 ⚫経歴 • 開発者、テストエンジニア、コンサルタント、QAエンジニアとさまざまな立場 でさまざまなプロダクトのソフトウェアテスト業務に従事 • テストについて執筆・講演・研究・技術指導多数 • 現在は車メーカーで車載開発のQA/テストテックリードを担当 •
JSTQB技術委員、テスト設計コンテストU30クラス初代審査委員長 ⚫主な著作 • 「ソフトウェアテスト徹底指南書」 「実践ソフトウェアエンジニアリング第9版」(共訳) 「シフトレフトテストを支える現代的なテスト設計」 「システムテスト自動化標準ガイド」(共著)など Copyright(C) 2025 Hiroki Iseri 2
この講演について ⚫ソフトウェアテストアプローチについて解説します ⚫前提として、現代的なソフトウェア開発の成功のために、品質、 スピード、レジリエンス、開発持続性というチームの総合力強化の 必要性を解説します ⚫そしてそれを実現するためのテストアプローチとして、シフトレフトに ついて解説します 3 Copyright(C) 2025
Hiroki Iseri
チームの総合力強化の必要性
現代的なソフトウェアプロダクトの様相 ⚫プロダクト形態がサービス化 • XaaS(SaaS、PaaS)など。 • パッケージや組込みも継続的な改善・運用で顧客満足を支える • OTAによるIVI改善 ⚫開発ライフサイクルが長大化 •
リリースして終わりではなく、サービスとしての継続運用や、継続的に改善を 行って、プロダクト価値をアップデートしていく 5 Copyright(C) 2025 Hiroki Iseri
現代的なソフトウェアプロダクト開発の様相 ⚫同じ開発チームが継続的にプロダクトを運用・改善 ⚫チームの開発力を鍛えてプロダクトの成功を支える 開発チームの総合力が求められる • 顧客満足を支える品質実現 • 開発のスピード • 開発のレジリエンス
• 問題・困難に対する適応力・回復力 • 開発持続性 6 Copyright(C) 2025 Hiroki Iseri
チームのスピード、レジリエンス、開発持続性はプロダクト品質 と不可分であり、プロダクト価値に直結する ⚫開発チームのスピードが速いと: • 開発とビジネスのフィードバックループを迅速化 • ユーザのニーズを迅速に・効率的に実現 • 顧客満足のための試行錯誤を迅速化 ⚫開発チームのレジリエンスが高いと:
• プロダクトの障害・不満点を早期解消 • リスク許容度が高まりよりチャレンジできる ⚫開発チームの開発持続性が高いと: • ユーザへの継続的なプロダクト価値の提供実現 • プロダクトの改善機会を確保 7 Copyright(C) 2025 Hiroki Iseri
総合的なビジネスパフォーマンスは 開発チームのスピード、レジリエンス、開発持続性に連動 ビジネス パフォーマンス エリート 高い 中間 低い 変更リードタイム 1日未満
1日~1週間 1週間~1か月 1か月~ デプロイ頻度 いつでも (1日複数回) 1日1回~ 1週間に1回 1週間に1回~ 1か月に1回 1か月に1回~ 変更失敗率 5% 20% 10% 40% 障害復旧時間 1時間未満 1日未満 1日未満 1週間から1か月 DORA Accelerate State of DevOps 2024 現代的なソフトウェア開発の成功のためには 品質実現に加えて、開発チームのスピード、レジリエンス、 開発持続性の総合力強化が必要 8 Copyright(C) 2025 Hiroki Iseri
チームのテストアプローチにも 品質、スピード、レジリエンス、 開発持続性の共立が求められる 9 Copyright(C) 2025 Hiroki Iseri
テストアプローチにも 品質、スピード、レジリエンス、開発持続性の共立が必要 ⚫テストアプローチには、品質、スピード、レジリエンス、開発持続性の 関係をトレードオフにするもの、トレードオンにするものがある ⚫トレードオフ(何かを上げれば他が下がる)のテストアプローチ • 品質ゲート(例:最終テスト工程)を重厚化 • テストの責務を独立性の高いテスト組織へ集中 ⚫現代的なソフトウェア開発でのテストアプローチは、トレードオフを
トレードオン(共立)に転換させるものでなければならない 10 Copyright(C) 2025 Hiroki Iseri
品質、スピード、レジリエンス、 開発持続性を共立させる テストアプローチ
品質、スピード、レジリエンス、開発持続性を共立させる テストアプローチ ⚫チーム全体でテスト力を総合的に高める必要がある テスト担当に閉じたアプローチでは実現できない • チーム横断の連携 • 開発とテストの協働 • チームの方向付け
• 顧客満足への方向付け • チームの開発力強化 • チームの基盤インフラ整備 12 Copyright(C) 2025 Hiroki Iseri
品質、スピード、レジリエンス、開発持続性を共立させる テストアプローチ ⚫今回紹介するアプローチ:品質のシフトレフト • 品質関連活動を早期から実施し、品質の確保・保証を早期から行う 品質問題を予防・早期対策する 13 Copyright(C) 2025 Hiroki
Iseri
品質のシフトレフトによる総合力強化 ⚫早期の品質確保・品質問題対応・リスクコントロールで: • スピードやリソース効率を向上 • 早期の保守性確保・仕組みづくりでレジリエンス・開発持続性向上 「ソフトウェア品質保証の方法論、技法、 その変遷」,奈良隆正, JASPIC SPIJapan2009
14 Copyright(C) 2025 Hiroki Iseri
シフトレフトを推進するための テストアプローチ
シフトレフトを推進するためのテストアプローチ ⚫スパイラル型品質作りこみ ⚫開発者テストの充実 ⚫開発工程へのテストの視座の注入 ⚫テスト容易性の充実 ⚫品質リスクの分離 16 Copyright(C) 2025 Hiroki
Iseri
シフトレフトを推進するためのテストアプローチ ⚫スパイラル型品質作りこみ ⚫開発者テストの充実 ⚫開発工程へのテストの視座の注入 ⚫テスト容易性の充実 ⚫品質リスクの分離 17 Copyright(C) 2025 Hiroki
Iseri
スパイラル型品質作りこみ ⚫反復型開発プロセスを推進 有効なリリースを反復的に妥当な品質を早期確保 シーケンシャル型 スパイラル型 18 Copyright(C) 2025 Hiroki Iseri
スパイラル型品質作りこみの実現 ⚫中短期の正当な反復型プロセスの採用 • 反復ごとに妥当性確認可能なリリースを確保し、品質フィードバックを確保 • 避けるべきアンチパターン: • リリーススプリント肥大化、全体統合なきインクリメンタル開発、 アジャイル形骸化(例:ゾンビスクラム) ⚫アプローチを支える施策
• シフトレフトテスト(テスト実行のシフトレフト)の推進 • ウォーキングスケルトンのサポート • 早期からのユーザ視座のフィードバック機会の確保 • 顧客満足観点のテストや、包括的な品質確認テスト • 差分開発の品質確保のサポート • 自動テスト充実、CI/CD充実、疎結合アーキテクチャ推進、ブランチ戦略洗練 19 Copyright(C) 2025 Hiroki Iseri
シフトレフトを推進するためのテストアプローチ ⚫スパイラル型品質作りこみ ⚫開発者テストの充実 ⚫開発工程へのテストの視座の注入 ⚫テスト容易性の充実 ⚫品質リスクの分離 20 Copyright(C) 2025 Hiroki
Iseri
開発者テストの充実 ⚫開発者のテスト力を鍛え、ユニットテスト、統合テストを充実 • 開発者テストで早期からバグだし・品質確保 • 充実させた開発者テストで追加・変更をサポート ⚫テストピラミッドを実現 ユニットテスト 統合テスト UIテスト
速い・早い 『Succeeding with Agile: Software Development Using Scrum』 21 Copyright(C) 2025 Hiroki Iseri
開発者テストの充実の実現: 開発者が責任をもって自動テストを書く習慣の醸成 1. 習慣の定着 • ガイドラインやプロセスであるべき姿を提示 • テスト駆動開発/Cover & Modifyの奨励
• モブプログラミング/ペアプログラミングによる総合力の共有 • CI/CDによる自動テストの資産化 2. 習慣づけへの短期フィードバック • PRレビュー/MRレビューでの有識者によるチェック • CI/CDからのカバレッジのフィードバック 3. 習慣づけへの中長期フィードバック • フォールトインジェクション/ミューテーションテストによる評価 • バグ流出を評価して改善サイクルをまわす 22 Copyright(C) 2025 Hiroki Iseri
シフトレフトを推進するためのテストアプローチ ⚫スパイラル型品質作りこみ ⚫開発者テストの充実 ⚫開発工程へのテストの視座の注入 ⚫テスト容易性の充実 ⚫関心の分離・品質リスクの分離 23 Copyright(C) 2025 Hiroki
Iseri
開発工程へのテストの視座の注入 ⚫仕様作成・設計段階からテストの視座のフィードバック確保 • 仕様・設計バグを予防・早期検出する。リスクを早期コントロールする • テスト容易性を確保する ⚫実践プラクティスの一つ:Wモデル 24 Copyright(C) 2025
Hiroki Iseri
スクラムでのWモデルの推進例 ⚫例)ユーザーストーリ作成にテストの視座を注入する ユーザーストーリ:検索履歴の呼び出し 「システム利用者として、過去の検索 履歴の一覧を表示し、履歴の検索構 文を選択して再実行できる。それによ り、以前検索した内容をすばやく実行 できるようにする」 境界値テストを考える。表示履歴数の最小 値・最大値を確認し、受け入れ基準に明
記する ユーザストーリをテスト担当交えて共同作成する or 作成直後にテストの視座でレビューする テストの検討を行い、早期に対策を打つ テストに必要な情報を確保する。詳細なUI 仕様を確保・補完する リリース判定の観点でチェックする。「検索 履歴の削除」「検索履歴のセキュリティ」な ど、関連するユーザーストーリや仕様の存 在を確認し、不足があれば是正する 25 Copyright(C) 2025 Hiroki Iseri
シフトレフトを推進するためのテストアプローチ ⚫スパイラル型品質作りこみ ⚫開発者テストの充実 ⚫開発工程へのテストの視座の注入 ⚫テスト容易性の充実 ⚫品質リスクの分離 26 Copyright(C) 2025 Hiroki
Iseri
テスト容易性(試験性、テスタビリティ) テストしやすさについてのプロダクトの内部品質特性 Copyright(C) 2025 Hiroki Iseri 27 品質特性 内容 具体例
観測容易性 テスト対象の観測のしやすさ エラーログの充実度 制御容易性 テスト対象の操作のしやすさ APIの充実度 セットアップ容易性 テストのセットアップのやりやすさ コンストラクタの単純さ 実行容易性 実行の容易さ テスト実行のブロック要因の少なさ 分解容易性 テスト対象の分割・置換の容易さ 接合部の充実度 網羅容易性 テストでの網羅のしやすさ デッドコードの少なさ 安定性 テスト対象の安定性・バグの少なさ 変更頻度の少なさ 環境構築容易性 テスト環境の構築のしやすさ 環境の冪等性 問題検出性 バグの特定のしやすさ 解析ログの充実度 対象によってより具体的な品質特性がある。例)自動化:仮想化容易性、並列化容易性、CI/CD統合容易性
テスト容易性強化によるシフトレフトの推進 ⚫適切なテスト容易性の確保で、後のテストの作成・実行・保守を容易 にし、開発の総合力を高める • テスト自動化容易性を確保して、自動化率を上げることで、リグレッションテ ストを拡充し、差分開発をスピードアップ。開発持続性を確保 • 網羅容易性を確保して、Defect Localization効果を確保することで、障害 の特定・修正をスピードアップ
28 Copyright(C) 2025 Hiroki Iseri
テスト容易性の充実の要点 ⚫各開発工程へのテスト視座の注入 • アーキテクチャレベルからテスト容易性を組み込む • テスト自動化の組み込み、テストの重要課題への対応、品質リスクの分離 • Wモデル、受け入れ駆動開発、スリーアミーゴスによるレビュー ⚫テスト容易性の問題を早期発見・早期是正 •
シフトレフトテスト(テスト実行のシフトレフト)を推進 • ウォーキングスケルトン、仮想化、戦略的なTest Double開発 Copyright(C) 2025 Hiroki Iseri 29
シフトレフトを推進するためのテストアプローチ ⚫スパイラル型品質作りこみ ⚫開発者テストの充実 ⚫開発工程へのテストの視座の注入 ⚫テスト容易性の充実 ⚫品質リスクの分離 30 Copyright(C) 2025 Hiroki
Iseri
品質リスクの分離 ⚫疎結合設計を推進 • アーキテクチャレベルで、バウンダリやコンポーネント間の結合性を下げ、 コンポーネントをまたいだ影響を抑止する • 追加変更の影響範囲をコンポーネントに閉じ込める • マイクロサービスアーキテクチャやマルチプロセッサアーキテクチャなど ⚫品質リスクの分離の推進
• 疎結合設計によって、ハイレベルな品質リスクを特定コンポーネントに閉じ 込める • 高信頼性開発での関心の分離(Separation of Concerns)の原則はこの一種 31 Copyright(C) 2025 Hiroki Iseri
品質リスクの分離によるシフトレフト推進 32 Copyright(C) 2025 Hiroki Iseri 低リスク 高 リスク 低
リスク ・・・ 疎結合設計で品質リスクの分離を実施 (例:接合部配備、信頼できるインターフェース手段採用、カプセ ル化/状態や副作用の局所化、インターフェースのシンプル化/ 契約による設計) 品質の積み上げの推進 •コンポーネントレベルで品質担保 •高リスクコンポーネントは、ユニットテスト・統合テスト でバグだし・品質確認を済ませる • 低リスクリリースはスピード重視のテストで。システムテスト緩和 • 総体として品質と開発のスピードを共立
まとめ
チームのテスト力を総合的に鍛えてシフトレフトを推進する ⚫テストプローチは、品質、チームのスピード・レジリエンス・開発持続性 を共立させるものでなければならない ⚫その実現アプローチとして品質のシフトレフトがある ⚫品質のシフトレフトを支えるテストアプローチ: • スパイラル型品質作りこみ • 開発者テストの充実 •
開発工程へのテストの視座の注入 • テスト容易性の充実 • 品質リスクの分離 34 Copyright(C) 2025 Hiroki Iseri