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
44
(論文読み)BigCodeBench: 多様な関数呼び出しと複雑な指示を用いたコード生成のベンチマーキング
__ymgc__
1
37
(論文読み)Very Large-Scale Multi-Agent Simulation in AgentScope
__ymgc__
1
28
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
10個のフィルタをAXI4-Streamでつなげてみた
marsee101
0
170
[Ruby] Develop a Morse Code Learning Gem & Beep from Strings
oguressive
1
170
マイクロサービスにおける容易なトランザクション管理に向けて
scalar
0
140
re:Invent をおうちで楽しんでみた ~CloudWatch のオブザーバビリティ機能がスゴい!/ Enjoyed AWS re:Invent from Home and CloudWatch Observability Feature is Amazing!
yuj1osm
0
130
Amazon SageMaker Unified Studio(Preview)、Lakehouse と Amazon S3 Tables
ishikawa_satoru
0
160
ガバメントクラウドのセキュリティ対策事例について
fujisawaryohei
0
560
.NET 9 のパフォーマンス改善
nenonaninu
0
1k
ずっと昔に Star をつけたはずの思い出せない GitHub リポジトリを見つけたい!
rokuosan
0
150
PHPからGoへのマイグレーション for DMMアフィリエイト
yabakokobayashi
1
170
多領域インシデントマネジメントへの挑戦:ハードウェアとソフトウェアの融合が生む課題/Challenge to multidisciplinary incident management: Issues created by the fusion of hardware and software
bitkey
PRO
2
110
Wantedly での Datadog 活用事例
bgpat
1
520
KubeCon NA 2024 Recap: How to Move from Ingress to Gateway API with Minimal Hassle
ysakotch
0
210
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
29
2k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
229
52k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
Why Our Code Smells
bkeepers
PRO
335
57k
No one is an island. Learnings from fostering a developers community.
thoeni
19
3k
Raft: Consensus for Rubyists
vanstee
137
6.7k
Designing for Performance
lara
604
68k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
169
50k
Put a Button on it: Removing Barriers to Going Fast.
kastner
59
3.6k
Designing on Purpose - Digital PM Summit 2013
jponch
116
7k
Embracing the Ebb and Flow
colly
84
4.5k
Building Adaptive Systems
keathley
38
2.3k
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