IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> 基于 httprunner自动化测试平台搭建与开发 -> 正文阅读

[系统运维]基于 httprunner自动化测试平台搭建与开发


1 前言
1.1 文档目的
1.2 名词术语
2 接口自动化测试实施原则
2.1 实施原则
2.2 实施接口自动化测试的优缺点
3 实施范围和目标
3.1 实施范围
3.2 实施目标
3.3 总体实施策略
4 技术方案实施内容
4.1 httprunner的特性和优势:
4.2 httprunner 的工作原理:
4.2.1 第一步:环境搭建
4.2.2 第二步:编写脚本
4.2.3 第三步:执行测试
4.3 Jenkins的安装部署与配置
4.3.1 第一步:代码上传svn
4.3.2 第二步:jenkins部署
4.3.2.1 jenkins新建工程
4.3.2.2 jenkins的工程描述
4.3.2.3 jenkins的代码配置
4.3.2.4 选择构建前删除工作区
4.3.2.5 执行windows批处理命令
4.3.2.6 测试报告的css渲染
4.3.2.7 测试报告的配置
4.3.3 第三步:查看测试报告
4.3.3.1 打开项目目录,点击HTML_Report
4.3.3.2 选择对应时间戳下的.html文件
4.3.3.3.1 Request
4.3.3.3.2 Validators
4.3.3.3.3 Staristics
5 实施管理建议
5.1 实施策略建议
5.2 人员配置
5.3 实施计划

前言

文档目的

接口自动化测试方案是为辣妈系统接口测试使用自动化框架,实现以接口自动化测试为主的目标而编写的技术和实施方案。
文档的主要目的是提供接口自动化测试的技术方案、实施内容、实施步骤,以及关键的技术实现手段等。

名词术语

  • Httprunner:是大疆公司研发的一款接口自动化框架,基于http协议
  • Hrun:httprunner框架下的执行接口测试的启动命令
  • Validate:断言,来验证返回的数据是否和传入的参数一致

接口自动化测试实施原则

实施原则

接口自动化测试过程中工具不可能完成所有的工作,工具仍然是测试过程中的辅助手段。对于工具主要是解决测试过程中的重复性的工作任务。另外实施自动化的测试,对被测系统也有更高的要求,总结接口自动化测试的实施原则如下:

  1. 使用自动化工具测试,要求被测系统开发比较稳定,较少发生功能的变更;
  2. 在自动化测试脚本编写前,被测系统的接口相对稳定;
  3. 接口测试自动化要求测试数据环境中的测试数据相对独立,满足完全把控数据测试的要求;
  4. 要求被测系统的版本运行比较稳定,较少发生测试中止的情况;
  5. 完善的、可复用的数据参数,脚本库是一个长期的积累过程。

实施接口自动化测试的优缺点

接口的自动化测试与手工测试虽然有很多局限,但是同样有其优势,随着自动化测试技术和工具的发展,对于比较稳定的产品的功能测试中,自动化测试占有越来越重要的地位。使用接口测试可以加快整个测试的过程,在产品的版本发布之后,可以重复使用测试脚本进行测试,具体来说:
自动化测试的优点:

  • 提高测试效率,降低测试成本;
  • 重复性强的手工劳动独立用自动化实现;
  • 快速的回归测试,提高新版本发布的速度和质量;
  • 避免人工测试容易犯的错误,如:错误测试,漏测试,多测试等;
  • 很容易就实现并发性测试;
  • 测试可重用,采用脚本和数据可以很容易实现重用。

自动化测试的缺点:

  • 规范的测试管理,测试需求,测试用例;
  • 不能创造性发现测试脚本没有设计的缺陷;
  • 高质量的测试用例;
  • 高素质的自动化测试工程师;
  • 对测试环境要求比较严格;
  • 测试需求变化可能引起大量的测试用例,自动测试脚本的修改、维护。

实施范围和目标

实施范围

  1. 工具范围:目前考虑使用svn作为远程代码仓库,httprunner作为主要框架,jenkins作为持续集成工具
  2. 系统范围:定位在测试中心基础测试环境中的系统;
  3. 测试阶段的范围:新功能测试、回归测试、以及上线后的功能回归测试

实施目标

  1. 接口自动化测试系统应该能完成集成测试、以及上线后功能的回归测试;
  2. 接口自动化测试方案对目前大部分应用系统都可以进行测试;
  3. 实现自动化脚本编写、自动化脚本执行、自动化缺陷报告和管理。

总体实施策略

  1. 首先从目前系统中选择适合自动化测试的项目和功能;
  2. 其次确定接口自动化测试的阶段;
  3. 接口功能组合成为一个完整的系统测试

技术方案实施内容

Httprunner的特性和优势

  • 继承?Requests?的全部特性,轻松实现 HTTP(S) 的各种测试需求
  • 采用?YAML/JSON?的形式描述测试场景,保障测试用例描述的统一性和可维护性
  • 借助辅助函数(debugtalk.py),在测试脚本中轻松实现复杂的动态计算逻辑
  • 支持完善的测试用例分层机制,充分实现测试用例的复用
  • 测试前后支持完善的 hook 机制
  • 响应结果支持丰富的校验机制
  • 基于 HAR 实现接口录制和用例生成功能(har2case
  • 结合?Locust?框架,无需额外的工作即可实现分布式性能测试
  • 执行方式采用 CLI 调用,可与 Jenkins 等持续集成工具完美结合
  • 测试结果统计报告简洁清晰,附带详尽统计信息和日志记录
  • 极强的可扩展性,轻松实现二次开发和 Web 平台化

Httprunner 的工作原理

  • 明确的测试目的(achieve a particular software testing objective)
  • 明确的输入(inputs)
  • 明确的运行环境(execution conditions)
  • 明确的测试步骤描述(testing procedure)
  • 明确的预期结果(expected results)

第一步:环境搭建

  1. 在服务器上安装python环境
  2. 执行pip install httprunner
  3. 运行如下命令,若正常显示版本号,则说明 HttpRunner 安装成功

$ hrun -V
2.0.2
$ har2case -V
0.2.0

第二步:编写脚本


Name: api的描述
Base_url:基础网址
Request:http的请求形式
Method:请求方式
Url:拼接的接口名
Json:传参
Validate:断言

?

第三步:执行测试

执行命令: hrun + api(path)

Jenkins 的安装部署与配置

第一步:代码上传svn

第二步:jenkins部署

Jenkins新建工程

?

Jenkins的工程描述

?

?

Jenkins的代码配置

?

选择构建前删除工作区

?

执行windows批处理命令

?

测试报告的css渲染

?

测试报告的配置

?

第三步:查看测试报告

打开项目目录,点击HTML_Report

?

选择对应时间戳下的.html文件

?

测试报告的内容

Request

?

?

?

Validators

Staristics

?

?

实施管理建议

实施策略建议

策略有如下建议:

  • 从底层往上的数据覆盖,解决测试数据的依赖从属关系,把控整个接口测试数据的正确性
  • 测试用例的评审覆盖
  • 准备对应的api文档

人员配置

在自动化测试实施过程中,需要以下的人员配置:

  • 测试经理:负责测试用例的覆盖评审
  • 开发人员:接口文档的编写和沟通
  • 脚本编写人员:需要有http协议的基础,以及python语言的基础

实施计划

阶段

时间

阶段关键任务/里程碑目标

计划准备阶段

确定项目的目标和范围;
确定项目的实施计划;
确定项目实施的人员需求;
接口自动化测试方案通过评审。

环境搭建和准备

搭建自动化测试环境;
熟悉和了解被测系统的功能需求。

测试需求分析阶段

分析被测系统需求;
分析测试系统的数据需求;
完成测试数据需求,初步完成主要的测试数据。

测试脚本开发

完成脚本框架;
完成被测功能的脚本的编写和调试;
完成被测脚本的参数设置和测试数据;
发布测试脚本基线版本。

测试执行

测试执行、报告问题。

测试分析总结

测试结果;
测试总结。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-04-29 12:31:28  更:2022-04-29 12:34:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 19:58:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码