IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 开发测试 -> 自动化实现参考标准 -> 正文阅读

[开发测试]自动化实现参考标准

前言

系列文章目录

自动化测试提效


目录

系列文章目录

前言

一、指标

二、流程

1、关键流程卡点

?2、细节卡点?

接口的规范

1、接口变更或新增需要添加通知事件给相关方

2、接口必填信息

3、接口维护和管理

4、接口废弃处理

总结


前言

如果要进行自动化测试提高服务稳定性,那么我们是否要先从实现的指标开始思考,确定我们要做成怎么样,需要具备什么条件和资源,其次确定我们的流程,让团队协作更高效呢?


一、指标

优先级指标解释目标
1

用例编写成本

协作效率

1、用例编写成本足够低,维护足够方便,用例能够可视化管理,可灵活在各种环境执行自动化用例

2、多人编写,能做到相互隔离,消息触达率高,在规则内创新,平台支持锁定不允许删除操作

3、接口/场景/测试计划/标签/变量等 筛选高效快速,场景筛选

1、重复性工作少,维护性高,运行和加载时间快

2、测试计划的用例选择高效和灵活,不重复运行相同的测试用例

2

成功率

命中率

覆盖度

1、单个用例运行成功率,不依赖db的情况下,3个环境 100%可回归(db类除外)

2、单个场景运行成功率,不依赖db的情况下,3个环境 100%可回归(db类除外)

3、测试计划成功率(多倍数情况下)3个环境能 100%回归(db类除外)

目标:送测前测试计划通过率 100% 后,才能送测(送测后后台覆盖率75%)

痛点:无法直观的评估自动化的效果和覆盖度如何?

方法1:开通覆盖率,覆盖率在75%以上

方法2:线上问题反馈数?

3灵活性

1、3个环境可回归

2、场景编写分子场景和总场景,避免在单个场景中,跑到前30%场景时就失败 ,后面的场景被阻塞

3、接口用例前置依赖不能太多,避免前置失败了,导致用例被阻塞

4、模块改动,能快速选出相应的接口和场景用例

灵活的组织各种粒度的自动化回归集合
4可读性

1、目录层级结构清晰(模块-接口功能),不存在无用的层级结构,有边界性

2、接口用例(用例名称、前后置tab名称),分类排序,见名知意,言简意赅

3、场景(用例名称、前后置tab名称),分类排序,见名知意,言简意赅

4、测试计划,分类排序,见名知意,言简意赅

开发同学能直接参与到接口自动化自测中,同时能时刻监控线上实时情况

5可维护性

1、用例和场景做到是单纯的一个框架,用变量名打通的一套框架,用例和场景的最前置用配置参数控制用例的输入

2、提取用例的公共部分,放到项目前置脚本和模板里,做到变只需要修改公用的模板,非每个用例

业务发生变动,维护成本非指数级上升,发生人员变跟时,自动化交接成本小
6排查问题耗时

1、用例、场景、测试计划 执行稳定,不能干扰到业务测试流程的执行

2、断言要清晰,能快速知道在哪里报错,定位是用例问题 还是数据问题,还是业务逻辑有问题

定位排查问题耗时在5min内,提供直观定位问题的手段和必要数据
7测试计划运行耗时

1、测试计划的内容需要按需选取,不重复不遗漏(需要支持标签快速选取,包括正向选取和反向选取,多标签交接选取)

2、测试计划分类存放:

业务模块分类

阶段分类:如 【正向用例】标签 能满足冒烟测试和线上发布,【反向用例】标签 测试深度加深满足系统版本测试

运行环境分类:可回归、db依赖、redis依赖、有耗时等待

按照接口优先级分类:P0、P1、P2、P3、N

3、等待时间的慎用,避免因为等待时间过长

千条用例控制在10s内完成执行
8稳定性

环境层面

环境要稳定,不稳定的情况下提前告知

数据层面

1、自动化的测试数据和手工测试数据保持独立,互不干扰

2、开发环境、测试环境和线上环境,数据独立,互不干扰

3、线上测试环境和用户数据隔离,互不干扰

4、模块间如果用到相同的测试数据,应尽量使用两份,避免当同一份数据出现问题,两个模块都跑不通

5、数据做好清理,以免产生过多的脏数据,实现当测试数据使用完后能复原到初始状态数据

6、只读测试数据(静态)应和状态有改变的测试数据(动态)分开 处理

数据独立,稳定可持续运行

二、流程

指标解决我们的输出是否有效,然后让我们的有效输出实现项目的效益最大化呢?

那就需要流程的驱动了。

1、关键流程卡点

?2、细节卡点

?

接口的规范

1、接口变更或新增需要添加通知事件给相关方

2、接口必填信息

接口基础信息(需要保证接口的信息的唯一性和准确性)

在wiki上可以附上项目总的 错误码文档、其他相关文档(有权限限制,逻辑复杂)的k链接

3、接口维护和管理

1)接口状态

已经废弃的一定要把状态置为已经废弃,以免导致无效的工作

接口不可以被删除,只能被打上不同的状态

?2)接口优先级(用tag 来管理,后期方便直接捞相应的tag下的用例来跑测试计划)

3)接口的唯一性

在平台上一个接口保证只有一份文档,只维护一个接口实现

4、接口废弃处理

接口废弃后,需要通知测试,抽离响应接口的测试用例,以免影响测试用例的成功率

?

?

  开发测试 最新文章
pytest系列——allure之生成测试报告(Wind
某大厂软件测试岗一面笔试题+二面问答题面试
iperf 学习笔记
关于Python中使用selenium八大定位方法
【软件测试】为什么提升不了?8年测试总结再
软件测试复习
PHP笔记-Smarty模板引擎的使用
C++Test使用入门
【Java】单元测试
Net core 3.x 获取客户端地址
上一篇文章      下一篇文章      查看所有文章
加:2022-03-15 22:56:38  更:2022-03-15 22:57:07 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/18 0:15:39-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码