由于自己最近刚刚换了一个新的砖厂,进入新的砖厂报道之后,当天,就被研发总监约谈了,也表明当前测试团队的现状,由于部门是新开的部门,各种资源匮乏,接口文档严重缺乏,需求混乱,每次发版本之后,线上总是出现 bug,环境也一直都不稳定,再加上,公司目前没有接口自动化测试,只有 1+n 个的功能测试.........当时本来想干脆还是跑路吧,但是后面想了一下,要是遇见问题就逃避,那还工作屁啊,回家种田算了吧,毕竟逃避解决不了任何问题,于是自己准备迎难而上,顺便也是对自己的一种挑战,俗话说:强扭的瓜不甜,但是我喜欢把他拧下来,并且享受拧下来的过程
1.制定一个完善的接口测试流程,制定接口方案 (出方案找领导排版)
2.申请服务器资源,搭建测试环境,强行把开发独立出测试环境 (资源索取,搭建 svn 等文件管理服务器)
3.接口自动化技术调研,最团队接口自动化测试技术栈的准备 (准备造轮子)
4.解决接口需求文档和接口文档严重缺乏的问题 (新环境建立之后,找研发老大强推 swagger 等工具)
5.框架基本模型的设计,初版需求
# 框架选技术选型
经过自己的调研,最终选择如下造轮子的基础技术选型,后续在加入 docker 和对应的性能等
Python+Pytest+requests+allure+Jenkins
以下仅代表个人对 Python+requests 接口自动化的理解,如有不对,各位大佬补充
个人理解的自动化:
自动化测试是把以人为驱动的测试行为转化为机器执行的一种过程。通常,在设计了 测试用例并通过评审之后,由测试人员根据测试用例中描述的规程一步步执行测试,得到实 际结果与期望结果的比较。
核心观点:
在日常测试中,为了节省人力、时间或硬件资源,提高测试效率。把手工做的事情,根据我们预定设计的程序去运行,去替代原来手工测试的过程 部分的自动化,写一个脚本,工具,去替代一些重复的工作, 在此过程中,需要编程语言基础 全量的自动化,难度系数比较大,成本比较高,这就是我个人理解自动化测试的概念。
自动化接口测试都是基于需求的前提,一般在会遇到以下两种情况:
部分公司,只要做接口的正常场景一个用例就好
部分公司,需要做接口的正常场景与异常场景,分析
低配版设计
1,一个人独立完成,接口自动化,按照我自己的思维去编写就可以
2,几个人完成,我是做主导(沟通):
2.1,前期做的事情:
2.2,需求的确定,计划的确定,人员安排
2.3,搭建初步框架出来,并且告知所有的测试人员,含义
2.4,建立规则,公共方法 公共方法,自己写好,方便其他人调用 其他人编写公共方法,一定要去说明,一定因为自己这边认可 test_case 根据人员按模块划分
3,我只是辅助(沟通):
3.1,了解代码结构,不懂去问
3.2,再去根据分配的任务去编写
3.3,好的方法,提出改进意见