当前位置:网站首页>Test Development Engineer Growth Diary 003 - Interface Automation Framework Construction
Test Development Engineer Growth Diary 003 - Interface Automation Framework Construction
2022-07-30 07:41:00 【Octopus ball calf_】
自动化测试流程
需求分析.需求文档,接口文档,抓包接口
测试计划.通常包含项目的进度,是否自动化,优先级
测试用例(是从手工测试提取出来的)
用例评审
执行测试.(写代码)
测试报告
接到项目之后,如何去进行需求分析:
1.需求文档,功能展示以及交互
2.接口文档,后端数据是怎么传输的
3.数据库账号,数据库地址,结构帮大家熟悉整个项目的轮廓,字段
4.测试环境,环境怎么搭建
5.原型图
测试计划:
通常是由测试经理或者项目经理来编写的
1.可行分析,是否要引入自动化,哪此场景引入自动化,哪此功能引入自动化,做自动化不是全量覆盖,不可能是所有用例都进行自动化,
2.风险因子,存在哪此风险
3.时间管控,主要是时间、技术、进度、优先级的管控
4.技术,使用什么技术(python、java),使用什么测试单元框架(unittest、pytest)
测试用例:
写到excel,手工测试用例,指的是全量的测试用例,不是自动化测试用例
案例:
通常来说,任何一个项目或是新功能,会先进行手工测试,也是要进行全量的用例编写
Automated test master要包括:
1.冒烟测试:主流程是否能正常运行
2.回归测试:验证开发修复的bug是否正常,并没有引入新的bug
3.持续集成:一天要重复测试好几次
接口需求分析
接口文档:
– 纸质(电子 )
– open api,swagger(网站)
– 什么都没有,全凭一张嘴(自己抓包)
通过抓包或postman调试工具来设计测试用例,预期结果
3.用例设计
用excel进行编写,最好是一个接口编写一个sheet页,这样好进行测试
注意json格式数据一定要规范,双引号,英文的逗号等
预期结果可以使用postman调试工具来获取
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
如何搭建框架,也就是如何创建包,模块,如何存放编写的代码
– 怎么组织代码,怎么创建包,模块
– 自动化测试用例放在哪里
– 入口main,收集用例放在哪里
– 测试数据,应该放在哪里
– 测试报告放在哪里
– 配置文件放在哪里
– 日志文件放在哪里
– excel操作
– 托管提交到公司代码库(git,github,gitlab,gitee)
框架搭建步骤:
1.项目说白了就是一个目录,会放很多的文件,不是包,
所以先创建一个新的项目目录task_211012
2.建立一个收集用例的模块,run.py
3.report/目录存放所有测试报告,
使用unittestreport会自动生成report/目录,如果使用beautifulreport需要自己建立report/目录
4.data/存放所有的测试数据
5.common/存放所有的通用模块
common是通用的,其他的或多或少和项目有关系的
换名话也就是说,当你换一个项目时,common可以原封不动的复制到新项目中使用,
但其他是需要修改总分内容的
6.cases/存放所有的测试用例
7.config/存放配置文件
8.log/存放日志文件
9.具体存放的什么代码,如下:
test_login.py(自动代测试用例,参数化)
excel.py(读取测试用例cases.xlsx文件内容)
logger.py(封装日志函数)
read_yaml.py(读取配置文件内容)
config.yaml(配置文件)
cases.xlsx(测试用例)
login.py(被测函数)
run.py(存放收集测试用例代码)
运行run.py后会自动生成report/目录
demo.log内会存入日志信息
——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————
一、简介
框架基于python+pytest+allure,实现 用例发现、顺序执行、参数化、数据驱动、结果收集、Report display and other functions.
接口自动化 基于Requests库 + yaml配置,Assemble and deliver requests.
二、目录结构介绍
三、自动化框架介绍
执行入口:run.py
通过 pytest命令执行测试用例, allure命令生成报告
数据配置
数据存放路径:framework/conf
数据类型: 公共配置 , 接口组成
获取方式:BaseConfig类
Use case marking
pytest打标: @pytest.mark.标签名
allure打标:@allure.severity(“normal”) (BLOCKER 、CRITICAL 、NORMAL 、MINOR 、TRIVIAL )
用处: 在pytest执行脚本时 Script execution can be selected via tags
pytest -m 标签名
pytest --allure-severities=blocker,critical
数据驱动
使用@pytest.mark.parametrize()装饰器
Scopes can be used on test methods and test classes
用法: A parameter is a parameter that identifies the use case function in the form of a string,The second parameter passes the test data in the form of a list or tuple
并发模式
pytestConcurrent mode does not meet existing needs, Customize a concurrency mode
用法: pytest -n auto --isyscore=isyscore
以sheetName、The scripts folder is executed for the module distribution
结果收集、报告展示、通知告警
新增pytest钩子函数pytest_terminal_summary ,Get use case details,发送结果通知
边栏推荐
- 基于STM32F103的消防系统之火焰传感器
- 图扑数字孪生青岛城轨,赋能智慧交通低碳发展
- Biotin-PEG4-DADPS-Picolyl-azide(CAS:2599839-59-3)生物素试剂
- 元宇宙与图扑国风的碰撞,科技与文化的虚实融合
- PC DBCO-PEG3-Biotin|PC-生物素-PEG3-DBCO可用于使用无铜点击化学
- About memcache kernel, so one of the most popular
- Test Development Engineer Growth Diary 007 - Bug Priority Definition and Filling Specifications
- OP tokens and non-transferable NFTs work to build a new digital democracy
- 掌握JESD204B(三)–AD6676的调试
- Alamofire source code analysis - POST request
猜你喜欢
随机推荐
I can't hide it, I want to expose the bad things about cloud native
Unity Gizmos扩展:线框圆
GAIA-IR:GraphScope 上的并行化图查询引擎
测试开发工程师成长日记017 - bug的生命周期
MongoDB-介绍,数据类型,基本语句
用于标记蛋白质和抗体的Biotin-LC-Sulfo-NHS|CAS:191671-46-2
Graph analysis like NetworkX with GraphScope
Unity 渲染流水线
单向链表的操作(带头结点)
Biotin-NHS LC(72040-63-2)生物素接头|站点特定探针
Ingress:从静态图分析到动态图分析
二、2队列
从安装到编译: 10分钟教你在本地使用和开发GraphScope
C 语言之学生管理系统-多文件编程
作为测试leader,考察求职者的几个方面
Unity Shader 空间坐标系
GadgetInspector principle analysis
【JVM】线上应用故障排查
The Force Plan Microservices | Centralized Configuration Center Config Asymmetric Encryption and Security Management
黑盒测试的概念及测试方法