测试平台开发:自动化测试平台----需求分析
2022年1月14号我对自动化测试平台新的思考
自动化测试平台至少要包含两个部分,
1是接口自动化
2是web自动化
其他的都往后放,
比如
app自动化
性能自动化
安全自动化
单元自动化
一,接口自动化平台
先分析接口自动化平台的产品功能
1,首先要有基础的配置
比如:
服务配置
环境配置,
产品线配置
2,要有单接口的用例维护
这是核心,要能页面操作,
比如
setup,一些数据准备,
get,url,header,参数,
post,url,header,参数,body,各种类型的body,
断言
调试,
3,业务流
就是单接口的集合,
中间有依赖关系的,
4,任务
任务就是批量执行的作用,
可以从接口和业务流里面添加用例,然后组合成为一个用例池,一个任务,定时执行,
任务可以分性质,
比如
全量任务,
基线用例任务
回归任务
现网看护任务
还可以对用例进行分级,组合成为任务,
任务一定要支持单次和定时执行,或者间隔时间执行,
5,任务集
这是任务的集合,
6,执行结果
接口和业务流只是可以调试,但是不产生报告
但是任务,执行,是可以单次执行产生报告,和定时执行产生报告的,
报告是一个重点,
因为领导不看过程,看结果,你的报告就是脸面,如果做的丰富,那是有很好加分的,
不需要bug列表,因为报告就是bug列表了,要马上解决,不需要再生成bug了,多此一举
7,日志的管理
这是一个问题,没有一个成熟的方案,我还需要学习,
8,用户管理
需要能添加用户,因为这不是给自己使用,还需要给其他测试人员,给开发使用,
9,角色权限管理,
不同的人有不同的权限
10,告警
一定要有告警,可以是邮件,可以是企业微信
然后分析接口自动化平台的技术方案
1,前后端分离,
使用vue,flask,mysql,
细节呢,考虑是不是使用 pytest 或者unittest 等等,
2,支持分布式,
master,slave,因为要考虑到接口量的问题,现在有1300多个用例,20分钟时间执行,太慢了,
要分布式支持10倍的量,100倍的量,
3,代码管理
使用gitlab
多人协同,我还需要想一下,怎么有一个流程,
4,持续集成
使用Jenkins,这个持续集成,很重要,
也是和公司内部保持一致,公司也是使用的Jenkins,
5,最终目的是实现无代码
能够单独拿出来的一个产品,放到任何公司都可以使用的产品,
6,接口列表的设计
有序号,接口名称,编辑用例,
7,业务流列表的设计
需要添加用例步骤,所以这个地方至少两张表,因为用例和步骤是一对多的关系,
8,任务
任务表,任务详情表,
支持添加单接口和业务流,需要两个表,
9,执行报告,
每次跑了多少个,任务的名称,成功了多少,失败了多少,
10,日志表
每一个都有日志表,然后如果有bug,就把日志表拿出来,日志表,bug,这两个要有所关联,
11,变量管理,维护,
各种组件,比如随机数生成,打印变量等
数据驱动,---测试数据灵活配置,
12,设计的原则:
代码分离,--提升代码复用
一、测试脚本与测试框架脱离-----有些框架做的就是框架做,不要混在脚本里面,这样,只需要改脚本不需要改框架,
二、测试数据与测试脚本脱离-----只需要改数据,而不需要改脚本,
功能组件化设计,---提升操作效率
#############
二,web自动化平台
先分析web自动化平台长什么样子?
思考除了上面接口自动化平台应该包含的内容,还需要什么
1,报告,需要截图,接口不需要截图,但是web页面就需要截图了,方便定位
2,元素分离的原则, 那还需要元素管理页面的,页面元素管理,
3,兼容各种浏览器
然后分析web自动化平台的技术方案和设计
数据库设计
用例表,
用例步骤表,所属用例,步骤序号,步骤名称,操作,操作元素,数据,(通过关键字驱动,封装方法),操作:新增,修改,删除,复制,上移,下移,
bug管理------
bug列表
bug详情表
报告管理------
报告列表,任务名称,用例个数,成功率,
报告详情,点击任务名称,进入报告详情,用例名称,执行结果,步骤数量,
用例详情,点击用例进入,查看步骤详情,查看日志
计划管理------通过这个地方可以运行,可以出bug,可以报告,
计划表
计划详情表,任务名称,包含的用例,
页面元素管理----
页面表,
页面元素表,所属页面,定位地址,定位方式,定位路径,操作:新增,编辑,删除,查询
页面方法表
系统配置表-----
浏览器的配置
邮箱的配置
我的思考,做事的逻辑:
1,我必须要有自己的思考,跟着别人的脚步,我没有足够的动力,
2,我还是应该调研,我要选出来几个和我的技术比较吻合的框架,阅读源码,不能闭门造车
3,目标和定位,必须考虑投入和产出比,到底有多少的产出,考虑产出,一定要使用接口自动化先行,这是投入产出比更加的好,然后web自动化平台
4,需要集合大家的力量,让大家参与进来,这是一个重要思路,人们不喜欢自己没有参与的计划,
分享会的目的
1,分享,
2,学习,
建议
不足
3,大家参与
######################