API接口智能化测试探索与实践

在微服务系统中是比较重要的用以验证服务之间接口契约一致性的手段,在使用中需要解决二个问题,一是接口结构随着业务发展经常升级变化需要及时更新到CASE,二是验证契约需要一定量级的参数组合但又要避免参数组合爆炸的问题。基于CASE执行的历史结果数据,提取无异常报错的记录N个,转化为json-schema集合并计算期间的差异,按照其表现与CASE的参数、执行时间对照,经由不同规则确定适合的json-schema版本自动回填到CASE中。json数据中的键值对,其value值为主要的验证点,常用做回归校验。
摘要由CSDN通过智能技术生成

目录

导读:

一、API测试面临的质效问题

二、智能化测试基本思路

三、API测试全周期智能化测试实践

四、总结


导读:

API接口自动化测试在服务端分层测试体系中占有重要地位,在持续追求提升研发交付效能的背景下,传统的自动化测试工具面临质量与效率的更高挑战。智能化测试的本质是利用数据和算法相结合赋能质量活动的测试方法,借助智能化测试思维,在API测试全生命周期内进行了多环节的针对性优化、形成合力赋能提升测试质效。

一、API测试面临的质效问题

1.1 API的自动化测试特点

API接口由于具备良好的可测性,很自然的成为服务端程序自动化测试的首选方案:

93a91d21ce468038b7c1b0dedbfc621c.png

1、API的结构化有助于程序实现请求与解析接口,当前以Json数据结构为主要的入参、返回结构,可读性强、程序化处理方便。

2、API的业务逻辑集成度较高,具备较高测试性价比,接口的参数组合具备直接的业务含义,主要的业务场景是可以通过不同参数组合达到覆盖。

3、API测试执行与维护成本较低,考虑到需要书写的case量级、调试与维护的代价,在测试分层的金字塔理念之中,是作为腰部支撑的存在。

e33e6704abc3b4e66e1286be57461d2d.png

1.2 API自动化测试面对新的挑战

伴随着自动化测试的建设与积累,建成了一站式平台化为主要形式的测试服务,CASE全周期几乎都是在平台内进行的,平台化的建设集成了丰富的测试能力、减少了重复建设、提高了测试服务的可靠性,从完全手工测试跨越到自动化平台对质效提升有显著意义,但同时也面临新的问题需要解答:

1、测试全周期内,人力投入是否可完全释放:

  • CASE书写调试效率:API CASE由接口定义、参数数据、断言组成,平台建设有编辑管理能力,在自动化发展的初期, CASE自身的书写准备仍然需要大量人工投入,多数工作集中在了从浏览器复制粘贴接口参数、或者从API定义文档中手工录入参数。在初期,CASE的全自动化生成占比几乎为0%。

  • 排查分析CASE失败原因:按照历史经验,自动化CASE失败的原因70~80%与被测代码无关,而更多的是平台、CASE、环境、数据等相关,日常排查分析此类问题浪费大量的人力。

2、自动化CASE量级急剧膨胀,测试效率开始降低、可维护性变差:

  • 长尾任务增多:随着CASE量级增长、维护跟不上导致稳定性变差,开始出现执行耗时变慢,难以达成快速测试的目的,同时也挤占了公共执行资源。比较突出的长尾任务包含上千个case,整体耗时需要1小时。

  • CASE存在大量冗余、无法甄别质量:当CASE积累到一定阶段后,人工维护的及时性与可行性极速下降,单靠人工去筛选、清理CASE变得非常困难。使得测试执行时无法高效有效的筛选出合适的CASE来覆盖。

3、自动化CASE测试的质量是否可信:

  • 一种情况是,CASE全部PASS造成的测试通过假象:其中可能夹杂这CASE并无有效断言来拦截问题、或者覆盖率不足,无法有效的证明CASE测试是放心的。

  • 另一种情况是CASE有频繁的FAIL,但是夸大了问题拦截率:更多的是由于平台、CASE、环境、数据等干扰问题导致的CASE状态不稳定。

62ec41d9d3126392142a9496465d472d.png

二、智能化测试基本思路

如何理解智能化测试:利用数据和算法相结合赋能质量活动的测试方法,使得每一次测试活动,都用较小的代价、准确判断质量风险。

(1)智能化测试不是一种全新的测试类型;

(2)智能化测试存在传统测试的某个或多个环节中;

(3)传统测试是智能化测试发挥作用最重要的载体。

基于自动化测试的整个生命周期,输入、执行、分析、定位、评估,分别有其相应的数据特征与规律、以及对应的瓶颈问题,智能化测试以提升测试过程各阶段质效为目标,将数据与策略相结合,形成整体合力。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值