[論文レビュー] Artificial Intelligence in Software Testing : Impact, Problems, Challenges and Prospect
AI 技術が STLC 全体のソフトウェアテストへどのように影響を与えるかの調査で、主な活動、技術、課題、今後の展望を記録する。
Artificial Intelligence (AI) is making a significant impact in multiple areas like medical, military, industrial, domestic, law, arts as AI is capable to perform several roles such as managing smart factories, driving autonomous vehicles, creating accurate weather forecasts, detecting cancer and personal assistants, etc. Software testing is the process of putting the software to test for some abnormal behaviour of the software. Software testing is a tedious, laborious and most time-consuming process. Automation tools have been developed that help to automate some activities of the testing process to enhance quality and timely delivery. Over time with the inclusion of continuous integration and continuous delivery (CI/CD) pipeline, automation tools are becoming less effective. The testing community is turning to AI to fill the gap as AI is able to check the code for bugs and errors without any human intervention and in a much faster way than humans. In this study, we aim to recognize the impact of AI technologies on various software testing activities or facets in the STLC. Further, the study aims to recognize and explain some of the biggest challenges software testers face while applying AI to testing. The paper also proposes some key contributions of AI in the future to the domain of software testing.
研究の動機と目的
- AI がプロセスに著しい影響を与えたソフトウェアテストの活動を特定する。
- ソフトウェアテストに最も広く適用されている AI 技術とその利点を要約する。
- テストに AI を適用する際にテスターが直面する主要な課題を強調する。
- ソフトウェアテスト領域における将来の AI の貢献と方向性を提案する。
提案手法
- ソフトウェアテストにおける AI に関する既存文献をレビューし、統合する。
- 各 STLC 活動に用いられる AI 技術を整理する(例:テストケース生成、テストデータ生成、テストオラクル)。
- AI アプローチをテスト結果とコストに対応づける。
- AI ベースのテストソリューションの実装における未解決問題と実務上の課題を論じる。
- AI ツールが最も影響を与えた領域の統合的な見解を提示する。
実験結果
リサーチクエスチョン
- RQ1どのソフトウェアテストの活動で AI 主導の改善が顕著に現れるか?
- RQ2ソフトウェアテストに最も一般的に適用されている AI 技術は何で、どの目的で使われているか?
- RQ3ソフトウェアテストに AI を適用する際の主な課題と限界は何か?
- RQ4ソフトウェアテストにとって最も有望な将来の AI の貢献は何か?
- RQ5AI は STLC 全体でテストの効率と品質にどのような影響を与えるか?
主な発見
| ソフトウェア テスト 活動 | 適用される AI 技術 |
|---|---|
| Test Case Generation | Inductive Learning - Active Learning - Ant Colony Optimization - Markov Model - AI Planner - GA - Tabu Search - NLP - Reinforcement Learning - C4.5 - Goal Based - Decision Tree - K-Nearest Neighbor - Logistic Regression - Random Forest - Multilayer Perceptron - K Star - LSTM - Heuristic Search |
| Test Data Generation | GA - Simulated Annealing - Hill Climbing - Generative Model - LSTM - Deep Reinforcement Learning - Ant Colony Optimization - Heuristic Methods |
| Test Oracle Construction | ANN - SVM - Decision Trees - AdaBoostM1 - Incremental Reduced Error Pruning (IREP) - Info Fuzzy Network |
| Test Case Prioritization | K-Means - Expectation-Maximization - C4.5 - Cob Web - Reinforcement Learning - CBR - ANN - Markov Model - K-NN - Logistic Regression - SVM Rank |
| Test Case Specification | IFN - C4.5 |
| Test Case Refinement | IFN - Classification Tree Method |
- AI 技術は以下の7つのソフトウェアテスト活動に顕著な影響を与えている:テストケース生成、テストオラクルの構築、テストデータ生成、テストケースの優先度付け、テストケースの仕様、テストケースの改良、テストコスト見積もり。
- テストケース生成、テストケースの優先度付け、テストデータ生成、テストオラクル構築が、AI 主導の研究と利得が最も多い分野である。
- 最適化志向の AI 手法(例:遺伝的アルゴリズム、人工ニューラルネットワーク、強化学習)は、テスト活動全般で最も頻繁に現れる。
- AI 支援テストは、増大するソフトウェアの複雑さと納期の管理ニーズに動機づけられ、時間・労力・コストを削減することを目指す。
- AI をテストに適用する際には、テストオラクル問題として知られる持続的で中心的な課題が存在する。
- テストにおける AI アプリケーションは、データ品質、モデルの一般化、既存のワークフローへの統合といった実務的な課題にも直面している。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。