• App的回归测试,有什么高效的测试方法?


    直接抛出观点:高效的测试方法当然有,那就是采用【接口+自动化】。

    为了系统阐述这个问题,让你能有较强烈的获得感,本篇文章将采用下列结构进行展开:

    1、回归测试,测哪些东西?
    2、传统的回归测试是如何测试的?
    3、高效的回归测试怎么做?
    4、高效方法具体如何做?
    5、接口自动化怎么做?
    6、学习资源分享。

    别走,现在就讲。

    一、回归测试,测哪些东西

    回归测试是软件测试过程中的一个重要的环节,如果说冒烟测试是对软件质量的抽检,那么回归测试就是保证软件质量的最后一道屏障。

    一个APP,可以分为前端和后端(也称为服务端),前端包含UI样式、交互效果、视觉体验等,服务端包含数据存取及计算、逻辑交互等。回归测试就是通过对新老功能所有场景的最终测试,找出前后端可能存在的问题。

    根据统计,回归测试中发现的bug,大多数是由于新功能上线后与老功能逻辑冲突或数据不兼容等引起。

    二、传统的回归测试

    回归测试中,这些潜在的bug如何验证?传统的方法就是手动回归。

    把APP按模块划分非几个测试人员,分别验证各模块的新老功能。但是这样的验证方式缺点很明显,需要耗费较多的人力和时间。
    在这里插入图片描述

    面对软件的频繁更新迭代(某些软件不是按月更新,有时是按周来进行更新),手动验证显然太费时费力了,那么,如何高效地进行回归测试?

    三、如何高效回归测试?

    分析潜在问题产生的原因,我们就会发现,后端(服务端)是个重灾区。比如前面所说的数据不兼容、逻辑冲突等,这些都是属于的后端范畴。

    如果能够把这个重灾区快速治理好,今天的问题就有了答案。
    在这里插入图片描述

    很幸运,互联网的前辈已经帮我们探索总结出来了很多好用的方法,那就是用 【接口+自动化】来做回归测试。

    四、高效回归测试则么做?

    【接口+自动化】包含了接口测试和自动化。接口测试即通过对接口请求返回数据的校验来做验证;自动化指的是多个测试场景之间,参数的传递和逻辑的交互实现整体串联,校验最终的结果。下面通过具体数据来对比,传统手动回归测试接口VS自动化回归测试。
    某信APP【通讯录】做了功能优化,现在到了回归测试环节,需要你给出测试估时。首先要知道【通讯录】有哪些小功能要回归,下面我们简单罗列一下,请看下方图片

    在这里插入图片描述

     

    功能太多,如果全部列出来,估计一张A4纸都不够,这里仅列出少部分,如果按照接口估算,大概有100个接口。

    这么多功能都从头到尾走一遍,一个人肯定是不够,一般来说至少需要4人(每个人验证两个一级功能,每人3小时,这样算下来 需要的工时一共是 「4人x3小时」。

    如果使用接口自动化来做回归测试呢?

    一个接口请求的响应时间基本在200ms以内,为了方便计算,就算1s好了,100个接口验证三次,时间给它算30分钟(肯定是够了),再加上发现问题后调试排查重试等再给30分钟,所有的时间加起来就是「1人x1个小时」

    从12小时的工时到1小时,这是可明明白白的效率提高!

    看到这里你一定想说:效率我看到了,赶快告诉我接口自动化怎么做?

    五、接口自动化怎么做

    接口自动化的实现,当然是要靠框架。推荐几个主流框架:

    1)Java常用的测试框架

    java类框架有JUnit和TestNG,二者的对比如下图:
    在这里插入图片描述

    相对于JUnit4来说,TestNG功能更加丰富。

    从实际使用的角度来说,参数化的设置及功能,以及处理有上下依赖关系的测试时,JUnit测试框架有着明显的不足。因此,一般都会使用TestNG(推荐)。

    2)python常用的测试框架

    常用的有Unittest、Pytest。它们的区别如下,各有特色,可以根据自己的业务需求来选择

    在这里插入图片描述

    了解了这些区别,就选择一个适合自己的赶快学起来吧。 

  • 相关阅读:
    Nginx启用Geoip2模块实现国家城市识别 —— 筑梦之路
    【Rust日报】2022-09-14 使用 Rust 构建简单博客 && 华为实习生招募
    使用命令行方式搭建uni-app + Vue3 + Typescript + Pinia + Vite + Tailwind CSS + uv-ui开发脚手架
    Java常用集合解析
    【.NET基础】Linq常用语法代码演示
    玄子Share-MultipartFileUtil-文件上传工具类,单文件,多文件,指定大小,指定后缀
    第11章Linux实操篇-Linux磁盘分区、挂载
    什么是方法重载?返回值算重载吗?
    目标检测YOLO系列从入门到精通技术详解100篇-【目标检测】目标视觉检测
    dic= json.loads()双引号变单引号以及dic=json.dumps()出现acsll问题
  • 原文地址:https://blog.csdn.net/YLF123456789000/article/details/131808532