《A3-黄立华-基于现有开源大模型分析需求生成自动化用例探索.pdf》由会员分享,可在线阅读,更多相关《A3-黄立华-基于现有开源大模型分析需求生成自动化用例探索.pdf(38页珍藏版)》请在三个皮匠报告上搜索。
1、基于大模型分析需求生成自动化用例探索黄立华主要从事自动化、性能、可靠性测试能力构建、测试设计、测试执行负责智能化测试。华为技术有限公司GTS 测试专家嘉宾照片目录CONTENTS背景、要解决的问题01 解决思路/方案/框架02 具体解决方法、技术实践03 落地效果与总结、启发04 展望未来05 01议题背景业务背景CS产品是类似于京东的云化平台系统,1.5个月发布一次版本,测试周期是14天,需求多、碎小和紧急,每个需求都有对原有的页面修改或者新增页面和流程。业务痛点1、版本新特性测试问题仍占大头,测试设计遗漏占月度产品问题的60%。2、历史特性不充分:新增用户使用场景后历史特性问题暴露,占比由
2、39%提升至60%。3450835999686958050100150历史特性问题新特性问题月活增加历史特性问题增多优秀测试设计用例少,掌握测试设计方法能力少,随产品上量使用,产品问题逆向分析测试设计遗漏多5960759600020030011产品问题趋势曲线网上问题数测试设计TOP问题占比正常场景遗漏30%异常场景遗漏20%用例描述不精确20%测试设计checklist未完成全量排查10%性能可靠性分析场景遗漏10%安全测试点设计缺失5%特性交互分析遗漏5%自动化测试痛点自动化测试人员,5,11%手工测试人员,40,89%自动
3、化人员占手工测试比率红色是手工测试人员数量,蓝色是自动化测试人员数量不懂代码,无法写自动化用例自动化率低,未自动化依赖手工策略性覆盖,存在策略遗漏风险痛点解决思路方向如何利用现有开源大模型给出测试验证点并生成自动化测试用例,来提升测试设计质量和测试用例量,全员都能实现自动化测试经理自动化测试手工测试不懂业务,用例实现自动化进度缓慢,一天4个,主要耗时在业务理解和用例、规格理解。开源大模型痛点 给定:功能场景描述 生成:测试验证点推荐安全性验证点数据完整性验证点功能正确性验证点异常场景验证点兼容性验证点痛点:这些验证点无法形成真正用例,如何发力利用大模型从需求到自动化代码一键式生成02解决整体方
4、案解决方案测试用例需求自动化测试代码测试执行结果测试验证点1.需求详情(语料规范)作为Prompt输入LLM2.LLM根据输入Prompt生成测试验证点LLM关键能力:自然语言理解能力、长文本分析能力1.构建测试因子库,因子库广度和质量优化。2.测试验证点+推荐测试因子+测试设计方法提示输入LLM3.LLM基于测试验证点与测试因子库生成测试用例。LLM关键能力:自然语言理解、测试设计方法理解1.测试用例输入LLM+自动化测试代码生成要求构造Prompt,输入LLM2.LLM基于输入要求,生成对应自动化测试代码返回3.针对返回代码自动进行测试框架适配调整:UI元素定位信息+测试断言补充,最终生成
5、可执行自动化测试代码。LLM关键能力:基于业界通用编程语言、自动化测试框架的代码生成能力测试验证点生成1测试用例生成2自动化测试代码生成3大模型解决方案业务架构测试工程师开发工程师大模型从需求生成自动化系统开发转测试集成验证需求的测试设计和测试历史需求的补充测试设计环境管理平台分配执行环境探索执行三方支撑系统返回可执行自动化代码测试领域专业知识库03具体方法与技术实践关键技术1:如何让大模型理解需求并给出相关测试验证点测试专业语料仓库场景分类一级场景二级场景三级场景兼容性测试场景接口测试场景南向接口测试验证点接口正常测试场景或正常测试验证点北向接口测试验证点接口异常测试场景或异常测试验证点中间
6、件接口测试验证点接口为空测试失败场景或为空测试验证点三方件接口测试验证点接口超规格测试失败场景或超规格测试验证点接口状态码遍历测试场景或者测试验证点接口必填字段测试场景或者测试验证点接口边界值测试场景或者测试验证点接口可靠性测试场景或者测试验证点接口压力测试场景或者测试验证点接口错误输入测试场景或者测试验证点接口存在脏数据测试场景或者测试验证点接口前后台校验测试验证点或者测试场景接口WEB安全测试验证点或者测试场景接口URL安全测试验证点或者测试场景接口审计日志安全测试验证点或者测试场景接口SQL注入日志安全测试验证点或者测试场景接口越权安全测试验证点或者测试场景接口xml注入测试验证点或者测
7、试场景接口命令注入测试验证点或者测试场景接口敏感数据保护安全测试验证点或者测试场景接口隐私保护安全测试验证点或者测试场景接口加密保护安全测试验证点或者测试场景测试专业语料仓库ChatGLM-6B大模型需求验证标准需求规格需求详情页面SE和TSE输出测试设计方法复选框【可选】等价类、边界值数据组合(AC、EC、BC)、N-SWITCH1)正常测试场景和2)异常测试场景3)为空测试失败场景)4)超规格测试失败场景组装成语料prompt每一句话打上测试设计方法标签输出测试验证点复选语料用户选择强化学习循环问,持续出结果关键技术2:如何根据大模型的测试验证点进行推荐输出相关符合要求的测试用例大模型输出
8、相关验证点转换成测试用例标题文本相似度算法测试因子库测试专业领域知识库因子标题因子操作描述相似度从大到小排序手工选择相关因子大模型根据因子生成正常和异常用例组装prompt语料测试专业语料仓库人工检查大模型用例TF-IDF算法1)正常场景和2)异常场景3)为空失败场景)4)超规格失败场景TF-IDF算法:以词频为基础计算的相似度关键技术3:页面控件提取构建积木仓库Huawei Confidential19文本测试用例生成UI自动化代码-积木仓构建背景测试用例标题系统登录测试用例步骤1.使用正确的用户名和密码,采取账户登录方式进行登录预期结果登录成功代码世界 困惑:1.如何让代码理解测试用例步骤
9、,并转换成用户行为操作步骤,最后转换成让大模型能够生成正确UI自动化代码的prompt语料信息。2.界面上相同的元素,自然语言的描述到底是操作哪个对象小模型小模型解决方案:1234切割出页面控件出来供用户编排,按坐标来知道操作哪个对象用例步骤使用文本相似度找类似用户操作组装成大模型生成代码的promptN多页面切割之后去重形成积木仓供用户按页面选择供其他用例通过相似度算法生成大模型prompt关键技术4:如何根据大模型输出相关UI代码生成相关的自动化用例代码大模型输出测试用例每个测试步骤+”生成selenium的java自动化代码”promptAW库自动化专业领域知识大模型代码正则识别封装AW
10、AW代码相似度对比(去除XPATH)WebTest用例框架替换积木仓功能转换成操作步骤大模型生成语义selenium自动化代码WebTest自动化用例框架相似度100%不处理相似度小于100%进入AW仓代码相似度算法是Jaccard相似度AW就是一种API,面向测试人员的API,公共函数关键技术5:大模型的xpath如何探索变成产品自身的AW和正确的产品xpath关键技术5背景-大模型的xpath为什么要替换正则大模式生成代码初始化代码,该代码红色框信息直接在被测系统运行时无法运行的,因为xpath信息不对public WebDriver LoginAW()throws ExceptionSy
11、stem.setProperty(webdriver.chrome.driver,path/to/chromedriver);WebDriver driver=new ChromeDriver();driver.get(https:/XXXX/login.aspx);driver.manage().timeouts().implicitlyWait(30,java.util.concurrent.TimeUnit.SECONDS);driver.manage().windows().maximize();WebElement usernameInput=driver.findElement(B
12、y.id(username);usernameInput.sendKyes(your username);WebElement passwordInput=driver.findElement(By.id(password);passwordInput.sendKyes(your password);WebElement loginButton=driver.findElement(By.id(login-button);loginButton.click();return driver;123核心问题是怎么解决半成品的代码xpath如何进行页面探索识别对象生成每条语句符合产品要求的xpath
13、,使UI自动化用例代码正确执行。04落地效果与总结从需求到自动化用例生成页面生成的一个完整需求大模型自动化用例用例步骤敏感,不输出用例信息,只输出代码测试步骤1:登录场景测试步骤2大模型自动化代码生成测试步骤2:进行点击一个功能按钮【信息安全不能写具体含义】测试步骤3大模型自动化代码生成测试步骤3:进行点击一个功能按钮,查看明细信息【后面的代码不再展示,信息安全不能写具体含义】1.场景级自动化用例建设效率由每人天4个提升到每人天15个【时间消耗在测试因子补充】2.测试用例自动化率由50%提升到80%,解决了测试经理困惑,不会存在测试策略遗漏3.产品漏测问题降低因大模型生成的验证点生成的测试用例
14、增加大模型使用前大模型使用后41416自动化建设效(/1人天)508000708090用例自动化率(%)大模型使用前大模型使用后1.自动化建设人力由5个提升到100%,降低了自动化建设门槛,人人可以参与到自动化建设。2.大模型补充测试用例4000个,代码覆盖率由50%提升到65%,测试设计遗漏减少了。3.测试因子由5000个提升到8000个,测试因子利用率由15%提升到100%。资产和经验沉淀,积累到工具上。大模型使用前大模型使用后大模型使用前大模型使用后50650070代码覆盖率(%)5000800000400050006000700080009000测试因子个数05展望未来在智能体检输出验证标准上利用大模型理解需求,输出需求的验收标准性能背景数据量构建方面发力,实现被测系统的数据跟镜像环境数据能够一致感谢聆听关注QECon公众号