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

第一阶段: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.hqwc.cn/news/322117.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

可狱可囚的爬虫系列课程 09:通过 API 接口抓取数据

前面已经讲解过 Requests 结合 BeautifulSoup4 库抓取数据,这种方式在抓取数据时还是比较方便快捷的,但是这并不意味着所有的网站都适合这种方式,并且这也不是抓取数据的最快方式,今天我们来讲一种更快速的获取数据的方式&#xf…

Vue开发中使用Element UI过程中遇到的问题及解决方案Missing required prop: “value”

一、vue中使用el-table的typeindex有时不显示序号 Table 表格 用于展示多条结构类似的数据,可对数据进行排序、筛选、对比或其他自定义操作。 当el-table元素中注入data对象数组后,在el-table-column中用prop属性来对应对象中的键名即可填入数据&…

ARM Cortex-Mx 权威指南笔记

用于中断或异常屏蔽特殊寄存器细节 1、PRIMASK 在许多应用中,可能都需要暂时禁止所有中断以执行一些时序关键的任务,此时可以使用PRIMASK寄存器。PRIMASK寄存器只能在特权状态访问。PRIMASK 用于禁止除NMI和 HardFault 外的所有异常它实际上是将当前优先级改为0(最…

基于注解的IOC配置

目录 1.创建工程 1.1.pom.xml 1.2.dao 1.3.service 2.IOC 2.1.applicationContext.xml 2.2.dao 2.3.service 3.DI 3.1.service 3.2.测试 4.常用注解 4.1.用于创建对象的 4.1.1.Controller 4.1.2.Service 4.1.3.Repository 4.1.4.Component 4.1.5.Scope 4.2.…

Java学校教务管理系统源码带微信小程序

运行环境:jdk8mysql5.7IntelliJ IDEAmaven 技术:springbootmybatislayuishirojquery 教务管理系统是一个基于网络的在线管理平台, 帮助学校管理教务系统,用一个帐号解决学校教务教学管理, 灵活的定制符合学校自己实际情况的教务系…

秋招复习之栈与队列

前言 1 栈 「栈 stack」是一种遵循先入后出逻辑的线性数据结构。 我们可以将栈类比为桌面上的一摞盘子,如果想取出底部的盘子,则需要先将上面的盘子依次移走。我们将盘子替换为各种类型的元素(如整数、字符、对象等)&#xff0c…

任务需求分析中的流程图、用例图、er图、类图、时序图线段、图形的作用意义

任务需求分析中的流程图、用例图、er图、类图、时序图线段、图形的作用意义 流程图 流程图中各种图形的含义及用法解析 连接线符号 连接各要素,表示流程的顺序或过程的方向。 批注符号 批注或说明,也可以做条件叙述。 子流程 流程中一部分图形的逻辑…

初识MySQL

一、什么是数据库 数据库(Database,简称DB):长期存放在计算机内,有组织、可共享的大量数据的集合,是一个数据“仓库”。 数据库的作用: 可以结构化存储大量的数据,方便检索和访问…

【Mac】Mac新机配置前端环境教程

1、先安装谷歌浏览器,稳定版 作为一名前端程序员,和浏览器打交道肯定是必不可少的。Chrome,Edge 都有着丰富的扩展资源。你可以下载插件帮助你更好的在工作中调试代码。 React Developer Tools Vue.js devtools GraphQL developer tools 如…

设计模式——装饰模式(Decorator Pattern)

概述 装饰模式可以在不改变一个对象本身功能的基础上给对象增加额外的新行为,装饰模式是一种用于替代继承的技术,它通过一种无须定义子类的方式来给对象动态增加职责,使用对象之间的关联关系取代类之间的继承关系。在装饰模式中引入了装饰类&…

Linux系统硬盘的挂载

一边学习,一边总结,一边分享! 写在前面 最近一直折腾组装的电脑,来回折腾了很久关于我花费六千多组了台windowLinux主机,目前基本是可以使用了。对于Windows主机配置基本是没问题,一直在使用,…

报表控件Stimulsoft 2023回顾:都做了哪些产品的改变?

在2023年过去一年中,报表控件Stimulsoft 针各类控件都做了重大改变,其中新增了某些产品、同时加强了很多产品的性能和UI设计,更加符合开发者需求,下面就跟随小编一起来回顾,具体都有哪些↓↓↓ Stimulsoft Ultimate &…