自动化测试与DevOps以及持续集成的关系。

最近参加了一个公司内部关于DevOps的培训。简单了解了什么是DevOps以及自动化测试在DevOps这种新的开发模式中的重要性。简单来说DevOps提倡的是加强开发团队与运维团队之间的合作,从而加快产品开发周期以及上线频率。快速的产品发布导致的必然结果就是加强自动化测试的覆盖率,因为传统的手动测试很难跟上高速产品发布的脚步。但是与此同时,频繁的发布产品也会导致自动化测试的开发成本加大。在没有以自动化测试为开发驱动的项目当中,任何的产品组件的升级都可能导致寄存的自动化脚本失效。这就导致自动化测试的开发人员需要不停地维护原有的测试脚本,从而延长自动化测试项目的生命周期。而维护成本的不断增加是当今自导致自动化项目失败的一个主要原因。另一方面,在传统的手动测试无法满足高速产品更新的同时,自动化测试是否就一定能满足这一需求?我们知道自动化测试也是一种开发,如果开发的自动化测试脚本所对应的测试用例只需要检测一次,而测试脚本的开发(或者更新)时间要远大于手动测试时,自动化测试就没有真正的提高测试效率。自动化测试的ROI也必然走向负面。如何在开发自动化测试的同时减少维护成本甚至开发成本,必然是自动化测试人员不可回避的一个话题。

相对于产品开发,自动化测试的开发模式以及框架都相对较少,毕竟自动化测试的起步要远远晚于产品开发。简单谈一下我所知道的自动化测试项目的模式:

1.现有的自动化测试项目往往是借助自动化测试工具来录制回放测试脚本,再加上大量的人力来执行。这样做所带来的最大弊端就是当产品升级时,原有通过工具录制的自动化脚本重用率极低,自动化测试人员不得不重新进行一轮新的脚本录制。一个简单的UI升级都可能给这样的自动化项目带来毁灭性的打击。

2.根据SA提供的产品设计,由自动化测试人员自主开发自动化测试脚本。相对于上一种模式,这种由具有开发能力的自动化测试人员来编写测试代码的模式明显要高级很多。有经验的自动化测试人员往往会基于项目来开发一些共用库,从而大大提高开发效率。在产品更新的时候也可以通过简单的修改外围代码来维护自动化脚本。

在产品更新发布频率低于两周一次的时候,上述的第二种模式已经基本可以满足用户的需求。但是在当今的业界里,某些宫色的产品的更新发布频率要远远高于此,有时甚至是以分钟为单位。在如此快速的频率下,在保证产品“质”的同时,必然会降低产品的“量”。也就是说每次更新的产品原始代码会相对减少,产品功能变化不大(改变产品核心功能的情况除外)。如果可以将自动化测试脚本与产品本身建立起关联关系,从而使自动化脚本在产品更新时自动更新,那必然会再次大大降低自动化项目的维护成本。

想要达到这一目的,讲自动化测试与持续集成紧密联系在一起是一个必然的前提。这里的持续集成,指的不仅仅是将自动化测试的代码放入持续集成工具,而是将产品代码,测试代码,以及产品模块与测试用例的对应关系全部结合起来并作为可持续性集成的一种新的模式。自动化测试人员不仅需要得到产品功能的规定,还需要得到开发部门的整套开发文档(API, swagger等等)。让自动化脚本先可以“读”懂产品的源代码,然后将自动化测试脚本与产品代码中的业务逻辑链接起来。

自动化测试与DevOps以及持续集成的关系。相关推荐

  1. 【DevOps】持续集成环境-Jenkins安装图文版

    文章目录 前言 Jenkins的安装 1. 环境 2. 安装java 3. 下载Jenkins 4. 安装Jenkins 5. 访问测试 6. 安装插件 7. 创建管理员账号 8. 安装完成: 总结 ...

  2. 【DevOps】持续集成的流程及jenkins的介绍

    文章目录 前言 jenkins的概念 什么是DevOps jenkins特性 持续集成的流程 总结 大家好,我是高胜寒,一个在教培行业不忘初心的人,本文是[循序渐进学运维]DevOps工具篇的第3篇文 ...

  3. 【DevOps】持续集成

    文章目录 什么是集成 什么是持续集成 持续集成的六个步骤: 1. 提交 2. 测试(第一轮) 3. 构建 4. 测试(第二轮测试) 5. 部署 持续集成的组成要素 持续集成有什么好处 总结 大家好,我 ...

  4. DevOps之持续集成SonarQube代码质量扫描

          SonarQube是一个用于代码质量检测管理的开放平台,可以集成不同的检测工具,代码分析工具,以及持续集成工具.SonarQube 并不是简单地把不同的代码检查工具结果直接显示在 Web ...

  5. web自动化测试从入门到持续集成(selenium webdriver)

    在很多刚学习自动化的可能会认为我只需要会运用selenium,我只需要在一个编辑器中实用selenium +java编写了一些脚本那么就会自动化了,是真的吗?答案肯定是假的.自动化肯定是需要做到真的完 ...

  6. 【devops】持续集成环境-jenkins插件管理

    文章目录 前言 一. jenkins插件地址修改 web端后台修改 2. 在配置文件里修改: 3. 修改完后重启jenkins 二 . 安装插件举例 总结 前言 jenkins本身的功能并不多,很多的 ...

  7. 敏捷开发,持续集成/交付/部署, DevOps总结

    文章目录 敏捷开发入门教程 一.迭代开发 二.增量开发 三.敏捷开发的好处 3.1 早期交付 3.2 降低风险 四.如何进行每一次迭代 五.敏捷开发的价值观 六.十二条原则 七.参考链接 持续集成/交 ...

  8. 基于持续集成的轻量级接口自动化测试

    1. 前言 Jenkins+Ant+Jmeter这一套自动化性能测试框架,分享给大家,给大家做一点参考. 2. 摘要 无论是互联网还是金融行业的产品都必须依赖大量的后台接口提供的服务,后台接口稳定与性 ...

  9. 基于持续集成的轻量级接口自动化测试 【持续更新...】

    1. 前言 Jenkins+Ant+Jmeter这一套自动化性能测试框架,最近有不少测试的朋友问,这篇文章是由我们原测试团队共同编写的,由于我们后期采购了第三方的自动化测试平台,此套框架已经不在使用了 ...

最新文章

  1. Android网络服务发现(NSD)协议的使用
  2. apache 服务器概述--安装(一)
  3. Windows8下如何使用命令行--转载
  4. 随便写点时间相关的模块
  5. Android 6.0及以上版本动态申请权限,11权限
  6. python教程视频-私藏已久的7个Python视频教程
  7. Asp.net 调用sqlserver存储过程参数传中文乱码!
  8. C++ STL中vector的内存机制和性能分析
  9. SuperMap IClient for Leaflet 加载高斯克吕格投影三度分带CGCS2000大地坐标系WMTS服务
  10. java 游戏源码_源码下载 - Java源码 - 游戏娱乐
  11. python算术平方根_Python 平方根
  12. Android资源应用与适配标准
  13. 手把手教你做时间序列图
  14. 计算机高级技师证怎么考?
  15. 第一个PWA程序-聊天室
  16. Android 10 Firewall blacklist 设置范例
  17. 西安中科创达面试(java方向)
  18. 码教授M01和J42项目答辩胜利结束,广阔天空任你们闯荡!
  19. 不同封装0Ω电阻通流能力
  20. oracle定时导入dat文件夹,oracle dat文件导入 | 学步园

热门文章

  1. Java 面向对象 之 封装方法
  2. Android RoboGuice开源框架、Butter Knife开源框架浅析
  3. centos6.5-64安装zabbix2.4
  4. 微软vs2015先行,Visual Studio 2015正式版离线iso及在线下载(附key)附带百度云盘地址...
  5. Facebook Cache Token Issue
  6. SCCM2012之NAP网络保护
  7. 使用正当时!用扩展全面武装Firefox
  8. Salesforce 社区可泄露业务敏感信息
  9. H3C SecPath U200-S 如何在内网使用外网IP地址访问内网服务器
  10. servlet的doPost 和doGet和web文件结构