zoukankan      html  css  js  c++  java
  • 怎样提高软件接口测试效率

    • 如何设计接口测试

    优秀的后端测试开发最基础的素养就是懂得如何设计接口测试用例。下图简述了如何做好接口测试。本文不做展开

    接口测试痛点

    1. 测试数据难准备 – - 定制数据复杂且庞大,测试场景更是千变万化,测试场景难以穷举

    2. 测试数据难维护  - - 同样是因为定制数据的复杂性,新功能迭代会导致原有case预期不正确,且输入数据需要同期更新。可能某一个字段的小改动,会导致80%以上的接口失败。这就表明这些测试数据的生命周期可能就只有一个礼拜,但是测试却需要花上可能一天的时间更新用例。case越多,时间成本越高。投入产出比不成正比

    3. 测试结果校验不精准 – - 一般简单的数据校验 ,可能是针对测试场景中的测试结果数据中的某个字段进行比较,或者测试数据全量校验,但是定制结果相同请求很可能每次的请求结果都不一致。这就要求我们去做json降噪处理,从而达到正确比对测试结果。

    4. 测试结果同开发沟通不方便 - - 接口测试数据展现会是某个body,body内容是纯json文本。很难通过body去全面的认识该case的测试场景。只是单纯的将比对结果告知开发,复现问题会比较麻烦。

    • 接口测试不同阶段的表现

    测试数据准备

    测试数据维护

    测试结果校验

    测试结果同开发沟通不方便

    • 让开发下载接口测试代码测试?---- 不太现实,繁琐且效率低

    • 对比结果截图甩给开发?---- 可能比较懵逼,不知道如何复现问题

    • 将对应接口,请求参数,以及测试结果和预期结果,通通发给开发?---- 数据都有了,就是自己累得慌。CV太多次也是体力活

    tips:

    1、使用一些小的工具,自动上传测试结果至oss 

    2、将测试数据作为存在模型或者方案中,甩个模型&方案链接

    3、维护一个公共区域,记录接口测试变更。沟通可在该文档反馈

    定制接口测试是如何做的

    案例:

    1、如编辑器modeleditor服务3D接口改造

    3D接口作为定制编辑器modeleditor服务中预览接口,其承载了编辑器中几乎所有数据,该接口若存在问题,其模型将无法构建。保障该接口的正确性即保证了建模过程中80%以上操作的正确性。
    改造前:通过从编辑器前端直接获取3D请求的数据,存入到接口测试的post body数据中,每次数据(新增减少字段,修改数据结构)的变动都会造成body数据不可用,或者数据不够新,测试结果也不可完全信任
    改造后:通过维护模型去维护接口数据,将所需要的场景数据直接保存到模型中,再通过打开模型,获取3D接口中的Editordata获取所需要的body数据,改造后可直接作为3d接口的发送数据。再将获取到的结构同上一次稳定版本比较,得到变动内容,看是否符合预期。

    2、parameter-model包拆分测试

    parameter-model包拆分包含底层数据的变更和改动,定制服务一半以上都依赖该包,其涉及相关服务广,范围大,牵一发而动全身。要做到前端无感知拆分,这就必须保证后端提供给前端的数据结构的一致性。简单的API返回数据的校验无法满足测试需求。因而采用对象层级的校验、在内存中对model层数据进行全量校验,保证拆分前后各对象的一致性。

    测试结果:

    一切非人为确认的,固有的,程式化的操作,我们都需要用自动化来完成

     自动化软件测试交流群:新群1127563538,老群642830685领取最新软件测试资料大厂面试和Python自动化学习资料!一起学习交流

     

  • 相关阅读:
    echarts做飞线图
    git 检出项目部分目录(稀疏检出)
    nuxt.js引入客户端脚本和第三方库出现window/document/ navigator未定义问题
    防止重复发送 Ajax 请求
    利用CSS、JavaScript及Ajax实现图片预加载的三大方法
    JavaScript中this的指向问题
    掌握jQuery插件开发
    原生javascript实现图片放大镜效果
    javascript实现页面滚屏效果
    JavaScript利用闭包实现模块化
  • 原文地址:https://www.cnblogs.com/www642830685/p/13215421.html
Copyright © 2011-2022 走看看