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
高スピードと高品質を支えるソフトウェアQA(開発変革セミナー)
Search
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Hiroki Iseri
November 14, 2024
Programming
0
150
高スピードと高品質を支えるソフトウェアQA(開発変革セミナー)
Hiroki Iseri
November 14, 2024
Tweet
Share
More Decks by Hiroki Iseri
See All by Hiroki Iseri
開発に寄りそう自動テストの実現
goyoki
2
2.4k
自動テストを活かすためのテスト分析・テスト設計の進め方/JaSST25 Shikoku
goyoki
3
1.8k
チームのテスト力を総合的に鍛えてシフトレフトを推進する/Shifting Left with Software Testing Improvements
goyoki
6
3.8k
チームのテスト力を鍛える
goyoki
4
2.4k
ソフトウェアテスト徹底指南書の紹介
goyoki
1
1.6k
プロダクト開発を成功させるためのソフトウェア品質保証のアプローチと技術/Software QA Approach for Puduct Success
goyoki
1
1.1k
チームのテスト力を総合的に鍛えて品質、スピード、レジリエンスを共立させる/Testing approach that improves quality, speed, and resilience
goyoki
5
2.7k
テスト分析入門/Test Analysis Tutorial
goyoki
12
5.4k
高品質と高スピードを両立させるソフトウェアQA/Software QA that Supports Agility and Quality
goyoki
10
6k
Other Decks in Programming
See All in Programming
izumin5210のプロポーザルのネタ探し #tskaigi_msup
izumin5210
1
150
Amazon Bedrockを活用したRAGの品質管理パイプライン構築
tosuri13
5
810
疑似コードによるプロンプト記述、どのくらい正確に実行される?
kokuyouwind
0
390
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
310
CSC307 Lecture 10
javiergs
PRO
1
670
2026/02/04 AIキャラクター人格の実装論 口 調の模倣から、コンテキスト制御による 『思想』と『行動』の創発へ
sr2mg4
0
380
開発者から情シスまで - 多様なユーザー層に届けるAPI提供戦略 / Postman API Night Okinawa 2026 Winter
tasshi
0
220
SourceGeneratorのススメ
htkym
0
200
2026年 エンジニアリング自己学習法
yumechi
0
140
AIフル活用時代だからこそ学んでおきたい働き方の心得
shinoyu
0
140
JPUG勉強会 OSSデータベースの内部構造を理解しよう
oga5
1
140
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
640
Featured
See All Featured
It's Worth the Effort
3n
188
29k
Side Projects
sachag
455
43k
Fireside Chat
paigeccino
41
3.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
460
The Cult of Friendly URLs
andyhume
79
6.8k
The Spectacular Lies of Maps
axbom
PRO
1
530
Navigating Team Friction
lara
192
16k
<Decoding/> the Language of Devs - We Love SEO 2024
nikkihalliwell
1
140
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
180
How to Ace a Technical Interview
jacobian
281
24k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
55
3.3k
Transcript
高品質と高スピードを両立させる ソフトウェアQA 井芹 洋輝 開発変革セミナー 2024秋 基調講演 2024/11/14
自己紹介 ⚫経歴 • 開発者、テストエンジニア、コンサルタント、QAエンジニアと様々な立場で 様々なプロダクトの品質エンジニアリングに従事 • 現在は車メーカでQA/テストテックリードを担当 • JSTQB技術委員、テスト設計コンテストU30クラスファウンダー ⚫著作・講演
• 「テスト自動化の成功を支えるチームと仕組み」 「シフトレフトテストを支える現代的なテスト設計」 「Androidアプリテスト技法」「システムテスト自動化標準ガイド」 「テストの視点を活用したTDDアプローチの検討とその検証」など
この講演について ⚫エンジニアとして現場改善をする目線で、ソフトウェア開発で高品質 と高スピードを両立するソフトウェアQAアプローチを解説します
現代的なソフトウェアQAに 求められるもの
現代的なソフトウェアQAに求められるもの ⚫高品質の実現: 顧客満足を実現する妥当な品質を確保し作りこむ力 • 戦後日本のプロダクトの競争力の源泉。普遍的に重要。啓蒙や蓄積も充実 ⚫高スピードの実現: 顧客満足を実現する品質の確保・保証を迅速に行う力 • 次頁
「高スピードの実現:品質の確保・保証を迅速に行う力」 の重要性 ⚫有限な開発リソース下では、品質のためのリソースがトレードオフ • 「開発スピードの悪化」や「QAでの開発リソースの浪費」が発生すれば、品質 確保・向上に投入できる開発リソースが不足し、品質が低下 ⚫QAの迅速性がプロダクト品質に直結するビジネス形態が増加 • ユーザのフィードバックサイクル対応の迅速化 →よりすばやくプロダクト価値が高まり、顧客満足が得られる
→厳しい競争で競合に先んじてビジネス価値を提供できる • プロダクトの障害や改善点の対応の迅速化 →ユーザの不満が即時解消される。高品質の印象を持たれる
現代的なソフトウェアQAに求められるもの ⚫ソフトウェアQAには「高品質を確保・作りこむ力」と「高スピードに品 質を確保する迅速性」の両方が不可欠 • 開発スピードを犠牲にするようなQA、ただ品質を追求すればすべて良くな る考え方のQAはしばしば品質を悪化させ、かつプロダクト価値を棄損する • 有限なリソースで開発の高スピードと高品質の両立を実現できる力がQAに 求められる
高品質と高スピードの両立を 支えるソフトウェアQA
高品質と高スピードの両立を支えるソフトウェアQA ⚫高品質のみを追求するQAアプローチでは、品質ゲートの重厚化など QAに閉じた選択肢も取りえる ⚫一方で、高スピードと高品質の両立においては、チームの開発力を 総合的に強化するQAアプローチが不可欠になる
高品質と高スピードの両立を支えるソフトウェアQA 例:サービス開発の場合 変更のリードタイム 顧客要求への迅速な対応 サービス復元時間 顧客が直面する障害への 迅速な対応
高品質と高スピードの両立を支えるソフトウェアQA 例:サービス開発の場合 変更のリードタイム 顧客要求への迅速な対応 サービス復元時間 顧客が直面する障害への 迅速な対応 迅速な変更・修正 を実現する チームの開発力
変更・修正を支える 高い保守性 高い保守性を実現する チームの開発力 • 設計・実装の総合力確保(能力確保・育成・発揮) • 設計品質を支えるプロセスや開発インフラの整備 • テストやリリース・デプロイの自動化 • デプロイメントパイプラインの洗練、など 「ものづくり」だけではなく「チームづくり」が不可欠
高品質と高スピードの両立に必要なチームづくり ⚫チームづくりの手段 人、組織、文化、プロセス、インフラ、マネジメント、技術やツール ⚫上記を活用して優先してQAで支えるべきチームの能力 • 高い有効性:より妥当な品質を確保する • 高い迅速性:より迅速に品質を確保する • 高い効率性:有限な開発リソースで得られる効果を増強する
QAでチーム 有効性・迅速性・効率性を 支えるアプローチ
QAでチームの有効性・迅速性・効率性を支えるアプローチ ⚫顧客価値のフィードバックプロセスの構築 ⚫継続的QA/シフトレフト/QAの戦略立て ⚫デプロイメントパイプラインの高度化 ⚫チーム全体アプローチ ⚫QA容易性の確保
QAでチームの有効性・迅速性・効率性を支えるアプローチ ⚫顧客価値のフィードバックプロセスの構築 ⚫継続的QA/シフトレフト/QAの戦略立て ⚫デプロイメントパイプラインの高度化 ⚫チーム全体アプローチ ⚫QA容易性の確保
顧客価値のフィードバックプロセスの構築 ⚫フィードバックサイクルをまわし、チームの方向性を適正化して、QAの 有効性・効率性を高める • 正しい方向に先導する • 探索状態の中で方向を見出す ⚫フィードバックサイクルで改善を継続して迅速性を高める
顧客価値のフィードバックプロセスの構築 開発活動内 のQA活動 ユーザ・ビジネス 視座のQA工程 実運用 【既存の活動に顧客視点を導入】 スリーアミーゴ、受け入れテスト駆動開発 【専用の顧客視点のQA工程の追加によるフィードバックサイクル】 モックアップ、プロトタイピング、ユーザテスト
【運用を巻き込んだフィードバックサイクル】 DevOps、継続的デリバリ、シフトライトテスト 開発プロジェクト
フィードバックプロセスの増強 ⚫ビジネス・顧客・運用を巻き込んだフィードバックサイクルが重要 • 理想モデル:DevOps • ビジネスからのフィードバックを積極的に開発に取り込む • シフトライトテストや市場調査・ユーザ連携でフィードバックを開発する ⚫プロダクトを進化させる前進のフィードバックサイクルを差し込む •
継続的な技術蓄積、フィージビリティスタディ • 仮説検証サイクル • 要求開発
QAでチームの有効性・迅速性・効率性を支えるアプローチ ⚫顧客価値のフィードバックプロセスの構築 ⚫継続的QA/シフトレフト/QAの戦略立て ⚫デプロイメントパイプラインの高度化 ⚫チーム全体アプローチ ⚫QA容易性の確保
継続的QA ⚫プロセスの各工程でQA活動を推進する。プロダクトライフサイクルの 全工程でQA活動を継続する ⚫後工程や品質ゲートに頼るのではなく、各工程の当事者が品質を積 み上げる
継続的QA build test release devloy operate monitor plan code ここでもQA
ここでもQA ここでもQA ここでもQA ここでもQA ここでもQA ここでもQA ここでもQA
シフトレフト ⚫品質エンジニアリング活動を早期から実施し、品質の確保・保証を 早期から行う。品質問題を予防・早期対策する QAへの注力 シフトレフト プロジェクトの進展 旧来の開発
シフトレフト ⚫品質エンジニアリング活動を早期から実施し、品質の確保・保証を 早期から行う。品質問題を予防・早期対策する • 中短期の反復開発プロセス・インクリメンタル開発プロセスの採用 • 開発者テストの充実とCI/CDへの統合 • テスト駆動開発 •
自動テストの拡充とCIへの統合 • 静的テスト/レビューの充実 • シフトレフトを支えるQA容易性・テスト容易性の作りこみ • 検証可能な仕様 • ウォーキングスケルトン(作りかけでも動かせるソフトウェア)の 確保などで早期からテスト着手可能に
QAの戦略立て ⚫継続的QA、シフトレフトを戦略立てて推進する ⚫QA活動の全体構造を工夫する • チームの様々なQA活動を漏れ・冗長さのないように整理する • 相乗効果や強みを発揮しやすいように責務分担する ⚫品質リスク・課題に戦略立てて対応する • 様々な関係者を巻き込むアプローチ・プロセスを推進する
• 一貫性の求められるQAアプローチを戦略として推進する • 難易度や複雑さの高いリスク・課題への対策を推進する
QAの戦略立て 課題の種類の例 戦略立てのアプローチ 欠陥の検出 検出したい欠陥タイプごとに検出すべきQA活動を割り当て プロダクトリスクの確認 プロダクトリスクに対し、QA活動がどう連携するか立案 品質課題の対応 品質課題に対して、QA活動でどう対応するか立案 課題の例
課題対応戦略 グローバル展開する組込み製 品の表示文言の品質確保 文言の正確性確認、翻訳品質確認:データ静的テスト、 専門部門のテクニカルレビュー 文言描画の確認: アプリケーション描画:エミュレータテストで全網羅 実機動作:自動キャプチャーテストで代表パターン確認 現地依存の本番環境確認: ローカライゼーションテスト 品質課題対応の例
QAでチームの有効性・迅速性・効率性を支えるアプローチ ⚫顧客価値のフィードバックプロセスの構築 ⚫継続的QA/シフトレフト/QAの戦略立て ⚫デプロイメントパイプラインの高度化 ⚫チーム全体アプローチ ⚫QA容易性の確保
デプロイメントパイプラインの拡充・高度化 ⚫CI/CDデプロイメントパイプラインは開発リードタイム短縮の基盤・要
デプロイメントパイプラインの拡充・高度化 ⚫デプロイメントパイプラインの拡充 • 多くの開発活動をCI/CDデプロイメントパイプラインに組み込む • 組み込めるように自動化を推進する • 環境を仮想化する • 人の活動もデプロイメントパイプラインを補強するようにプロセス設計する
• 例:PR/MRレビュー ⚫デプロイメントパイプラインの高度化 • より高度なパイプライン処理を実装する • 例:予測的テスト選択、Flaky Testの検出 • 高速化・最適化を進める • 例:並列化、コンテナオーケストレーション
QAでチームの有効性・迅速性・効率性を支えるアプローチ ⚫顧客価値のフィードバックプロセスの構築 ⚫継続的QA/シフトレフト/QAの戦略立て ⚫デプロイメントパイプラインの高度化 ⚫チーム全体アプローチ ⚫QA容易性の確保
チーム全体アプローチ ⚫チーム全体で品質エンジニアリング活動を推進する。チームメンバー 全員がプロダクト品質について責任を持つ • 少数精鋭指向 • 密なコミュニケーションをとる。全員参加のイベントを確保する • 例:スクラム •
心理的安全性を確保しオープンなコミュニケーションを実現する • チーム内の情報や意思決定の透明性を確保する • 明確なビジョン、目的、目標を共有し、チームの方向性を合わせる ⚫例えばQAの迅速性の確保には、QA容易性の確保といった、 QA担当外の協力が不可欠。 それを支えるのがチーム全体アプローチ
チームの総合力を意識した能力の確保・育成施策 ⚫高度な人材の獲得 ⚫チームの総合力の育成 • 反復開発、フィージビリティスタディを通した経験蓄積 • 現場経験の蓄積を重視した人員アサイン ⚫チームの総合力を引き出す連携強化 • HRTの三本柱の推進
• 謙虚(Humility)、尊敬(Respect)、信頼(Trust)をチームメンバー間で確立す る。それによりネガティブな状況に対してもポジティブにチームが対応できるよ うになる • 心理的安全性の推進 • 心理的安全性の確保により、適切な品質問題のマネジメントや チームコミュニケーションが実現される
QAでチームの有効性・迅速性・効率性を支えるアプローチ ⚫顧客価値のフィードバックプロセスの構築 ⚫継続的QA/シフトレフト/QAの戦略立て ⚫デプロイメントパイプラインの高度化 ⚫チーム全体アプローチ ⚫QA容易性の確保
QA容易性の確保 ⚫QA活動が容易になるように、マネジメント、プロセス、設計・実装を 工夫する • 設計・実装で必要なテスト容易性を作りこむ • 品質のオブザビリティを作りこむ • 品質問題の可視化・検出・対策の仕組みをプロセスに組み込む •
品質リスク・課題マネジメントのシフトレフトをマネジメントで推進する
QA容易性の確保施策の例:品質リスクのモジュール化 低リスク 高リスク 低リスク ・・・ 疎結合・高凝集度設計で モジュール化を推進。 品質リスクを分離する (例:接合部配備、信頼できるインター フェース手段採用、カプセル化/状態
や副作用の局所化、インターフェース のシンプル化/契約による設計) 品質レベルに応じた アーキテクチャレベルの QA容易性確保 (例:自動化対応、CI/CD統合可能、 QAの障害排除、シフトレフト対応、 Humble Objectパターン) •高リスクで詳細なテスト が必要なコンポーネントは、 優れたQA容易性の活用で QAを効率化 •高リスクコンポーネント は結合テストレベルで品質 を担保可能に
QA容易性の確保施策の例:品質リスクのモジュール化 アーキテクチャ設計で、品質リスクのモジュール化を推進 高リスク コンポー ネント 低リスク コンポー ネント 高リスク リリースの
QA 低リスク リリースの QA QAの戦略立てでQAのモジュール化を推進 高リスクリリースは詳細なQAで、低リスクリリースはスピード重視のQAで 総体として高品質・高スピードの両立を実現
まとめ ⚫ソフトウェアQAには「高品質を確保・作りこむ力」と「高スピードに品 質を確保する迅速性」の両方が不可欠 ⚫そのためにはQAでチームの有効性・迅速性・効率性を総合的にサ ポートする必要がある ⚫そのためには次のアプローチが有効 • 顧客価値のフィードバックプロセスの構築 • 継続的QA/シフトレフト/QAの戦略立て
• デプロイメントパイプラインの高度化 • チーム全体アプローチ • QA容易性の確保