写这篇博客的主要是结合自己的工作情况,针对自动化测试工程的不断改进和优化,决定写一篇文章来记录一下,防止后面遗忘,如有不到之处,还请各位老师指出!不胜感激!
刚开始做自动化的时候,基本上是从一段测试脚本开始(python的main函数),然后整合测试框架(pytest),测试报告框架(allure),为了能够通过测试报告分析出问题原因,会再报告中嵌入测试过程数据,尤其是UI自动化的时候,会有截图嵌入到报告中,当用例数量还比较少的时候,没有什么明显感觉,就是打开报告就能查看到问题原因和测试过程,对开发对测试来说,非常方便。
但是,随着项目功能的逐渐丰富,测试用例数也随着增加,测试报告中的附加信息会越来越多,导致报告加载也比较慢。这时候我们需要引入一个日志系统,测试报告中只嵌入日志查询地址或者用例ID即可,如果我们测试接口,UI的时候需要记录一些响应时间,数据信息的时候,也需要引用系统来记录这些数据便于统计。
基于以上背景需求,我们接下来引入日志系统loki和时序数据库influxdb,作为自动化基础设施的一部分。
基础设施构建自动化基础设施的目的,主要包括以下几点:
- 代码统一git管理
- 通过jenkins定时任务触发自动化测试(接口,UI,稳定性等)
- 测试报告和测试日志,测试数据系统独立
- 测试结果和异常告警推送
- 通过自动化来进行问题单的创建和验证
- 便于后期扩展自动化任务需求
目前工作中主要用到的基础设施包括以下工具:
工具 | 描述 |
---|---|
git | 用于作为自动化测试代码仓库 |
jenkins | 用于自动化测试持续集成 |
python | 自动化测试代码编写语言 |
pytest | python的测试框架 |
allure | 自动化测试报告库,提供友好的测试报告 |
loki | 用于保存自动化测试过程日志信息 |
influxdb | 用于测试过程中的数据记录,便于生成图表信息 |
grafana | 和loki集成,为测试日志查询提供web界面 |
mongodb | 用于保存自动化测试用例 |
jira | 便于自动化提单和任务管理 |
Email/IM | 用于测试结果推送和测试异常告警 |
写到一篇里面内容太多了,所以针对以上内容会分不同文章来介绍,请参考如下链接:
链接文章
- 自动化测试基础设施—介绍
- 自动化测试基础设施—部署loki,grafana,influxdb
- 自动化测试基础设施—git安装部署
- 自动化测试基础设施—基础设施集成方案
- 自动化测试基础设施—git创建自动化测试工程
- 自动化测试基础设施—集成loki和influxdb
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)