部署被测软件应用和中间件

自动化软件测试是任何软件组织都必须执行的强制性活动之一,以保证其产品质量。 但是,此过程通常变得相当复杂,尤其是涉及由多个不同部分组成的现代复杂系统的自动化测试时。 所有这些部分都基于不同的技术,显然,应该使用不同的技术对其进行测试。 实际上,质量检查工程师会使用各种测试工具来对系统的每个部分进行测试,对整个系统进行测试,以执行不同的测试类型,例如功能,性能,集成等。每个测试工具都会产生自己的测试结果质量保证人员应该从不同来源收集所有数据并进行分析,以便能够对系统质量做出任何决定。 最好将所有内容放在一起并完全自动化这个复杂的过程。 这将提高测试自动化本身的质量,并允许在进行持续交付过程中进行自动化测试。

我已经发布了有关融合中间件应用程序FlexDeploy的新DevOps和CD工具的信息 。 我很高兴有机会看到该系统的beta版本(3.0),并且能够尝试一下。 除了许多其他很酷的功能,新版本还提供了测试自动化功能。 FlexDeploy 3.0成为功能强大的工具,可以控制测试自动化过程,并通过实现以下概念使其变得更加容易:

  • 中央管理面板,用于执行,控制和监视组织中的所有自动化测试活动
  • 从所有使用过的测试工具收集测试结果的中心
  • 用于在整个组织内建立质量检查仪表板报告的中央工具,以制定“上线/不上线”决策
  • 支持自动测试,这是CD流程中必不可少的步骤

在这篇文章中,我将重点介绍与测试自动化相关的关键FlexDeploy功能,这些功能可能有助于理解上述概念的实现方式以及其实际工作方式。

与第三方测试工具集成

实际上,FlexDeploy本身不会执行任何自动化测试。 这项工作将由大量的各种测试工具来完成。 FlexDeploy仅控制过程,并且显然可以与测试工具进行交互。 此交互最终完成以下任务:

  • 执行测试
  • 导入测试结果

与第三方测试工具的集成是通过使用插件来实现的。 此时,FlexDeploy 3.0仅提供JUnit和TestNG工具的插件。 但是,在即将发布的版本中,插件的范围将越来越广泛。 据我所知,诸如Oracle应用测试套件(OATS),Selenium,Test Complete等工具正在开发中。 实际上,如果FlexDeploy没有为某些测试工具提供现成的插件,我们可以始终使用Shell插件,该插件允许执行批处理脚本以与测试工具进行交互。

基本上,插件充当各种测试工具的适配器。 他们命令测试工具运行测试,并将测试结果导入统一的测试结果存储中。 这样可以分析测试结果并构建仪表板报告,从而从确切的测试工具中抽象出来。

测试定义

FlexDeploy引入了“测试定义”的概念。 这种抽象表示与某个业务用例相关的一个或一堆测试用例。 例如,对于银行系统,我们可以定义测试定义,例如“贷款安排”,“贷款还款”,“贷款逾期”等。

基本上,FlexDeploy在运行自动化测试时,实际上是在一对一地运行测试定义。 每个测试定义依次使用相应的测试工具运行实际的测试用例。 它知道将要使用哪种测试工具,如何与之交互,应该使用哪些测试用例(在测试工具中定义),如何导入测试结果以及如何对其进行限定。 为了与测试工具进行交互,测试定义使用工作流程。 工作流是一种强大的机制,通常在FlexDeploy中用于执行构建和部署活动。 现在,它也用于自动化测试。

实际上,测试工作流程会调用插件与测试工具进行交互。 除了仅运行测试用例和导入测试结果外,测试工作流程还可以执行任何其他活动。 例如,在运行测试之前进行一些准备工作(例如预热阶段),或者在运行测试之后进行一些完成操作。

测试资格

测试定义能够分析测试结果并得出结论,无论测试运行成功与否。 此功能基于测试限定符。 测试定义可以包含许多测试限定符,例如“通过的测试用例数量大于X”,“失败的测试用例百分比小于Y”等。

如果在测试定义中定义的所有测试限定符均返回true,则认为测试运行成功。 FlexDeploy提供了一组预定义的测试限定符,但它们计划允许用户基于Groovy表达式定义自己的自定义限定符。

测试集

测试集只是一组测试定义。 例如,对于银行系统,我们可以定义测试集,例如“贷款”,“存款”,“外汇”等。测试集可以包含其自己的限定词,以检查整个测试定义集是否通过或失败。

测试执行

此时,可以手动执行自动测试:

或在部署过程中自动执行:

我想即将推出的FlexDeploy版本将允许独立于部署过程按计划自动执行测试。

每次测试执行(手动执行或在部署内执行)都会给出相应的测试结果:

仪表板

FlexDeploy 3.0提供了一个新的仪表板选项卡“ Test Automation”。 它表示跨环境的测试执行的通过/失败比率,测试运行的持续时间和响应时间:

该信息在项目定义的“测试自动化”部分也可用。 在这种情况下,所有图表均基于与此项目相关的测试结果:

通过实施测试自动化功能,FlexDeploy 3.0在使连续交付流程完全自动化的道路上迈出了巨大的一步。 当然,仍有许多事情要做,但是它们已经建立了良好的基础,而该基础将在即将推出的FlexDeploy版本中通过新的测试自动化功能得到充实。

而已!

翻译自: https://www.javacodegeeks.com/2015/10/automated-software-testing-of-fusion-middleware-applications-with-flexdeploy.html

部署被测软件应用和中间件

部署被测软件应用和中间件_使用FlexDeploy对融合中间件应用程序进行自动化软件测试...相关推荐

  1. 多个中间件_前端如何正确使用中间件?

    简介:中间件可以算是一种前端中常用的"设计模式"了,有的时候甚至可以说,整个应用的架构都是使用中间件为基础搭建的.那么中间件有哪些利弊?什么才是中间件正确的使用姿势?本文将分享作者 ...

  2. mysql为什么需要中间件_为什么要用数据库中间件

    问题一:数据库存储的数据量不大,但并非的读写操作都很大,超过数据库服务器的处理能力. 基于阿里云RD版测试结果(Mysql处理性能) CPU        内存        连接数        T ...

  3. 使用FlexDeploy对融合中间件应用程序进行自动化软件测试

    自动化软件测试是任何软件组织都应执行的强制性活动之一,以保证其产品质量. 但是,此过程通常变得非常复杂,尤其是涉及由多个不同部分组成的现代复杂系统的自动化测试时. 所有这些部分都基于不同的技术,显然, ...

  4. 谷歌地图api 微信小程序_使用Google的融合位置提供程序API进行实时位置跟踪

    谷歌地图api 微信小程序 Location tracking and monitoring have seen a surge in modern application development w ...

  5. python消息队列中间件_常见的消息队列中间件介绍

    题目 为什么使用消息队列? 消息队列有什么优点和缺点? Kafka.ActiveMQ.RabbitMQ.RocketMQ 都有什么区别,以及适合哪些场景? 什么是消息队列 在正式介绍和对比Kafka. ...

  6. 软件项目技术路线图_创建基本的项目路线图

    软件项目技术路线图 Continuing from my previous article, at this checkpoint, I have two things with me: 上一篇文章的 ...

  7. NodeJS_08_art-template子模板与模板继承_MongoBooster_express-session_三大类中间件_全局错误处理

    NodeJS七天课程学习笔记_第8天 Blog综合案例 Blog 综合案例 (包含注册.登录.修改密码.注销.发布.分页列表.评论.个人中心.上传头像等) 课程内容概要: 1. 介绍art-templ ...

  8. 软件测试过程与方法_第2单元

    软件测试过程与方法_第2单元 第2单元 节内小测 2.1视频小测 2.2视频小测 2.3小测 第2单元测试 第2单元 节内小测 2.1视频小测 如果要对一个三角形程序进行测试用例设计,三角形程序的功能 ...

  9. 软件测试过程与方法_第4章 4.3单元JUnit的单元测试

    软件测试过程与方法_第4章 4.3单元JUnit的单元测试 简单测试 创建JUnit的过程 代码 独立的测试 4.3.4参数化运行器 输出结果 4.3.5 测试参数化_属性注入 属性注入输出结果 4. ...

最新文章

  1. 「人工智能训练师」国家职业技能标准发布:共有五级,您是第几级?
  2. 只读字符串的c语言命令,C语言只读空间 - C 语言程序设计
  3. OpenCV支持向量机SVM对线性不可分数据的处理
  4. fir.im Weekly - iOS 保持界面流畅的技巧 1
  5. Python 动态添加类方法
  6. python学什么版本2020年_2020年了居然还有人在学Python?学python有什么用?
  7. java jpanel 叠加_java – 如何在JPanel上叠加,调整大小和居中组件?
  8. COGS——T 803. [USACO Hol10] 政党 || 1776: [Usaco2010 Hol]cowpol 奶牛政坛
  9. js 解析php arraylist,使用JSON将ArrayList从Android发送到PHP脚本
  10. redis分布式锁的 5个坑
  11. Matlab遗传算法工具箱(gaot)下载及安装
  12. 电磁场仿真原理——5. 有限元法(FEM)
  13. windows64位首次安装git
  14. Word文档自动生成目录方法,一看就会!还会自动更新
  15. c# 获取数字的小数位数
  16. Opencv去除高光
  17. 小知识:Java中冒号(:)有哪些用法?
  18. 天下英雄出我辈 一入江湖岁月催 《江湖行》
  19. 钢铁侠马斯克的野望:实现载人航天,开源特斯拉自动驾驶!
  20. MATLAB 散点图(scatter)设置点据透明度

热门文章

  1. CF622F-The Sum of the k-th Powers【拉格朗日插值】
  2. P6348-[PA2011]Journeys【线段树优化建图,最短路】
  3. P5546-[POI2000]公共串【SAM】
  4. P4172-[WC2006]水管局长【LCT,最小生成树】
  5. jzoj3847-都市环游【矩阵乘法】
  6. P3701 -「伪模板」主席树【网络流,最大流】
  7. 照看小猫(nowcoder 217602)
  8. Maven的pom.xml文件详解------The Basics
  9. 架构师必须掌握的 10 条设计原则
  10. Oracle入门(十四.3)之创建PL / SQL块