大语言模型赋能自动化测试实践、挑战与展望-复旦大学(董震)_第1页
大语言模型赋能自动化测试实践、挑战与展望-复旦大学(董震)_第2页
大语言模型赋能自动化测试实践、挑战与展望-复旦大学(董震)_第3页
大语言模型赋能自动化测试实践、挑战与展望-复旦大学(董震)_第4页
大语言模型赋能自动化测试实践、挑战与展望-复旦大学(董震)_第5页
已阅读5页,还剩87页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

大语言模型赋能自动化测试实践、挑战与展望报告人:董震复旦大学计算机学院背景介绍案例分享001基于大语言模型的等价类划分测试技术02基于大语言模型的测试输入增强三挑战与展望03基于大语言模型的场景测试用例生成04基于大语言模型的跨APP测试用例迁移三挑战与展望一背景介绍大语言模型(LLM)的演变图片来源:Yang,J.,Jin,H.,Tang,R.,Han,X.,Feng,Q.,Jia大语言模型(LLM)的应用大语言模型(LLM)应用案例图片来源:Hong,S.,Zheng,X.,Chen,J.,Cheng,Y.,Wang,J.,Zhang,C.,...&Wu,C.(2023).Metagpt:Me软件测试全流程中的大语言模型(LLM)l测试输入生成ll测试输入生成l测试用例生成lOracle生成ll回归测试用例生成测试报告与评测试报告与评l业务逻辑分析l测试场景分析l边界条件识别缺陷管理与回归测缺陷管理与回归测测试执行测试执行测试计划制定测试计划制定测试设计与实现结构化报告生成l测试设计与实现结构化报告生成l测试集优化与选择l测试集优化与选择l测试用例执行l反馈分析与策略调整l测试计划生成l风险预测l测试优先级建议案例分享案例分享二基于大语言模型的等价类划分测试技术等价类划分2.程序显示此三角形是等边三角形(三条边都相等)、等腰三角形(只有两条边相等)或432不等边三角形432等边三角形22等腰三角形等价类划分输入非三角形输入非三角形三角形三角形根据“输出”情况细分“三角形”主类等边等边三角形等腰三角形等腰三角形不等边三角形<200,100,200>代表所有“等腰三角形”大语言模型的常识推理与代码理解能力用于判断三角形的程序代码大语言模型对代码的理解大语言模型具备常识推理与代码理解的能力利用大语言模型进行等价类划分测试由于大语言模型具备常识推理和代码理解能力,我们可以利用其分析程序代码,自动划分适当的等价类。随后,为每个等价类生成若干输入,从而提升输入生成的效率。用于判断三角形的程序代码任何一对边的和不大于第三边三条边都相等有两条边相等,第三条边不同三条边都不相等大模型划分出的等价类大模型生成的测试输入基于大语言模型的等价类划分测试工具由于大语言模型具备常识推理和代码理解能力,我们可以利用其分析程序代码,自动划分适当的等价类。随后,为每个等价类生成若干输入,从而提升输入生成的效率。程序源代码我们从10个第三方开源库中选取了共2205个方法对工具进行了性能测试,并设计对比实验。结果如下:①基于大语言模型的等价类划分测试工具使用更少的输入,达到更高的覆盖②在等价类划分是增加更多的深层函数信息不能提升工具的覆盖效果结论①基于大语言模型的等价类划分测试工具的生成效果远好于传统的基于搜索的软件测试生成工具以及符号执行工具,证明了将大语言模型与等价类划分测试结合可以显著提高测试效率。②提供待测方法调用的更深层次代码并没有显著提高大语言模型划分等价类的效果,反而大大增加了成本。基于大语言模型的测试输入增强测试输入增强测试输入增强:就是在现有测试用例的基础上为测试生成更多样化的输入,来覆盖不同的场景增强前增强前用户名:user123密码:password123增强后增强后用户名:user123密码:p用户名:user!@#密码:password123密码:password123基于大语言模型的测试输入增强大语言模型凭借其语义理解和常识推理能力,能够在示例:测试应用在不同区域下的搜索功能,软件依据地区和时区提供符合当前参数名参数含义region地区名称query搜索的内容tzname时区名称version应用的版本号有效输入无效输入地区与时区不匹配流量数据使用录制使用系统用户待测试系统流量数据基于流量数据的大语言模型测试输入增强工具①工具从流量数据中提取参数间约束关系 统计学算法预分析&流量数据潜在约束关系的参数对经过约减的流量数据模型推断出的约束基于流量数据的大语言模型测试输入增强工具②结合参数间约束关系,辅助大语言模型生成高质量测试输入以实现输入增强LLM分析出的约束条件结合约束生成的有效输入我们工具已在某企业的2个业务模块上进行落地实验,涵盖不同的功能接口。结果如下:①基于流量数据的大语言模型测试输入增强工具协助团队提升了代码覆盖率②去掉预分析及流量约减后,提取出的有效约束数量减少9结论①利用实际的流量数据与大语言模型结合进行测试输入增强,可以生成更多符合系统实际运行场景的测试输入,从而提高测试的全面性和覆盖率。②预分析及流量约减对有效约束的提取至关重要,可以有效减少LLM处理过程中可能产生的幻觉问题,避免因数据过载或不相关信息干扰导致的错误推断。基于大语言模型的场景测试用例生成测试场景:描述用户在某个具体情况下会怎么操作软件,用来检查系统在这个情况下能不能正常工作。 搜索想购买的商品名称 点击商品进入详情页 点击立即购买 选择地址和支付方式点击支付按钮点击支付按钮场景测试用例场景测试用例由操作、测试输入、预期结果构成操作搜索搜索查看详情购买修改提交测试输入手机手机当前详情页中的手机地址和支付方式其中一个手机结算详情预期结果预期成功修改地址和支付方式预期成功修改地址和支付方式预期返回支付成功提示,并生成订单号预期加载该手机详情预期显示手机商品预期进入结算页面传统人工编写场景测试用例代码①操作步骤:根据测试用例描述文档,结合API文档或与开发人员沟通,人工逐步模拟用户的操作流程。②测试输入:根据测试需求,手动准备场景需要的测试输入。③预期结果:通过理解业务逻辑,手动编写断言验证每一步操作后产生的结果是否正确。API文档测试用例描述文档 人工理解推断后编写 人工理解推断后编写场景测试用例代码』场景测试用例代码基于大语言模型生成场景测试用例的挑战我们尝试利用大语言模型的自然语言理解和代码生成能力,直接通过大语言模型解析测试用例描述文档和API文档,生成测试用例代码,但效果不佳。经分析,主要原因是:①测试用例描述文档编写质量参差不齐②API文档维护不及时需要真实且符合测试用例描述文档的实时数据场景流量数据场景流量:在测试场景下,系统按顺序发送和接收的所有网络请求与响应。条目2条目3条目4条目5操作步骤搜索搜索查看详情购买购买修改修改提交提交用户输入手机手机当前详情页中的手机地址和支付方式其中一个手机结算详情系统输出显示进入结算页面显示进入结算页面成功修改地址和支付方式返回支付成功提示,并显示订单号该手机的详情手机商品列表基于大语言模型的测试用例生成工具基于录制的场景流量数据,结合大模型对测试用例描述文档的语义理解,生成场景测试用例场景流量信息测试用例描述文档结合流量与文档分析场景测试用例代码工具效果与结论用于验证专辑信息修改功能的测试用例基于大语言模型的跨APP测试用例迁移移动应用测试移动应用测试的挑战!测试用例迁移案例分析源购物清单应用的测试用例:测试价格降序功能,下图为该测试案例分析而在目标应用中的价格降序功能的工作流却 利用大模型克服挑战利用大模型克服挑战 方法控件上下文控件上下文 ?LLM#SuccessRate:成功迁移率#Time#SuccessRate:成功迁移率#Time:迁移1条测试用例的平均耗时(min)#SuccessRate提供上下文48不提供上下文69%4.5控件识别利用XML进行控件识别LLMLLM利用图像进行控件识别图像即应用界面

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论