如何从零开始搭建公司自动化测试框架?

发表于:2022-5-19 08:50

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:佚名    来源:知乎

  一、为什么要搭建自动化测试框架
  测试如果按照是否手工划分,可以分为“手工测试”和“自动化测试”。
  “手工测试”也就是用人力来进行功能测试。相比自动化测试而言执行效率慢,可以进行探索性测试和发散性测试。
  “自动化测试”主要是通过所开发的软件测试工具、脚本等来替代人工进行功能测试。相比“手工测试”,不仅能解放人力,且具有良好的可操作性、可重复性和高效率等特点。
  具体来说"自动化测试"的优势如下:
  (1)自动化测试具有一致性和重复性的特点,而且测试更客观,提高了软件测试的准确度、精确度和可信任度。
  (2)自动化测试可以将任务自动化,能够解放人力去做更重要的工作。
  (3)自动化测试只需要部署好相应的场景,如高度复杂使用场景、海量数据交互、动态响应请求等,测试就可以在无人值守的状态下自动进行,并对测试结果进行分析反馈;手工测试很难实现复杂的测试。
  (4)自动化测试可以模拟复杂的测试场景完成人工无法完成的测试,如负载测试、压力测试等。
  (5)软件版本更新迭代后需要进行回归测试,自动化测试有助于创建持续集成环境,使用新构建的测试环境快速进行自动化测试。
  可见,自动化测试优势非常多,所以最近几年企业疯狂招聘自动化测试人员。高薪的自动化测试不断的涌入,逐步替代低薪的手工测试,直接后果就是测试最近几年的平均薪资一路上涨。
△ 截图来源于职友集,显示最近6年测试薪资一路上涨

  自动化测试具体实施流程如下图所示:
自动化测试实施流程图

  从上图可以看出,要实施自动化测试是需要搭建测试环境的,也就是要搭建测试框架。
  这就是为什么我们要学习"接口自动化测试框架搭建"和"Ui自动化测试框架搭建"的根本原因。
  二、简介如何搭建API接口测试框架
  在当前企业实际测试技能应用中,功能测试和接口测试应用最广泛。但相比功能测试,接口测试缺口却非常大。且接口测试在测试领域地位非常高,是软件测试工程师初级和中级分界线。
  所以我们先来将接口测试框架的搭建,搭建步骤列出如下:
  1)选择开发语言
  2)选择Pytest作为测试框架
  3)设置测试报告
  4)选择代码仓库
  5)部署持续集成方案

  步骤步骤讲完之后,我们开始详细阐述每一步该如何操作(尽力能让你照着步骤搭建出来)。
  1、选择一门语言
  语言我们选择Python。因为相比Java,更容易入门。
  python是一门简单易学,容易理解的计算机编程语言。不仅有很多的学习书籍,还有很多的学习视频。Python也早已经成为tiobe语言的No1。

  2、选择PyTest作为测试框架
  PyTest是一个非常成熟的全功能的Python测试框架。官方文档详细介绍了它的特点:
  · 对失败断言语句会进行详细信息展示(无需记住self.assert*名称)
  · 自动发现测试模块和功能
  · 非常方便管理小型或参数化测试项目
  · 可以开箱即用运行单元测试和测试套件
  · 丰富的插件架构,超过 800 多个外部插件和蓬勃发展的社区
pytest框架使用5步骤

  #PyTest目录结构
  apiTestFramework # 项目名称 
  ├── api # 定义封装被测系统的接口 
  ├── script # 定义测试用例脚本 
  ├── data # 存放测试数据文件 
  ├── report # 存放生成的测试报告 
  ├── common # 存放通用工具类 
  ├── config.py # 定义项目的配置信息 
  └── pytest.ini # pytest配置文件

  3. 测试报告
  执行完测试用例后,可以以HTML(网页)方式将执行结果生成报告。我们选择pytest-html。它是PyTest框架生成HTML测试报告的插件。使用方便。
  第一步安装:pip install pytest-html 
  第二步修改配置:addopts = -s --html=report/report.html
  轻松搞定。
  4. 代码仓库
  代码管理肯定是首选git喽。Git 分布式版本控制系统,实现版本控制和多人协同。
  # 常见的代码托管平台: 
  Github 
      国外的基于git实现在线代码托管的仓库(企业版收费) 
      官网:https://github.com/ 
  Gitee 
      码云,是开源中国免费提供(企业版收费)
      官网:https://gitee.com/ 
  Gitlab 
      类似Github,一般用于企业内部搭建git私服

  5. 持续集成方案
  Jenkins是基于Java开发的一种开源、跨平台的持续集成工具。他能够持续自动构建/测试软件项目,实现监控定时执行的任务。
  我们简单来说明一下jenkins的核心构建步骤。
  1) 搭建Jenkins环境
  2) 创建任务之后设置源码管理
  3) 输入构建命名
  4)设置定时构建
  5)设置测试报告路径
  6)设置构建后发送邮件
  7)构建并查看结果

  三、手把手教:如何搭建UI自动化测试框架
  UI自动化测试框架是有很多的。我们以pytest+selenium+allure+PO模式为例子给大家简要说明一下。搭建步骤有下面几步:
  1)工具环境
  2)依赖包
  3)工程目录
  4)脚本书写步骤
  1、工具环境
  a)Python解释器
  b)Pycharm编码工具
  c)Web端:
  d)浏览器
  e)浏览器驱动程序
  2. 依赖包
  a)Selenium
  b)pytest
  c)pytest-html
  3. 工程目录
  a)base     基类python package
  b)page     PO封装python package
  c)case 测试用例python package
  d)data       数据文件Directory
  e)report   测试报告Directory
  f)log         日志文件Directory
  g)screenshot   截图文件Directory
  h)config.py       项目配置信息文件
  i)utils.py        工具类文件
  4. 脚本书写步骤
  a ) 初始化代码
  b ) 一个测试用例脚本编写过程
  c ) 引入数据驱动
  d ) 引入日志
  e ) 生成测试报告

  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号