使用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/356736.shtml

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

相关文章

java 反编译项目_Java 7 –反编译项目硬币

java 反编译项目大家好,该是从2012年开始写作的时候了。正如您在其他博客中可能已经看到的那样,有一些更改可以使您使用Java编程时的开发人员生活变得更加轻松:Diamond运算符,Switchs中的Strings,尝试使用资源&#xf…

Java 9代码工具:使用Java微型基准测试工具的实践会话

用肉眼看,基准测试似乎只是确定执行某些代码需要花费多长时间的简单问题。 但是通常,这是幼稚的方法。 提供具有准确和可重复结果的有意义的基准并非易事。 在本文中,我们想向您介绍OpenJDK代码工具项目,尤其是JMH。 Java Microb…

vaadin_在Vaadin和JSF之间选择

vaadin随着最新版本的Primefaces 3.0的发布,JSF终于达到了前所未有的成熟度和实用性,使其与其他流行的Rich Internet Applications(RIA)选项面对面,例如Google Web Toolkit(GWT),Ext…

windows server 2008 oracle 10g,一次不太愉快的Windows Server 2008 R2 SP1上安装ORACLE 10G经历...

华为服务器型号RH5885 V3,安装windows server 2008 r2, oracle 10g1、安装包要使用10204_vista_w2k8_x64_production_db.zip,不用102010_win64_x64_database.zip;2、DBCA创建数据库之前,关闭BIOS中Hyper-Threading [ALL] - [Disab…

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

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

ReactNative——打包发布

1、生成一个签名密钥 ‘ keytool -genkey -v -keystore my-release-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000 ’ 生成一个my-release-key.keystore的密钥库文件 2、找到路径/android/app/src/main,并在该目录下新建assets文件夹 3、在工程…

oracle版本说明,Oracle版本说明

Oracle 的版本号很多&#xff0c;先看11g的一个版本号说明&#xff1a; 注意&#xff1a; 在Oracle 9.2 版本之后&#xff0c; oracle 的maintenance release number 是在Oracle的版本号很多&#xff0c;先看11g的一个版本号说明&#xff1a;注意&#xff1a;在Oracle 9.2版本之…

Opserver配置Redis、SqlServer监控

简介 Opserver是Stack Overflow的开源监控解决方案&#xff0c;由Stack Exchange发布&#xff0c;基于.NET框架构建。开源地址&#xff1a;https://github.com/opserver/Opserver 使用 github下载源代码编译后&#xff0c;发布至IIS&#xff0c;需要先修改Opserver/Config目录下…

Linux挂载多个文件夹读不出,FTP不显示Linux挂载文件夹怎么办?-处理FTP不显示Linux挂载文件夹的方案 - 河东软件园...

最近有位用户向小编反映&#xff0c;声称自己在Linux中使用vsftpd启FTP服务&#xff0c;并在FTP用户下挂载一个Windows的共享盘&#xff0c;但是登陆FTP后却无法显示该挂载的共享盘。出现这种问题真是令人十分头疼呢&#xff0c;想要快速解决这个问题又找不到合适的方法。该怎么…

以太坊智能合约Hello World示例程序

简介 以太坊(Ethereum)是一提供个智能合约(smart contract)功能的公共区块链(BlockChain)平台. 本文介绍了一个简单的以太坊智能合约的开发过程. 开发环境 在以太坊上开发应用&#xff0c;首先需要安装其客户端&#xff0c;本文使用基于Go语言的Geth, 其官网为https://github.c…

Java到LDAP教程(包括如何安装LDAP服务器/客户端)

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

在linux下赋予000权限,【linux】对于文件权限的理解

本篇博文旨在介绍linux下的权限问题&#xff1b;介绍了Linux下&#xff0c;查看权限、修改权限等方法&#xff1b;并通过分别在超级用户(root)和普通用户下进行测试&#xff0c;探索不同等级的用户进入目录需要的权限&#xff0c;以及进入后&#xff0c;显示和创建文件需要的权…

手把手教你制作简易计算器

实现过程&#xff1a; HTMLCssJS 具体通过标签实现计算器整个的框架 通过Css样式实现计算器页面布局及框架优化 通过JavaScript算法实现计算器计算过程 次实验过程&#xff1a; 背景图片背景音乐&#xff08;看个人意愿加&#xff01;&#xff09; 安排&#xff1a; <!--HT…

安装tron_具有Tron效果的JavaFX 2 Form

安装tron这是一个具有TRON效果的简单JavaFX登录表单。 在此示例中&#xff0c;我使用CSS设置TextField和Button的样式。 这是CSS和Effect代码的片段&#xff1a; .text-field{-fx-background-color: transparent;-fx-border-color: #00CCFF;-fx-text-fill: white; }.password-f…

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

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

linux chattr 无权限,从零开始学习Linux(二十八):文件权限之chattr权限

1、chattr命令命令格式&#xff1a; chattr [-] [选项] 文件名或者目录名&#xff1b;参数说明&#xff1a;&#xff1a;增加权限&#xff1b;-&#xff1a;删除权限&#xff1b; 等于某权限&#xff1b;选项说明&#xff1a;i&#xff1a;如果对文件设置i属性&#xff0c;则不…

初等数论及其应用——中国剩余定理

在线性代数中&#xff0c;我们用高斯消元解决多元的线性方程组&#xff0c;而在数论中&#xff0c;面对一元变量的线性模方程组&#xff0c;我们利用中国剩余定理去求解x。 转载于:https://www.cnblogs.com/rhythmic/p/5928483.html

linux c 11 运行库,11.1.3 运行库与I/O

11.1.3 运行库与I/O在了解了glibc和MSVC的入口函数的基本思路之后&#xff0c;让我们来深入了解各个初始化部分的具体实现。但在具体了解初始化之前&#xff0c;我们要先了解一个重要的概念&#xff1a;I/O。IO(或I/O)的全称是Input/Output&#xff0c;即输入和输出。对于计算…

linux windows 丢失,Win10预览版9879硬盘丢失的Linux解决方案

IT之家讯 12月3日消息&#xff0c;最近IT之家论坛网友九仙仙总结了Win10预览版9879硬盘问题的解决方法&#xff0c;并在论坛中发布出来。经测试&#xff0c;此为快速有效的解决方法&#xff0c;故公之于众供朋友们参考。以下为作者原文。开头说明两点&#xff1a;1、这是我个人…

Android开发——Android系统启动以及APK安装、启动过程

0. 前言 从Android手机打开开关&#xff0c;到我们可以使用其中的app时&#xff0c;这个启动过程到底是怎么样的&#xff1f;1. 系统上电当给Android系统上电&#xff0c;在电源接通的瞬间&#xff0c;CPU内的寄存器和各引脚均会被置为初始状态&#xff0c;CPU复位之后&#…