2023年6月28日发(作者:)
苏宁蛙测u0026SAT在⾃动化测试⽅⾯的应⽤前⾔2018 年苏宁易购提出了智慧零售⼤开发战略,业务快速发展对苏宁的 IT 技术提出了更⾼的要求,其中⼀个重要的环节就是加快软件版本的上线步伐,伴随着软件的频繁快速上线迭代必然存在巨⼤的测试压⼒。通常情况下,软件测试的⼯作量很⼤。⽽频繁版本迭代中,针对⽼功能的回归测试是重复性的且这类测试⽐较耗时耗⼒,并要求做准确细致的⼯作,这样,计算机就⽐⼈更适合完成任务。另⼀⽅⾯,⼿⼯测试存在诸多的局限性。于是,就诞⽣了软件⾃动化测试这个领域。软件⾃动化测试是相对⼿⼯测试⽽存在的,主要是通过所开发的软件测试⼯具、脚本等来实现。2011年以前,针对⾃动化测试,苏宁各业务部门会安排⼀有代码能⼒的测试⼈员,全职编写⾃动化脚本,有⼈⽤java、有⼈⽤python,有⼈⽤ruby等等,并没有⼀个体系性、标准化、流程化的规范,因此也导致脚本维护成本⾼,复⽤性低,同时对测试⼈员的技能门槛⽐较⾼。在这样的背景下,开始了我们苏宁⾃动化测试实践之路。下⾯我来为⼤家详细介绍。1 SAT是什么苏宁⾃动化测试⼯具(Suning Automation Tester)——简称u0026quot;SATu0026quot;,是苏宁测试平台研发中⼼⾃主研发的集WEB页⾯、HTTP及RSF协议、⼿机终端、数据库操作、LINUX操作等⽅⾯的于⼀体的⾃动化测试⼯具。SAT是基于RCP平台上实现⾃动化⽤例设计和⾃动化执⾏的⼯具。它采⽤⾃动化测试架构中的关键字驱动(Keyword)思想,使测试设计和测试实现分离,将实现不同公共组件类、业务类Keyword集成到⼀个⽤例中运⾏,也最⼤限度地实现Keyword共享,降低测试组重复开发的⼯作量,使测试⼈员可以更关注业务本⾝的测试;另外⼯具提供了完善的⽇志和测试报告功能,⽅便⽤户查看⽤例执⾏⽇志和批量执⾏测试报告;最⼤限度地降低⼯具使⽤门槛,提⾼了其⾃动化开发、测试效率。1.1 应⽤范围Web应⽤软件产品测试移动应⽤产品⾃动化测试,⽀持移动端Android、iOS两⼤主流操作系统协议接⼝测试(HTTP、RSF、MQ)数据库操作⽀持SAP类型测试1.2 特点优势浏览器/移动终端录制功能,⾃动⽣成脚本拖拽关键字快速⽣成测试脚本,降低⾃动化门槛业务关键字⾃由配置,满⾜业务扩展测试数据独⽴存储,维护成本较低测试脚本等相关资产可共享协作,提⾼测试⼯作效率2 蛙测是什么蛙测是苏宁⾃主研发的⼀套综合测试服务平台,是⾯向软件从业者的⼀体化测试解决⽅案,包含移动端 (Androidu0026amp;iOS)⾃动化测试和专项测试、 PC端多浏览器兼容性测试、接⼝协议⾃动化测试,以及性能测试和安全测试的云测平台,解决⼴⼤开发者和测试者在应⽤研发过程中⾯临的成本、技术和效率问题,提供7x24全天候服务。平台核⼼服务有功能测试、⾃动化测试、性能测试、稳定性测试以及安全测试等,对应⽤软件提供360度全⽅位⾃动化检测,有效节约成本,提⾼了版本回归测试效率,为苏宁软件质量保驾护航。3 蛙测⾃动化⽅⾯特点移动设备/PC终端资源共享,节约成本App应⽤都需要在主流机型上测试验证,需要购买较多移动设备,采⽤蛙测平台后,可以做到移动设备资源共享。PC端测试,解决本地编辑、在线编辑、云端执⾏的冲突和效率问题,蛙测提供了测试集群,根据有效规则指定测试执⾏器消化测试任务。测试计划随时创建,云端多机并⾏执⾏,多终端⽀持,执⾏计划灵活设置测试资源池化,7x24全天候服务,⽴即执⾏、定时/循环定时执⾏、条件触发执⾏等不同执⾏计划按需设置,多云端设备串⾏、并⾏测试,效率⾼,报告⽇志实时查看,持续追踪。多⼿段⾃动⽣成测试数据,⾼效⾼质量构造数据⼿段丰富,⽀持SQL语句、UI和接⼝⾃动化,⽆逢对接企业现有逻辑,百余台服务器7*24⼩时提供服务,保障数据的⾼效⽣成。数据构造集中管理,避免各⾃为战,严谨的数据复检功能。Mock测试,设置⽅便灵活,千⼈千⾯,满⾜多种业务场景⽀持⽤户创建全局和请求级桩服务,⽀持HTTP、ESB、RPC 等协议 Mock,对代码⽆侵⼊,⽀持同步、异步以及回调场景等功能,提供调⽤⽇志查询,满⾜多种应⽤场景。同时与服务管理平台、⼀建站系统打通,让接⼝测试更便捷,更简单。4 蛙测u0026amp;SAT技术架构蛙测的技术架构SAT的技术框架蛙测平台的技术框架5 蛙测u0026amp;SAT在⾃动化测试实际应⽤5.1 ⾃动化测试脚本实际应⽤5.1.1 数据定义的应⽤全局变量:基于对业务的理解抽取公共字段定义变量局部变量:根据数据的复杂度决定使⽤组合关键字定义变量,或⽤表格定义数据实现⽤例数据分离5.1.2 组合关键字的应⽤多操作步骤封装为⼀场景步骤关键字,⼤⼤减少了测试脚本的步骤数,提升了脚本可读性,且该组合关键字后续可重复拖拽使⽤,有效提⾼了脚本编写效率,减少了维护成本。操作:选择合适的场景—u0026gt;封装组合关键字—u0026gt;拖拽组合关键字⾄测试⽤例选择合适场景封装组合关键字引⽤组合关键字后脚本测试步骤展⽰:5.1.3 原⼦⽤例的应⽤原⼦⽤例的设计为实现⾼可维护性⾃动化提供⼀种解决⽅案,单场景复⽤,便于测试场景的有效列举。操作:选择合适⽤例—u0026gt;设置原⼦⽤例—u0026gt;拖拽原⼦测试⽤例⾄测试⽤例⽤例树区分展⽰原⼦⽤例、普通⽤例、已引⽤原⼦⽤例的⽤例;业务⽤例中拖拽引⽤原⼦案例,根据业务场景多次引⽤相应场景原⼦⽤例,编写对应场景⽤例5.1.4 应⽤效果基于对业务的理解抽取公共数据、公共逻辑实现组合关键字、原⼦⽤例,⾃动化脚本优势可充分利⽤并放⼤实际应⽤效果脚本可读性⾼降低测试⽤例的冗余度,⼤⼤减少步骤数,也提⾼可读性减少编写案例的⼯作量公共逻辑可复⽤性强组合关键字/原⼦⽤例存在共性,可供重复引⽤便于测试场景的有效列举脚本可扩展性⾼/维护成本低需求发⽣变更,只要维护少量组合关键字/原⼦⽤例⼤⼤降低维护成本⽆论业务如何变化,合理使⽤好组合关键字、原⼦⽤例,抽取数据做好数据定义,这两项能为⼤家的⾃动化测试⼯作保驾护航。(Tips:⼯具提供的只是⼿段,最核⼼的还是需要⼤家深⼊理解、挖掘业务)5.2 mock实际应⽤桩发展历程:最初SAT端只⽀持请求级别桩,但是异步的rsf请求中,找桩标记⽆法⾃动下传,需要服务修改代码把找桩标记下传后才可使⽤。后经过多⽅研讨,决定把桩服务升级应⽤于蛙测平台,通过对接⼝设置挡板的⽅式,构建测试数据实现千⼈千⾯,也就有了现在的全局桩、UI 桩、回调桩等全⾯桩。5.2.1 请求调⽤请求桩/全局桩实际应⽤脚本中rsf埋桩demo展⽰⽰例:设置桩响应条件,填写请求报⽂相应属性路径下,参数的属性值,接⼝请求时,根据响应条件的匹配,返回相应设置的模拟桩,即做到某桩在某请求条件满⾜响应条件下⽣效,真正做到千⼈(桩响应条件)千⾯(桩响应报⽂)。SAT端桩响应条件设置蛙测端桩响应条件设置5.2.3 MQ接收MQ接收的场景⼀般分为以下两类:场景⼀:通过MQ队列接收数据之后直接存库;场景⼆:通过MQ队列接收数据后需要继续调⽤处理其他资源,然后⼊库/⼊缓存等操作。⾃动化实现:场景⼀ 场景⼆截图中测试步骤列举的为MQ收到消息需要调⽤其他资源需要⽤到的⼀些关键字。MQ场景⼆涉及调⽤其它资源,为独⽴测试该场景,mock相应依赖,因此引⼊全局桩的概念。5.2.3 应⽤效果请求级别桩优势:桩数据在本地,对蛙测依赖⼩通过SAT⽇志就能定位问题,⽅便简洁全局桩优势:⽀持场景丰富,同步/异步请求都⽀持,且不需要被测系统嵌⼊代码通过构造请求报⽂的多样性,实现千⼈千⾯蛙测⽀持多机并⾏根据请求桩与全局桩存在不同优势,结合业务需求相应结合使⽤,实现Mock测试,摆脱被测系统间依赖,提⾼测试质量及效率,同时成功解决测试⼈员、开发⼈员在测试和研发过程中,数据构造、环境依赖等痛点,⼤⼤提⾼了⽣产效率,提⾼测试场景的覆盖率,保障了业务版本上线的质量。6蛙测u0026amp; SAT解决的问题和实现的价值6.1 解决的问题⽤户⼿⼯测试耗时长效率低⾃动化脚本写作门槛⾼⾃动化脚本维护成本⾼,复⽤率低⽤户⾃动化执⾏需占⽤本机的资源⽤户缺少特定测试设备单机执⾏并发度低,测试耗时久,效率低下本地执⾏后测试结果⽆法有效追踪接⼝测试时依赖⽅不可⽤,测试⼈员⽆法提前介⼊测试构造异常数据流程复杂,⽆法很快⽣成,影响测试效率依赖⽅涉及到现⾦交易,测试成本⾼6.2 实现的价值测试资源池化,多浏览器、多终端设备、稀缺资源统⼀管理降低测试成本,测试设备在云端,共享使⽤多维度并发执⾏,提⾼测试效率云端任务执⾏,测试结果持续追踪,摆脱被测系统间依赖,⾃已的测试⾃⼰做主数据构造集中管理,统⼀调度7 总结⽬前蛙测u0026amp;SAT在苏宁集团各业态已全⾯应⽤,包含苏宁易购、物流、⾦融、科技、置业、⽂创、体育和投资⼋⼤体系近万名IT研发⼈员。此间测试资产积累效果显著,每⽉⾃动化测试执⾏案例数超过100万,⾃动化测试步骤数超过3000万⾏。蛙测团队⼀直在努⼒,在测试技术⽅向,持续探索,永不停歇!我们的宗旨:提供专业、简单、⾼效的测试服务!欢迎⼤家多多关注、共同交流!作者:卢烨,苏宁云测试平台技术经理,2013 年加⼊苏宁,⼀直从事测试⼯具与平台的测试、产品⼯作,始终专注于测试技术、测试效率等相关领域。精通⾃动化测试、测试管理⽅⾯新技术和新理念,同时对⾃动化测试、测试管理在实际测试活动中的应⽤实践积累了⽐较丰富的经验。
发布者:admin,转转请注明出处:http://www.yc00.com/news/1687934231a58585.html
评论列表(0条)