专栏首页用户6517667的专栏软件测试自动化的最新趋势

软件测试自动化的最新趋势

顾翔老师开发的bugreport2script开源了,希望大家多提建议。文件在https://github.com/xianggu625/bug2testscript,

主文件是:zentao.py 。bugreport是禅道,script是python3+selenium 3,按照规则在禅道上书写的bugreport可由zentao.py程序生成py测试脚本。

来源:http://www.51testing.com

  过去几年,QA 行业的一个持续趋势是测试自动化和持续测试。这一趋势也将在 2019 年继续下去。虽然 CI/CD、DevOps 和测试框架在未来一年仍将是突出的主题,但一些新技术正在影响我们测试的内容和测试方法。

  人们期待在 JavaScript 领域看到更多的开源测试框架,在使用的工具中嵌入更多的人工智能功能,以及来自商业工具供应商的更多创新。另一个持续的趋势是功能测试性能测试的结合(你可以将其看做 Selenium 与 JMeter 测试相结合)。此外,人们还期望看到更多行为驱动开发(Behavior Driven Development,BDD 测试)的发展,以及在敏捷组织中如何采用它。自动测试场景生成是我们与几个客户合作的另一个领域。

  以下是目前软件测试自动化水平的完整概述。

物联网测试

  物联网(Internet of Things,IoT)正对测试领域产生显著的影响。像 Selenium 这样的传统自动化方法在嵌入式环境中变得毫无用处。我们已经看到越来越多的基于 Python 和 C/C++ 的测试框架执行单元测试、集成测试和系统测试。大多数测试框架都是测试由这些嵌入式库导出的 API,其中相当多的框架调用嵌入式代码来执行单元测试。这需要具有重要软件开发经验的专业测试工程师,但我们看到更多的软件开发人员将被部署到自动化测试的角色。Python 可能是物联网测试框架开发的首选语言,因为它能够直接使用 ctypes 包来调用 C 代码。

  另一个新趋势就是物联网的 DevOps 环境开始标准化。到目前为止,我们看到的大多是 CI 环境的 Ad-hoc 实现。我们已经预先构建了解决方案,用于构建管理、测试管理、镜像加载、物联网镜像在不同设备上的部署、不同构建物联网设备的 A/B 测试等。

持续测试

  持续测试是从去年至今仍在继续的另一个趋势。我们在过去已经看到了 DevOps 和 CI/CD 框架的爆炸式增长,而今年这种趋势,将随着新的框架(如 Nevercode 和 Codefresh)的出现而继续。

  持续测试的另一个趋势是对每个版本进行基于人工智能的风险评估。以前,这种操作是手工执行的,以确定能为应用程序部署哪些版本。我们已经实现了几个 CI/CD 平台,它们执行应用程序基于人工智能的自动 A/B 部署。

 基于人工智能的测试

  基于人工智能的测试方法已不仅仅是时髦语,现在已经进入了主流测试实践。人工智能和自动化是测试的两个并行方面:自动化用于功能测试,而人工智能则用于视觉测试。基于人工智能的视觉测试,包括视觉测试和感觉测试,并快速浏览每个构建版本的视觉变更,是一个非常有用的发布验证方法。我们已经在 Denver 的不同客户中实施了基于 Applitools 的视觉测试解决方案。

  虽然严格来说,视觉测试目前并不是基于人工智能的。图像比较算法是基于传统的梯度分类。

  我们所使用的其他几个独特的工具很少能够智能地自动化许多任务。

  测试套件优化:我们开发了一些工具来分析日志模式,并确定哪些测试用例是重复的。

  使用日志分析进行缺陷识别:根据日志分析突出显示软件缺陷。

  自动测试场景生成类似于 Swagger。

 开源测试框架

  在过去的几年里,我们看到的不断增长趋势之一是,从传统的企业测试解决方案(如 HP QC、ALM、UFT、IBM 等)迁移出来。我们看到各种规模的组织越来越多地采用开源测试平台。我们亲自将客户的几个测试框架从 HP QC/UFT 迁移到其他开源解决方案。尽管这些开源解决方案涉及到编码,但从长远来看,它们具有高度可定制性和可维护性。我们预计,随着 2019 年的到来,这些开源解决方案将继续获得更大的吸引力。

  敏捷开发和 DevOps 的合并

  DevOps 的关键原则是开发团队、测试团队和运营团队协作,无缝发布软件。这意味着集中或隔离的 QA 部门现在必须与开发和运营团队合并,以便为各种版本提供按需测试服务。测试变得更加渐进、迭代,并与应用程序开发和部署过程集成。

  译注:行为驱动开发(英语:Behavior-driven development,缩写 BDD)是一种敏捷软件开发的技术,它鼓励软件项目中的开发者、QA 和非技术人员或商业参与者之间的协作。BDD 最初是由 Dan North 在 2003 年命名,它包括验收测试和客户测试驱动等的极限编程的实践,作为对测试驱动开发的回应。在过去数年里,它得到了很大的发展。

  2009 年,在伦敦发表的“敏捷规格,BDD 和极限测试交流”中,Dan North 对 BDD 给出了如下定义:

  BDD 是第二代的、由外及内的、基于拉 (pull) 的、多方利益相关者的 (stakeholder)、多种可扩展的、高自动化的敏捷方法。它描述了一个交互循环,可以具有带有良好定义的输出(即工作中交付的结果):已测试过的软件。

  我们现在已看到基于 BDD 的测试机制的采用,它允许在 sprint 周期中开发的新功能进行迭代测试。BDD 代表行为驱动开发(Behavior Driven Development),它本身源自验收测试驱动开发(Acceptance Test Driven Development,ATDD)。BDD 迫使团队在收集需求的同时提出测试场景。测试场景被立即记录下来并签入 CI 系统,以强制 CI 系统显示这些场景的故障。在 Sprint 期间,开发和 QA 团队的目标现在变成了这些场景。这种测试框架开发机制在方法上是新颖的,非常适合敏捷环境。我们看到很多客户在敏捷实践中转向基于 BDD 的测试开发。

性能工程的性能测试

  测试的关键趋势之一是将性能测试角色不断转变为成熟的性能工程角色。性能工程现在不仅包括测试方面,还包括监控系统性能。资源的自动伸缩、A/B 测试、ELB、数据库优化、瓶颈识别和监控。现在已有集中基于云端的工具可以准确地监控不同云资源上的各种性能参数,并且通过警报对所有资源进行仪表板监控是我们在各种客户端上工作的主要部分之一。

 微服务测试

  随着越来越多的应用程序转向微服务模型,测试架构也朝着微服务测试模型发展。以前,产品的 QA 遵循黑盒测试模型,但现在,通过微服务测试,我们正朝着灰盒测试模型迈进。

  微服务测试包括 API 测试、数据库测试、身份验证服务 / 搜索服务测试等。我们可以将这个测试模型称为更多的组件测试模型,而不是测试集成产品。

  微服务测试允许我们在所有变更进行大爆炸式的集成之前发现问题。 它仍然高于单元测试,因为组件必须完全定义,并且测试基于这些组件的外部 API。

测试即服务(TaaS)

  测试即服务(TaaS)或 QA 管理服务是一种外包模式,其中组织的测试活动由外部团队而非员工来执行。在许多情况下,外部团队是一个离岸团队。但我们也有一些实例,我们为自动化开发和项目移交的初始阶段开发了离岸团队,然后是离岸团队进行 QA 维护。

  测试即服务(TaaS)的优势包括:

  支持按需测试资源。测试是一种周期性活动,其中,资源利用率并不是恒定的。测试即服务意味着客户只需为测试资源使用的时间支付费用。

  离岸资源降低成本:由于与离岸组织相关的劳动力成本较低,

  自动化服务包含在内:测试即服务包括测试自动化框架、CI/CD 框架以及性能测试和监控,从而降低了组织的各种成本。

星云测试

http://www.teststars.cc

奇林软件

http://www.kylinpet.com

联合通测

http://www.quicktesting.net

本文分享自微信公众号 - 软件测试培训(iTestTrain)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-04-10

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 分析了自家150个ML模型之后,这家全球最大的旅行网站得出了6条经验教训

    「150 successful Machine Learning models: 6 lessons learned at Booking.com」是一篇绝佳的...

    机器之心
  • AI不是万灵神药!看看普林斯顿大学的这份“假AI防骗报告”

    AI不是万灵药,但越来越多的人把它说成是万灵药,在这些人的鼓吹下,更多的人可能真的会把AI当成万灵药。

    CDA数据分析师
  • 用于多任务CNN的随机滤波分组,性能超现有基准方法

    多任务学习(MTL)的性能表现,很大程度上取决于任务共享的方式,而任务共享方式通常是依靠网络架构的设计。共享方式是由网络深度和任务数量综合决定的,因此如果完全依...

    AI科技大本营
  • 这些项目,入选了 2019 年最佳开源软件榜单!

    InfoWorld 是致力于引领 IT 决策者走在科技前沿的国际科技媒体品牌,每年 InfoWorld 都会根据软件对开源界的贡献,以及在业界的影响力评选出当年...

    GitHubDaily
  • 利用AI识别秘鲁纳斯卡线中的新地理标志

    秘鲁的纳斯卡线(Nazca Lines)是所有历史遗迹中最神秘的。这些线条刻画的类人生物、几何形状和动物的轮廓使专家困惑了近一个世纪。

    AiTechYun
  • 孙茂松:深度学习的红利我们享受得差不多了!

    访谈伊始,孙茂松首先简单概括了一下人工智能近几年的发展状况。他说道,人工智能这几年的发展,大家接触比较多的是图像方面的成果,包括很多创业公司的人脸识别、刷脸等技...

    AI科技大本营
  • 深度森林新探索,应用于多标签学习

    该类技术是一种基于不可微分单元(即树/树集成)的方法,具备适合多核芯片架构加速等特点,并且能够比基于神经网络的感知器更好地处理离散数据或列表数据,利用如英特尔至...

    AiTechYun
  • 独家 | 一文读懂概率论学习:贝叶斯理论(附链接)

    在这篇文章中,我们将讨论概率论中最著名和最常用的定理之一:贝叶斯定理。从未听说过吗? 那你就有福了! 已经了解了吗? 那就继续读下去,用一个简单例子来巩固你的知...

    数据派THU
  • 连不上 GitHub 的朝鲜,也开发出了人脸识别技术

    场景描述:近日,朝鲜媒体《统一的回声》发布刊文,介绍了新开发的自研智能蓝天手机。文章中称,该款手机处理速度快,支持人脸识别和指纹解锁等功能。据朝鲜媒体早前报道,...

    数据森麟
  • 我们应该如何报道人工智能?这位专业AI研究者给出了10条建议

    近几年,媒体和普通百姓对人工智能(AI)的兴趣激增,与此同时,媒体对AI的报道良莠不齐,一部分小杂志社和标题党对AI的报道更像是在描述科幻小说,而不是现实。

    大数据文摘

扫码关注云+社区

领取腾讯云代金券