Page 81 - 《软件学报》2025年第12期
P. 81

5462                                                      软件学报  2025  年第  36  卷第  12  期


                    除了内部测试之外, 为进一步了解用户诉求, DevEco Testing Hypium           团队发布了     DevEco Testing Hypium  基
                 础测试框架及能力增强的         SDK, 并提供了面向鸿蒙操作系统自身应用的基础录制回放工具. 然而, 对于新手测试
                 人员, 由于其缺乏应用自动化测试经验, 相关测试工具技术门槛高, 难以从其他平台进行直接迁移. 此外, 自动化测
                 试效率, 包括控件定位准确性、UI 界面反复变化等问题也是自动化测试工具面临的难题.
                  2.3   大语言模型
                    大语言模型是基于深度学习技术训练的大规模神经网络, 能够理解和生成自然语言文本. 它们的核心在于使
                 用大量文本数据进行训练, 通过学习文本数据中的模式、关系和上下文信息, 从而具备处理复杂语言任务的能力.
                 随着计算能力的提升和海量数据的积累, 语言模型的规模和复杂性也在不断增加, 使得它们在各种自然语言处理
                 任务中表现出色. GPT-4o     是  OpenAI 开发的最新一代大语言模型. GPT-4o       是一个多模态大模型, 支持文本、音频
                 和图像的任意组合输入, 并能生成文本、音频和图像的任意组合输出. 与现有模型相比, 在模型规模、训练数据量

                 和算法优化上都有显著提升, 具备更高的语言理解和生成能力, 同时在视觉和音频理解方面尤其出色.
                    在软件测试领域, 大语言模型的引入带来了革命性的变化. 传统的软件测试方法往往依赖于人工编写测试用
                 例、手动分析缺陷和日志文件, 这不仅费时费力, 还容易出现遗漏和错误. 大语言模型通过其强大的自然语言处理
                 能力, 可以在多个方面提升软件测试的效率和效果.
                    针对现有的基于模型等的          GUI 测试工具面临测试覆盖率低、泛化能力不足和对训练数据依赖性强等问题,
                 Liu  等人  [41]  提出了一种新颖的自动化   GUI 测试方法    GPTDroid, 该方法将大语言模型应用于移动          GUI 测试, 通过
                 功能感知的记忆提示机制, 解决了           LLM  在多轮交互中可能面临的记忆困难和局部困境问题, 实现了类人交互, 在
                 移动  GUI 测试中展现出优异的性能. 该方法不仅在测试覆盖率和错误检测率上显著优于现有方法, 还能够发现并

                 报告实际应用中的错误, 为开发者提供了有价值的反馈. 在测试用例生成方面, Hu                       等人  [42]  提出了一种结合生成式
                 AI 的灰盒模糊测试方法, 通过利用          LLM  生成多样化的测试输入, 能够提高模糊测试的覆盖率和错误检测能力.
                 Chen  等人  [43]  介绍了一个基于  ChatGPT  的自动单元测试生成工具      ChatUniTest, 该工具能够有效生成高质量的单
                 元测试用例, 减少了手动编写测试用例的时间和成本. Plein              等人  [44]  探讨了利用大型语言模型基于错误报告自动生
                 成测试用例的可行性, 研究表明, 利用大型语言模型可以有效地从错误报告中提取信息, 并生成相应的测试用例,
                 从而提高软件测试的效率和覆盖率. 在程序修复方面, Fan                等人  [45]  提出了一种利用大型语言模型进行程序自动修
                 复的方法, 通过对大型语言模型进行微调, 可以生成高质量的修复代码, 提高程序修复的效率和准确性. Xia                                等
                 人  [46]  探讨了在大规模预训练语言模型时代的实际程序修复方法, 通过对大规模预训练模型进行微调和优化, 能够
                 显著提高程序修复的效果. 在程序调试            (包括错误定位和解释) 方面, Plein      等人  [47]  探讨了大型语言模型在解读错
                 误报告中的应用发现大语言模型能够有效生成错误报告的自然语言解释, 帮助开发者更快地理解和解决问题.
                 Taylor 等人  [48]  介绍了一种名为  Dcc--help  的方法, 通过大型语言模型生成上下文感知的编译器错误解释, 该方法
                 能够生成针对特定错误的详细解释, 帮助新手程序员理解错误原因. Kang                     等人  [49]  提出了一种基于大型语言模型
                 驱动的科学调试方法, 通过自动生成假设、观察和得出结论的循环过程, 使得模型能够自动调试代码并生成可解
                 释的调试信息.
                  3   研究动机

                    根据全国    App  技术检测平台统计, 截至      2023  年  6  月底, 我国国内市场上监测到活跃的        App  数量为  260  万款
                 (https://wap.miit.gov.cn/gxsj/tjfx/hlw/art/2023/art_1e078242dee140cb99d46ecc070e7717.html). 目前, 除了安卓系统和
                 iOS  系统, 基于鸿蒙系统进行开发的应用数量也逐渐增多. 面对不同平台、不同设备、甚至不同版本, 移动应用在
                 界面布局、功能实现和用户交互流程等诸多方面上均存在一定的差异, 使得利用录制回放技术进行软件测试时会
                 出现录制冗余和录制回放两大问题, 不便于测试的高效化进行, 这对于软件测试是一项巨大的挑战.
                    录制冗余指的是在录制过程中, 记录下了在实际回放时不必要或多余的操作步骤, 这些步骤在目标环境的测
   76   77   78   79   80   81   82   83   84   85   86