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

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

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

我已经发布了有关融合中间件应用程序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引入了“测试定义”的概念。 这种抽象表示与某个业务用例相关的一个或一堆测试用例。 例如,对于银行系统,我们可以定义测试定义,例如“贷款安排”,“贷款还款”,“贷款逾期”等。

屏幕截图2015年10月11日下午1.44.31

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

屏幕截图2015年10月10日下午6.43.11

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

屏幕截图2015年10月10日下午7.38.42

测试资格

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

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

测试集

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

屏幕截图2015年10月11日下午1.40.58

测试执行

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

屏幕截图2015年10月11日下午1.48.45

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

屏幕截图2015年10月11日下午2.30.42

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

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

屏幕截图2015年10月11日下午2.14.01

仪表板

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

短跑1

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

短跑2

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

而已!

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/336890.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

投行数据_投行对Java的二十大核心访谈问答

投行数据这是在金融领域(主要是在大型投资银行)共享Java核心访谈问题和答案的新系列。 在JP Morgan,Morgan Stanley,Barclays或Goldman Sachs上会问许多这些Java面试问题。 银行主要从多线程 , 集合 ,序列化…

primefaces_通过OmniFaces缓存组件以编程方式缓存PrimeFaces图表

primefaces在这篇文章中&#xff0c;您将看到如何结合PrimeFaces和OmniFaces获得可缓存的图表。 为了使事情变得简单&#xff0c;我们将使用PrimeFaces 折线图。 对于这种图表&#xff0c;我们可以在页面中使用<p&#xff1a;chart />标签和一个简单的托管bean。 因此&am…

hmailserver mysql密码_第二步:点晴MIS系统Email模块hMailServer数据库连接配置指引

点击&#xff1a;windows系统-》开始-》所有程序-》hmailserver-》hMailServer Database Setup&#xff0c;在弹出的对话框中输入默认管理密码“clicksun2010”&#xff0c;进入后按照以下步骤操作&#xff1a;输入登陆密码&#xff1a;clicksun2010&#xff0c;务必使用这个密…

spring3.0异步_在Spring 4.2中更简单地处理异步事务绑定事件

spring3.0异步介绍 如您可能已经知道的&#xff08;例如&#xff0c;从我以前的博客文章中 &#xff09;&#xff0c;不再需要创建一个单独的类来实现带有onApplicationEvent方法的ApplicationListener &#xff0c;以便能够对应用程序事件做出响应&#xff08;包括来自Spring …

java实现ldap服务器_Java到LDAP教程(包括如何安装LDAP服务器/客户端)

java实现ldap服务器本教程将向您展示如何编写Java代码以与LDAP交互。 但是在执行此操作之前&#xff0c;我们需要在计算机上设置LDAP服务器和客户端。 如果此时您不确定到底是什么LDAP&#xff0c;建议您使用这篇文章&#xff0c;其中提供了一个很好的定义示例。 &#xff08;…

java 程序增加 防盗_防盗Java EE –保护Java EE企业应用程序的安全

java 程序增加 防盗redev离我们仅有几天的路程&#xff0c;我受邀作了两次演讲。 其中之一是关于我最喜欢的主题&#xff1a;安全性和Java EE。 它旨在实现两个目标。 一方面向典型的Java EE开发人员介绍整个应用程序安全过程和主要目标。 而且还要查看有关Java EE在满足典型需…

js内存泄露 垃圾回收_Java内存体系结构(模型),垃圾回收和内存泄漏

js内存泄露 垃圾回收Java内存架构&#xff08;Java内存模型&#xff09; 上面是堆的Java内存模型以及Java虚拟机&#xff08;JVM&#xff09;中运行的任何Java应用程序的PermGen。 还提供了比率&#xff0c;以使您更好地了解如何在每种生成类型之间分配允许的内存。 以上所有内…

qlineedit文本改变时_PyQt5 QLineEdit(单行编辑器) 学习

QLineEdit is a widget that allows to enter and edit a single line of plain text. There are undo and redo, cut and paste, and drag & drop functions available for the widget.代码&#xff1a;# codingutf-8from PyQt5.QtWidgets import QApplication, QWidget,\…

jboss7.0.2_红帽JBoss企业应用平台7.0 ALPHA发布了!

jboss7.0.2红帽JBoss企业应用程序平台7&#xff08;JBoss EAP 7&#xff09;是基于开放标准构建并符合Java Enterprise Edition 7规范的中间件平台。 它将WildFly Application Server 10与高可用性群集&#xff0c;消息传递&#xff0c;分布式缓存和其他技术集成在一起。 现在可…

sts集成jboss_与JBoss BPM Travel Agency更新了Modern BPM数据集成

sts集成jboss不久前&#xff0c;我们启动了一个规模较大的JBoss Travel Agency演示项目&#xff0c;以展示JBoss BPM Suite的一些更有趣的功能。 我们提供了一系列视频 &#xff0c;不仅向您展示了如何安装它&#xff0c;项目中各种规则和流程工件的含义&#xff0c;还向您介绍…

java 线程组作用_Java线程组(ThreadGroup)使用

JDK 对线程组类注释&#xff1a;A thread group represents a set of threads. In addition, a thread group can also include other thread groups. The thread groups form a tree in which every thread group except the initial thread group has a parent.A thread is a…

java左上角图标太小_Eclipse在高分屏下图标过小的解决方法

自己败了一台Surface Pro 4&#xff0c;打算用来看PDF、练代码。安装了Eclipse并且打开之后&#xff0c;发现图标显示极其细小&#xff0c;肉眼几乎无法看清了。这是由于Eclipse对高分屏没有作适配导致的。Windows 10本身对于高分屏的支持已是相当不错&#xff0c;苏菲4的屏幕分…

activiti 多租户_Activiti中具有独立数据库架构的多租户

activiti 多租户我们过去听到的一项功能请求是以多租户方式运行Activiti引擎&#xff0c;使租户的数据与其他数据隔离。 当然&#xff0c;在某些云/ SaaS环境中&#xff0c;这是必须的。 几个月前&#xff0c;波恩大学的学生拉斐尔吉伦&#xff08;Raphael Gielen&#xff09;…

jigsaw kaggle_使用Project Jigsaw的JDK 9 Early Access上的Eclipse IDE

jigsaw kaggle几周前&#xff0c;我写了关于在Java 9上运行Eclipse Neon的文章 &#xff08;尽管&#xff0c;我在帖子标题中错误地且令人尴尬地留下了“火星”&#xff09;。 值得注意的是&#xff0c;我列出的步骤也适用于带有Project Jigsaw &#xff08;Java模块化&#xf…

win7 activemq_带有骆驼,ActiveMQ,Elasticsearch的关键HL7用例

win7 activemqML7上的HL7是可以说HL7协议格式的系统的一种非常常见的传输机制。 JBoss Fuse是一个非常强大的微服务样式集成平台&#xff0c;在为关键医疗保健提供者构建灵活&#xff0c;有弹性&#xff0c;高可用性的集成方案方面拥有良好的经验。 此外&#xff0c;在JCAPS上替…

java boundary_上传文件multipart form-data boundary 说明

含义 ENCTYPE"multipart/form-data" 说明&#xff1a;通过 http 协议上传文件 rfc1867协议概述&#xff0c;客户端发送内容构造。概述在最初的 http 协议中&#xff0c;没有上传文件方面的功能。 rfc1867为 http 协议添加了这个功能。客户端的浏览器&#xff0c;如 M…

crud-table_我个人的CRUD故事-或我如何来到CUBA平台

crud-table在此博客文章中&#xff0c;我想介绍一下我如何使用CUBA平台以及该工具的好处。 在我年轻的“业务应用程序开发”历史上&#xff0c;我将深入探讨各个阶段&#xff0c;只是给您一些背景知识。 因此&#xff0c;让我们从如何进入典型的CRUD应用程序开始&#xff0c;以…

python api接口生成_Django 自动生成api接口文档教程

最近在写测试平台&#xff0c;需要实现一个节点服务器的api,正好在用django&#xff0c;准备使用djangorestframework插件实现。需求实现一个接口&#xff0c;在调用时&#xff0c;通过传递的参数&#xff0c;直接运行对应项目的自动化测试环境Python3.6 ,PyCharm,W7项目结构功…

eclipse clean_Clean Sheet – Windows 10的人体工程学Eclipse主题

eclipse cleanClean Sheet是适用于Windows 10的符合人体工程学的Eclipse主题。它基于干净&#xff0c;低眩光的外观和感觉&#xff0c;旨在减轻视觉疲劳和眼睛疲劳。 它融合了均衡的颜色选择&#xff0c;可以突出谐波语法并注重可读性。 除自定义滚动条外&#xff0c;它还努力满…

什么时候需要使用cqrs_在CQRS读取模型中使用Hibernate进行快速开发

什么时候需要使用cqrs在本文中&#xff0c;我将分享一些在CQRS读取模型中使用Hibernate工具进行快速开发的技巧。 为什么要Hibernate&#xff1f; Hibernate非常流行。 从外观上看&#xff0c;它也很容易&#xff0c;而从内部看&#xff0c;它却相当复杂。 它可以很容易地上手…