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

news2024/11/28 14:29:38

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

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

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,二者的对比如下图:


JUnit和TestNG对比图

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

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

2)python常用的测试框架

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

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


六、接口测试学习资料分享(python类)

悄悄告诉你,接口+自动化,其实我们是完全可以跟着学习视频学的。

接下来我将列出我学习时候使用过得各种接口视频(python方向),分享给大家,赶紧收藏起来吧!

如果文章对你有帮助,记得点赞,收藏,加关注。会不定期分享一些干货哦......

END配套学习资源分享

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

加入我的软件测试交流qq群:110685036免费获取~(同行大佬一起学术交流,每晚都有大佬直播分享技术知识点)

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

全套资料获取方式:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/646627.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

容器认证有什么等级?考试内容是什么?

信息通信行业是进几十年新兴起的一个行业,对我们的生活产生了巨大的影响,传统的购物、出行方式发生了巨大的变化,而且我们的眼界更加开阔。可以了解到世界各地的风土人情,这一切都离不开信息通信技术的发展,同时市场为…

拥有Android开发经验? 走出焦虑圈,车载应用开发正好合适你!

行业前景 当前,车联网已成为智能交通的重要发展方向之一。车载Android应用可以为车辆提供智能化服务,帮助驾驶者增强车辆控制和安全,提供大量娱乐和信息服务,如导航、音乐、天气预报、电子地图等。而且,车联网相关政策…

为什么APP安全很重要?APP盾如何提供帮助?

为什么APP安全很重要? APP安全是流程、功能、控制、功能、最佳实践和工具的有效和高效组合,用于通过主动查找和保护各种漏洞来确保各类APP/软件的安全。 应用安全非常重要的4个主要原因 1.确保关键数据资产的安全 数据是新的石油,攻击者最…

抖音seo矩阵号源码开发分享(一)

抖音SEO矩阵系统源码开发,需要遵循一下步骤: 1. 确定需求和功能:明确系统的主要目标和需要实现的功能,包括关键词研究、短视频制作、外链建设、数据分析、账号设置优化等方面。 2. 设计系统架构:根据需求和功能确定系…

运维圣经:DDos攻击应急响应指南

目录 DDos攻击简介 DDos攻击应急响应指南 一. 问题排查 二. 临时处置 三. 研判溯源 四. 清楚加固 DDos攻击简介 分布式拒绝服务是种基于DoS的特殊形式的拒绝服务攻击,是一种分布、 协作的大规模攻击方式,主要瞄准比较大的站点,像商业公…

MFC没有IMEMode 想软件自动切换到英文状态以便扫码时不会变成汉字。 MFC-自定义控件Edit control。MFC禁用中文输入法

0、直接说最终解决方法&#xff1a;MFC禁用中文输入法 #include <Imm.h> // Function for Disabling IME 禁用中文输入法 void DisableIME(HWND hWnd) {HIMC m_hImc; // 全局或者成员变量//HWND hWnd pWnd->GetDlgItem(IDC_EDIT1)->m_hWnd;if (hWnd &&am…

ffmpeg 编译android mac环境编译 或者centos

ndk版本:ndk21 (可使用android studio内部下载的ndk) /Users/XXXX/Library/Android/sdk/ndk/21.4.7075529 ffmpeg下载 ffmpeg6.0 1:git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg 2:或者直接点击下面按钮下载 http://ffmpeg.org/releases/ffmpeg-6.0.tar.xz 环…

极致呈现系列之:Echarts雷达图的魅力与价值

目录 什么是雷达图vue3中引入雷达图绘制简单的雷达图雷达图的数据处理什么是数据归一化处理对chartData的数据进行归一化将归一化后的数据应用到雷达图中 美化雷达图 什么是雷达图 雷达图是一种基于极坐标系的可视化图表&#xff0c;用于展示多维数据之间的关系。它通过设置不…

Cross-modal Moment Localization in Videos论文笔记

Cross-modal Moment Localization in Videos论文笔记 0.来源1.摘要2.介绍3.模型3.1语言-时间注意网络3.2损失函数3.2.1对齐损失3.2.2位置损失3.2.2损失函数 4.实验4.1数据集4.2性能比较4.3 ROLE的几种变体 5.未来工作 0.来源 2018年 Cross-modal Moment Localization in Video…

MFC-皮肤颜色集组合界面程序DlgSkinBase

虽然是小程序,编辑的源代码也很少&#xff0c;但其中的编程思想却是大型工程项目的配色经典基础。就如万丈高楼的基础中的钢筋般重要。 或者很多程序员一辈子也难接触到大型项目程序...还是那句话&#xff0c;既然缘分来了&#xff0c;不妨共享出来&#xff0c;希望能对有缘人有…

卖课软文怎么写,揭秘知识付费软文写作技巧

随着互联网的发展&#xff0c;知识付费已经成为了一种趋势。越来越多的人开始关注自我提升和职业发展&#xff0c;而知识付费也成为了他们获取知识和技能的重要途径。在这个背景下&#xff0c;卖课软文也成为了知识付费领域一种重要的推广方式。本文伯乐网络传媒将为大家揭秘卖…

hadoop本地化windows部署

文章目录 前言1. hadoop on windows1.1 安装jdk1.2 安装hadoop1.2.1 解压1.2.2 备用目录1.2.3 修改配置1.2.4 安装winutils-master1.2.5 格式化namenode1.2.6 启动hadoop1.2.7 web-ui登陆hadoop hdfs 2. spark on windows2.1 安装scala2.2 安装spark2.2.1 解压2.2.2 环境变量2.…

2年点工月薪10k,自学自动化年薪突破30W

我是农村出生的家庭&#xff0c;经济并不富裕&#xff0c;一个人奔波在大城市&#xff0c;总是很自卑。那段时间父亲身体不好&#xff0c;家里打电话说要花很多钱&#xff0c;于是我辞掉了一个月薪7k的功能测试&#xff0c;去了一个电子厂&#xff0c;每天加班加满月薪也能拿到…

【SpringCloud-3】Hystrix熔断器

通常情况下&#xff0c;一个请求可能会调用很多个服务。 如果下游某个服务异常&#xff0c;不能正常返回结果&#xff0c;导致上游所有服务等待&#xff0c;最终可能导致大量服务资源耗尽&#xff0c;造成雪崩。 说简单点&#xff0c;撸代码时&#xff0c;一定要保护好自己的服…

【vue3】vue3组件通信方式

一、props 可以实现父子组件通信&#xff0c;子组件通过defineProps获取父组件传递的数据&#xff0c;且在子组件内部不需要引入defineProps方法就可以直接使用&#xff01; 1、父组件给子组件传递数据 <Child hobby"学习" :money"money"></Chil…

Sui Builder House首尔站精彩集锦

6月3–4日&#xff0c;超过400人参加了Sui Builder House首尔站活动&#xff0c;近距离地了解了Sui网络的最新情况和路线图中提供的相关计划。作为主网推出后的第一个Builder House活动&#xff0c;参与者在现场体验了Sui的实现。 此次活动在首尔江南区举行&#xff0c;共设有…

分享一个玉质按钮

先看效果&#xff1a; 再看代码&#xff1a; <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>Title</title><style>* {-webkit-box-sizing: border-box;-moz-box-sizing: border-box;bo…

SpringBoot用线程池ThreadPoolExecutor处理百万级数据

SpringBoot用线程池ThreadPoolExecutor处理百万级数据 更多优秀文章&#xff0c;请扫码关注个人微信公众号或搜索“程序猿小杨”添加。 一、背景&#xff1a; 使用JDK线程池ThreadPoolExecutor多线程异步执行批量插入、更新等操作方法&#xff0c;提高百万级数据插入效率。 二…

Paper: Attention Is All You Need

目录 Abstract1 Introduction2 Background3 Model Architecture3.1 Encoder and Decoder Stacks3.2 Attention3.2.1 Scaled Dot-Product Attention3.2.2 Multi-Head Attention3.2.3 Applications of Attention in our Model 3.3 Position-wise Feed-Forward Networks3.4 Embedd…

4.4网络模型 4.5协议 4.6网络通信的过程

4.4网络模型 OSI七层参考模型 七层模型&#xff0c;亦称 OSI&#xff08;Open System Interconnection&#xff09;参考模型&#xff0c;即开放式系统互联。参考模型是国际标准化组织&#xff08;ISO&#xff09;制定的一个用于计算机或通信系统间互联的标准体系&#xff0c;…