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
AIを活用したソフトウェアテスト技術 - ISTQB Foundation Level - A...
Search
ymgc
December 22, 2024
Technology
1
12
AIを活用したソフトウェアテスト技術 - ISTQB Foundation Level - AI Testing (CT-AI)
ISTQB Foundation Level シラバス - AI Testing (CT-AI) 「11.テストにAIを使う」をもとに作成したもの。
ymgc
December 22, 2024
Tweet
Share
More Decks by ymgc
See All by ymgc
Machines of Loving Grace - AIはどのように世界をより良く変えるか -
__ymgc__
1
44
ファシリテーションの技術
__ymgc__
2
45
(論文読み)BigCodeBench: 多様な関数呼び出しと複雑な指示を用いたコード生成のベンチマーキング
__ymgc__
1
37
(論文読み)Very Large-Scale Multi-Agent Simulation in AgentScope
__ymgc__
1
29
7 POWERS
__ymgc__
1
28
自己組織化系のベイズ力学
__ymgc__
1
41
エムラン・メイヤー 『腸と脳』
__ymgc__
1
31
(論文読み)不特定多数の人工知能エージェントによる自由行動の安全化に関する研究
__ymgc__
1
36
群論入門:集合と対称性の数学
__ymgc__
0
29
Other Decks in Technology
See All in Technology
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
210
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
360
GitHub Copilot のテクニック集/GitHub Copilot Techniques
rayuron
37
15k
OpenAIの蒸留機能(Model Distillation)を使用して運用中のLLMのコストを削減する取り組み
pharma_x_tech
4
560
Storage Browser for Amazon S3
miu_crescent
1
230
日本版とグローバル版のモバイルアプリ統合の開発の裏側と今後の展望
miichan
1
130
小学3年生夏休みの自由研究「夏休みに Copilot で遊んでみた」
taichinakamura
0
170
祝!Iceberg祭開幕!re:Invent 2024データレイク関連アップデート10分総ざらい
kniino
3
310
KnowledgeBaseDocuments APIでベクトルインデックス管理を自動化する
iidaxs
1
270
podman_update_2024-12
orimanabu
1
280
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
170
【re:Invent 2024 アプデ】 Prompt Routing の紹介
champ
0
150
Featured
See All Featured
Creating an realtime collaboration tool: Agile Flush - .NET Oxford
marcduiker
26
1.9k
BBQ
matthewcrist
85
9.4k
How To Stay Up To Date on Web Technology
chriscoyier
789
250k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Fontdeck: Realign not Redesign
paulrobertlloyd
82
5.3k
Building Adaptive Systems
keathley
38
2.3k
YesSQL, Process and Tooling at Scale
rocio
169
14k
Side Projects
sachag
452
42k
Git: the NoSQL Database
bkeepers
PRO
427
64k
JavaScript: Past, Present, and Future - NDC Porto 2020
reverentgeek
47
5.1k
Agile that works and the tools we love
rasmusluckow
328
21k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
0
98
Transcript
AI を活用したソフトウェアテスト技術 ISTQB Foundation Level シラバス - AI Testing (CT-AI)
1
目次 1. テストのためのAI 技術 2. 報告された欠陥の分析にAI を活用 3. テストケース生成へのAI 活用
4. リグレッションテストスイートの最適化 5. AI による欠陥予測 6. ユーザーインターフェースのテストにAI を活用 2
想定読者 ソフトウェアテストエンジニア ▶ テスト自動化の経験を持つエンジニア ▶ AI テスト導入を検討している実務者 ▶ 開発チームリーダー・マネージャー ▶
テストプロセスの改善を推進する立場の方 ▶ AI 技術の導入を検討している方 ▶ AI/ML エンジニア ▶ テスト分野でのAI 活用に興味のある方 ▶ テスト自動化基盤の開発者 ▶ 3
1. テストのためのAI 技術 ファジー論理と確率的手法 分類・学習・予測 ベイズ法によるシステム故障の分析・予測 ▶ コンポーネントや機能の故障確率の定量的推定 ▶ 人間-
システム間の相互作用における不確実性のモデル化 ▶ プロジェクトコストの予測モデル構築 ▶ 欠陥の自動分類と優先順位付け ▶ ML による欠陥パターンの学習 ▶ 4
1. テストのためのAI 技術 計算機による探索と最適化 現状のAI 実装における制約 大規模テスト空間の効率的探索 ▶ カバレッジ基準を満たす最小テストセット導出 ▶
テストスイートの自動最適化 ▶ テストオラクル問題 ▶ ステークホルダーとの複雑なコミュニケーション ▶ UX の質的評価 ▶ 批判的思考の限界 ▶ 潜在ニーズの理解 ▶ 5
2. 報告された欠陥の分析にAI を活用 自然言語処理による欠陥分類 クリティカル性評価 欠陥報告書からの重要トピック抽出 ▶ クラスタリングアルゴリズムの適用 ▶ k
近傍法 ▶ サポートベクターマシン ▶ 類似・重複欠陥の特定 ▶ 過去の重大欠陥パターンの学習 ▶ システム障害リスクの予測 ▶ リソース配分の最適化 ▶ 6
2. 報告された欠陥の分析にAI を活用 修正担当者の最適割り当て 大規模プロジェクトでの効果 欠陥修正履歴の分析 ▶ 開発者スキルとのマッチング ▶ 修正効率の向上
▶ 自動欠陥報告システムとの連携 ▶ スケーラブルな欠陥管理 ▶ 分析工数の削減 ▶ 7
3. テストケース生成へのAI 活用 多角的なテスト生成アプローチ テストオラクル問題への対応 ソースコード解析ベース ▶ UI マップベース ▶
テストモデルベース ▶ システム動作監視ベース ▶ バックツーバックテスト ▶ 基本的な異常検知 ▶ モデルベースの期待値定義 ▶ 8
3. テストケース生成へのAI 活用 AI 手法の優位性 欠陥検出能力の向上 ▶ 同等カバレッジでより多くの欠陥を検出 ▶ デバッグ容易性の大幅改善
▶ 従来: 約15,000 ステップ - AI 活用: 約100 ステップ - 効率化と品質向上の両立 ▶ テストケース生成の自動化 ▶ 探索空間の効率的カバー ▶ メンテナンス性の向上 ▶ 9
4. リグレッションテストスイートの最適化 AI による包括的最適化 データ駆動型戦略 テスト実行履歴の分析 ▶ 欠陥検出パターンの学習 ▶ コード変更影響分析
▶ テストケース重要度評価 ▶ 高効率テストケースの優先順位付け ▶ 重複テストケースの統合 ▶ 低影響テストケースの除外 ▶ 新規テストケース追加判断 ▶ 10
4. リグレッションテストスイートの最適化 最適化効果の定量的評価 テストスイート規模の削減 ▶ サイズ: 50% 削減 ▶ 欠陥検出力:
維持 ▶ CI/CD 環境での効果 ▶ 実行時間: 40% 短縮 ▶ 品質: 同等レベル維持 ▶ 11
5. AI による欠陥予測 多面的予測要因 コード品質メトリクス ▶ 行数 ▶ 複雑度 ▶
結合度 ▶ プロセス特性 ▶ 変更頻度 ▶ レビュー状況 ▶ 組織要因 ▶ チーム構成 ▶ 開発者経験 ▶ 12
5. AI による欠陥予測 予測モデルの特徴 予測精度の決定要因 ▶ 人材・組織指標が最重要 ▶ 類似プロジェクト経験の活用 ▶
要因間の相互作用考慮 ▶ 実用上の留意点 ▶ データ品質の重要性 ▶ モデル更新の必要性 ▶ 予測結果の解釈方法 ▶ 13
6. ユーザーインターフェースのテストにAI を活用 GUI 要素の堅牢な識別 複数識別基準の動的評価 ▶ XPath ▶ ID
▶ 座標 ▶ ビジュアル特徴 ▶ 過去の安定性に基づく選択 ▶ 変更耐性の強化 ▶ 14
6. ユーザーインターフェースのテストにAI を活用 画像認識技術の活用 人間視点でのUI 操作 ▶ 非侵入型テスト実行 ▶ クロスプラットフォーム検証
▶ 15
6. ユーザーインターフェースのテストにAI を活用 GUI 品質の自動評価 受容性判断 ▶ ヒューリスティック評価 ▶ 教師あり学習による判定
▶ 変更検出 ▶ レイアウト崩れ ▶ スタイル変更 ▶ 互換性問題 ▶ ビジュアルリグレッション ▶ 16
まとめ 17
AI テスト技術の現状 ▶ 多様な適用領域の確立 - 具体的な効果の実証 - 実用レベルのツール登場 - 導入における注意点
▶ テストオラクル問題への対処 - データ品質の確保 - 人間の役割の再定義 - 今後の展望 ▶ AI 技術の進化による適用範囲拡大 - ハイブリッドアプローチの重要性 - テストプロセスの継続的改善 - 18
Appendix: 用語辞書 ベイジアン手法: 確率論的アプローチによる予測・推論手法 ▶ NLP (Natural Language Processing): 自然言語処理
▶ GUI (Graphical User Interface): グラフィカルユーザーインターフェース ▶ クラスタリングアルゴリズム: データの自動分類手法 ▶ k 近傍法: パターン認識のための機械学習アルゴリズム ▶ サポートベクターマシン: 教師あり学習による分類アルゴリズム ▶ テストオラクル: テスト結果の正否判定基準 ▶ リグレッションテスト: 回帰テスト、変更による影響確認テスト ▶ 19