软件测试之自动化测试的四个阶段

news2024/12/22 23:41:44

第一阶段:API自动化

之前的想法是:通过API创建数据,访问数据,进行数据操作,存储数据库,通过模拟前端的操作来想象API的访问流程。

然后,验证数据库是否存储正确。后来发现该想法流程就是错误的。

问题:

1、模拟前端的操作需要对每个前端操作后调用的API非常熟悉,这已经超过了测试的范围,属于开发的范畴。

2、每个API的集成测试应该是独立的,有顺序的对API的测试使得API之间存在相互依赖的关系。然而每个API的正确性并不能保证。

3、API本身是具有很强的独立性,不应该通过前端模拟操作来对其进行相对的验证,操作逻辑应该由前端负责。

总结:

1、使得API具有健壮性,对正常的数据传输和异常的数据传输,服务器端都能正确的响应和返回正确的响应码。

2、对于API的集成,务必使得每个API都独立验证,不能具有相互依赖性。

3、API的正确性为前端逻辑的自动化验证提供了稳定的基础。

4、工具可使用:unittest,pytest(推荐)

在这里插入图片描述

第二阶段:自动创建测试数据

前端的一些UI验证,需要一些组合数据,每次更新环境,版本迭代,自动化创建需要的数据。

此时需要依据测试用例(UI显示部分)来保证每种情况,包括边界,越界情况的显示正常。此些数据在每次新环境都需要验证的情况下,手动创建太过于浪费时间,通过Python读取excel预先设计好的,通过API或者直接写入数据库的方式自动化创建批量的数据。写入的方式通过具体的业务来选择。

第三阶段:前端操作自动化

第二阶段和第三阶段的顺序不太重要,也可以先执行第三阶段。

这里的前端操作自动化,通俗的讲是对前端控件响应的一些自动化验证,属于基础的前端测试。如文本的输入,按钮点击响应,表单提交后的正常显示等。

依据就是需求文档,覆盖需求文档的一些基本的点就可以。不需要太多的复杂的流程和操作。

工具使用appium。

现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:1150305204【暗号:csdn000】

第四阶段:用户实操自动化

用户实操依据是使用该软件的过程中,用户操作的真实场景,为最后的收尾自动化测试。

如用户可能在使用的过程中,停留在该页面10分钟,然后锁屏,然后解锁,查看该APP是否还在生存中。

如用户可能在使用的过程中,是程序退入后台。这里的具体操作需要了解不同的平台对程序生命周期的定义阶段不同。

前端自动化和接口自动化

之前一直在思考前端自动化和接口自动化分别侧重点是什么。

前端自动化侧重点在于组建的响应,数据显示(包括长度,小数正确取位等),后端侧重在于数据处理的正确性验证。

之前主要通过Appium检验前端的各个按钮响应是否都正确,某个元素是否显示出来了,忽略了一个动作操作完后对其他界面数据显示的影响检测。其实前端和后端的自动化侧重点不同,但是对于数据的检测可以是双重检测。这样测试完后的数据更有保障。

关于数据生成(准备)

数据生成(准备)与测试放在分开的模块中,混到一起,容易中断测试代码。

先数据生成测试需要的数据然后再运行测试代码。

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

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

相关文章

IO作业2.0

思维导图 1> 使用fread、fwrite完成两个文件的拷贝 #include <stdio.h> #include <string.h> #include <stdlib.h> int main(int argc, const char *argv[]) {if(argc ! 3) //判断外部参数 {printf("The terminal format is incorrect\n");r…

刚来实习就跑路,可行么?

最近 编程导航 的一位鱼友问了个让我血压升高的问题&#xff1a; 鱼友提问 鱼皮你好&#xff0c;我投了两周简历&#xff0c;然后昨天面了一个小厂的远程实习并且拿到了 offer&#xff0c;我要不要试试呢&#xff1f; 我在顾虑比如我如果在远程实习期间找到一个中厂或者大厂…

GPT-4在概念推理任务表现不如人类,还需继续学习提高!

圣达菲研究所的科研人员对 GPT-4在推理和抽象能力方面与人类的差距进行了定量研究。他们使用 ConceptARC 基准测试评估了 GPT-4在文本和多模态方面的表现&#xff0c;并发现 GPT-4仍然与人类存在较大差距。对于 GPT-4的抽象推理能力&#xff0c;研究人员发现&#xff0c;无论是…

浏览器---善用的一些调试技巧

https://www.cnblogs.com/dasusu/p/17932742.html

初识Linux下进程

&#x1f30e;初识进程 初识进程 简单认识一下进程 如何管理进程 进程属性信息 内核运行队列 查看进程 通过系统调用获取进程标识符       父子进程       查看运行中的进程 总结 前言&#xff1a; 我们在电脑上点开的一个个应用&#xff0c;其实就是一个个进程&am…

计算机网络(7):网络安全

网络安全问题 计算机网络上的通信面临以下的四种威胁: (1)截获(interception)攻击者从网络上窃听他人的通信内容。 (2)中断(interruption)攻击者有意中断他人在网络上的通信。 (3)篡改(modification)攻击者故意篡改网络上传送的报文。 (4)伪造(fabrication)攻击者伪造信息在网…

DrGraph原理示教 - OpenCV 4 功能 - 阈值

普通阈值 OpenCV中的阈值用于相对于提供的阈值分配像素值。在阈值处理中&#xff0c;将每个像素值与阈值进行比较&#xff0c;如果像素值小于阈值则设置为0&#xff0c;否则设置为最大值&#xff08;一般为255&#xff09;。 在OpenCV中&#xff0c;有多种阈值类型可供选择&am…

融资项目——异常处理

当前端请求后端服务的时候&#xff0c;如果后端出现bug。会返回给前端通用的500异常结果。 但是在项目开发中&#xff0c;我们一般会定义一个统一结果类R用于返回结果数据&#xff0c;所以我们希望将错误也用统一结果类对象返回给前端。 1. 同一异常处理器。 面对一般的错误&…

二维码地址门牌系统技术服务:让您的生活更便捷,一码通行,安全无忧

文章目录 前言一、融合二维码技术与门牌的便捷服务二、手机开门便捷功能三、智能化安全保障四、智能化、便捷化的新型技术 前言 在数字化时代&#xff0c;二维码门牌系统技术应运而生&#xff0c;为了满足人们对安全、便捷生活的需求。这项技术将二维码与门牌结合&#xff0c;…

关于各种浏览器或操作系统深色模式的设置,看这篇文章就够了

无论你是在家里设立办公室,还是带着笔记本电脑去当地的咖啡馆,或者在格子间度过一天,都可以通过在网络浏览器中启用深色模式来让你的眼睛休息一下。 深色模式不会改变你访问的页面的颜色(这是由网站开发者设置的);它将使工具栏和“设置”页面更容易查看,尤其是在冬季较…

centos7通过systemctl启动springboot服务代替java -jar方式启动

背景&#xff1a;以前启动jar包都是通过java -jar&#xff0c;后面了解到一种注册服务式启动jar包的方式&#xff0c;所以做个记录。 注意&#xff1a;我在写该篇博客的时候&#xff0c;给脚本代码都加了#注释来解释该行脚本命令的意思&#xff0c;所以可能出现复制该篇博客脚本…

gookit/color - Go语言命令行色彩使用库教程

gookit/color - Go语言命令行色彩使用库教程 1.安装2.基础颜色(16-color)3.256色彩/RGB风格 1.安装 go get github.com/gookit/color2.基础颜色(16-color) 提供通用的API方法&#xff1a;Print Printf Println Sprint Sprintf 1、例如&#xff1a; color.Yellow.Println(&q…

Elasticsearch:使用 ELSER v2 文本扩展进行语义搜索

Elastic 提供了一个强大的 ELSER 供我们进行语义搜索。ELSER 是一种稀疏向量的搜索方法。我们无需对它做任何的微调及训练。它是一种 out-of-domain 的模型。目前它仅对英文进行支持。希望将来它能对其它的语言支持的更好。更多关于 ELSER 的知识&#xff0c;请参阅文章 “Elas…

关键字:new关键字

在 Java 中&#xff0c;new关键字用于创建对象实例。它是对象创建的语法糖&#xff0c;用于分配内存空间并调用构造函数来初始化对象。 以下是new关键字的基本语法&#xff1a; 在上述语法中&#xff0c;ObjectType是要创建对象的类名&#xff0c;objectName是对象的引用变量…

Android textview展示富文本内容

今天实现的内容&#xff0c;就是上图的效果&#xff0c;通过Span方式展示图片&#xff0c;需要支持文字颜色改变、加粗。支持style\"color:green; font-weight:bold;\"展示。尤其style标签中的font-size、font-weight是在原生中不被支持的。 所以我们今天需要使用自…

听GPT 讲Rust源代码--compiler(2)

File: rust/compiler/rustc_codegen_cranelift/build_system/prepare.rs 在Rust源代码中&#xff0c;rust/compiler/rustc_codegen_cranelift/build_system/prepare.rs文件的作用是为Cranelift代码生成器构建系统准备依赖项。 具体来说&#xff0c;该文件的主要目标是处理Crane…

HarmonyOS自学-Day3(做个登录功能小案例)

目录 文章声明⭐⭐⭐让我们开始今天的学习吧&#xff01;登录功能小案例 文章声明⭐⭐⭐ 该文章为我&#xff08;有编程语言基础&#xff0c;非编程小白&#xff09;的 HarmonyOS自学笔记&#xff0c;此类文章笔记我会默认大家都学过前端相关的知识知识来源为 HarmonyOS官方文…

信息管理就业方向之产品经理

学长分享自己确定互联网产品经理的工作方向以及产品经理的相关工作情况。 互联网领域产品经理是对一个软件或者平台产品的运维和设计。比如网上订机票业务&#xff0c;需要根据筛选用户的需求&#xff0c;确定要实现的某个需求&#xff0c;然后画出原型图&#xff0c;流程图等…

blender mix节点和它的混合模式

Mix 节点是一种用于混合两个颜色或者两个图像的节点&#xff0c;它有以下几个输入和输出&#xff1a; Color1&#xff1a;用于接收第一个颜色或者图像&#xff0c;也就是基色。Color2&#xff1a;用于接收第二个颜色或者图像&#xff0c;也就是混合色。Fac&#xff1a;用于控制…

一个计算机视觉从业者2023回顾

作为一个计算机视觉从业者&#xff0c;我非常认同上面所列的技术发展规划。在计算机视觉领域&#xff0c;我认为要实现这些规划&#xff0c;需要注重以下几个方面的发展和预测&#xff1a; 深入学习新技术&#xff1a;计算机视觉领域的技术发展非常迅速&#xff0c;不断涌现出新…