| 摘要: |
| 随着深度学习等技术的快速发展以及计算机硬件、云计算等领域的重大突破, 日益成熟的人工智能技术已经被应用于不同场景的软件系统中. 这类以人工智能模型为核心组件的软件系统, 统称为智能软件系统, 按照人工智能技术的应用领域可分为图像处理应用、自然语言处理应用、语音处理应用等. 与传统软件系统不同, 人工智能模型采用数据驱动的编程范式, 其中所有的决策逻辑均通过大规模数据集学习得到. 这种范式的转变导致传统的基于代码的测试用例生成方法无法用于智能软件系统的质量评估. 因此, 近年来许多研究人员致力于面向智能软件系统的测试方法研究, 包括结合智能软件系统的特点提出新的测试用例生成方法、测试用例评估方法等. 围绕面向智能软件系统的测试用例生成方法调研80篇相关领域的文献, 将现有方法按照适配的系统类型进行分类, 对面向图像处理应用、自然语言处理应用、语音处理应用、点云处理应用、多模态数据处理应用以及深度学习模型的已有测试用例生成方法进行系统地梳理和总结. 最后, 对面向智能软件系统的测试用例生成方法的未来工作进行展望, 以期为该领域的研究人员提供参考. |
| 关键词: 人工智能软件系统 软件测试 测试用例生成 深度学习 |
| DOI:10.13328/j.cnki.jos.007450 |
| 分类号: |
| 基金项目:国家自然科学基金(62372225, 62272220) |
|
| Survey on Test Case Generation Methods for Intelligence Software Systems |
|
JI Pin, FENG Yang, WU Duo, LIU Jia, ZHAO Zhi-Hong
|
|
State Key Laboratory for Novel Software Technology (Nanjing University), Nanjing 210046, China
|
| Abstract: |
| With the rapid development of technologies such as deep learning and significant breakthroughs in areas including computer hardware and cloud computing, increasingly mature artificial intelligence (AI) technologies are being applied to software systems across various fields. Software systems that incorporate AI models as core components are collectively referred to as intelligence software systems. Based on the application fields of AI technologies, these systems are categorized into image processing, natural language processing, speech processing, and other applications. Unlike traditional software systems, AI models adopt a data-driven programming paradigm in which all decision logic is learned from large-scale datasets. This paradigm shift renders traditional code-based test case generation methods ineffective for evaluating the quality of intelligence software systems. As a result, numerous testing methods tailored for intelligence software systems have been proposed in recent years, including novel approaches for test case generation and evaluation that address the unique characteristics of such systems. This study reviews 80 relevant publications, classifies existing methods according to the types of systems they target, and systematically summarizes test case generation methods for image processing, natural language processing, speech processing, point cloud processing, multimodal data processing, and deep learning models. Potential future directions for test case generation in intelligence software systems are also discussed to provide a reference for researchers in this field. |
| Key words: artificial intelligence software system software testing test case generation deep learning |