基于LINUX环境的自动化测试的研究应用

基于LINUX环境的自动化测试的研究应用,第1张

(一)各种技术应用的前提。对于在开源社区和一些开源项目中获得的测试工具,首先需要了解工具适用于哪些类型应用的测试,以及工具发布后的发布说明和FAQ。开源的工具通常不像商业工具那样成熟稳定,因此找出工具的适用范围以及探索工具的实现程度是进行自动化测试应用的前提。

(二)各种技术应用的环境需求。对于各类工具,需要关注编译和运行时对各种包和库及其版本的依赖关系以及对预先安装的应用的依赖关系。这些在用户手册中都有详尽的说明。

(三)服务器性能监视器。大部分测试工具没有提供服务器端的性能监控功能,测试工程师需要根据实际的需求编写性能监控脚本来配合工具的使用。

下面结合曾经参与进行过的Linux平台下的自动化测试的研究,面向不同类别的测试用例自动化的需求,将主要从功能测试,如GUI测试、命令行客户端的测试,以及性能测试等几个方面对Linux平台下的测试工作的自动化进行分析和说明。

GZW自动化洲试

对于GUI测试的自动化,通常的测试工具所使用的捕捉/回放技术有两种,一种是通过记录界面的鼠标事件(如点击、移动)和键盘事件来完成录制和回放,另外一种则是录制和回放都是基于控件的识别和 *** 作进行的,每个脚本的执行都是控件对象的属性改变或事件触发。我们从开源社区可以获得如上两种类型的运行于Linux平台之上的典型测试工具,如Knee和LDTP等。

(一)Xnee工具

在Linux *** 作系统的xll环境下,Xnee能够录制、回放和分发用户的动作。Xnee的捕捉/回放技术是记录鼠标事件和键盘事件。进入录制模式时,Xnee记录发送至和来自X server之间的协议数据拷贝,并生成Xneesession文件。在回放模式下,Xnee读取Xnee Session中的事件,模仿整个录制过程(即用户 *** 作过程)完成和x server之间的通讯,被录制的应用软件(Xclient)则接收来自xserver的消息,完成预设的动作。

(二)LDTP测试工具/框架

Linux Desktop Testing Project(LDTP)测试工具/框架能够基于用户在应用界面的选择进行脚本的录制。LDTPI具使用了Gnome环境下的Accessibility库即辅助选项库(at-spi)。使用辅助选项能够获得应用通过AT-SPI协议提供的关于用户界面的信息和界面控件的当前状态或者属性。LDTPI具/框架的体系结构如下:

AT-SPI的基础思想就是为用户界面的可视化元素提供对应的辅助对象,而录制完成的每个脚本的执行都是基于这些辅助对象进行的。对于希望利用LDTPI具进行测试的应用,需要激活辅助选项。

(三)GUI自动化测试工具的应用

在实际的GUI自动化测试中,LDTPI具应用的场景会更广泛一些。LDTPI具可以识别窗口中的对象(如按钮),测试脚本使用LDTP的API接口,每个API接口对UI对象进行 *** 作存在两个最基本的入口,即窗口和对象,窗口通过窗口的类型和名称(即标题)识别,对象通过希望 *** 作的控件的类型和名称(标签或者关联的标签)识别。我们同样可以通过at-pokel具展现激活了辅助选项的应用程序窗口的对象及对象属性。在测试Linux桌面产品和服务器产品的过程中,使用LDTPI具可以测试任何启用辅助选项的Gnome应用,如Mozilla,OpenOffice.org、Evolution邮件客户端,Nautilus文件浏览器等等,此外还可以测试UI界面基于Swing的Java应用,以及KDE4.O上基于QT4.0的应用等等。

而Xneel具所针对的应用程序类型就没有特别的限制,对于一些简单的窗口验证测试和界面的稳定性测试等则比较有效。Xnee相对于基于控件方式捕获和回放的工具而言,不用担心存在控件不能被识别的问题。

从使用的情况来看,各个工具也都因为实现技术而存在一定的缺陷,如两个工具均不能插入验证点,从而不能实现用例级别的结果验证;LDTP对于界面的个别元素捕获不到以及不能对不支持辅助选项的应用进行测试等等;而Xneel具生成的脚本可编辑性差,同时由于录制生成的脚本中的事件和屏幕坐标相关,因此当出现窗口d出位置发生变化等问题时,就需要考虑回放时应该如何来处理这些变化。

1. PuppetPuppet是一款开源工具,旨在为系统管理员大大简化自动化和报告工作。它基本上是款配置管理软件,有助于配置和维护企业网络中的服务器及其他系统。系统管理员通常每天要花大量时间重复做同样的任务。他们总是想要使这些任务实现自动化,以便有更多的时间来处理其他项目或学习新的概念和脚本语言。管理员可以通过编写脚本使任务实现自动化,但是在拥有大型网络的公司,脚本不是很方便。这时候,Puppet就大有用场,因为借助Puppet,你可以:为网络上的每个主机定义独特的配置设置不断监测网络,查找任何变动帮助高效地创建和管理用户帮助管理每个开源工具的配置设置。2. CHEFChef是另一款可供Linux系统管理员使用的流行的自动化工具。它用Ruby和Erlang编写,对于配置和维护公司的服务器大有帮助,无论贵公司拥有十台服务器还是上百台。它还可以帮助你将云端服务器与亚马逊EC2、OpenStack、RackSpace或谷歌云整合起来。Chef可以将你的基础设施转变成代码,那样借助代码,你只要更改几行代码,就能轻松撤下一台服务器,从而让你轻松管理服务器。物理节点还意味着:将变更内容部署到生产环境之前,可以对它轻松进行测试,你还可以轻松控制针对代码的每次更新的版本。Chef DK为你提供了测试和管理配置的所有工具,Chef Server充当你所有“菜谱”(recipe)的存储库,可以管理与服务器连接的每个节点。Chef客户软件在每个客户端上运行,时不时收到服务器方面的信息,从而更新其配置设置。3. CFEngine面向Linux系统管理员的下一款自动化工具是CFEngine,这是另一个领先的自动化系统,可帮助你轻松管理整套基础设施,并使之实现自动化。一旦你使用CFEngine为网络中的系统定义了配置,那么CF Engine就会自动确保配置符合规范。不用说,如果你的网络中有10个或100个节点,可以在短短几秒内更新或改动任何一个节点或所有节点。CFEngine之所以受到许多Linux系统管理员的青睐,是由于它运行成本低、响应速度快、具有自愈合功能。4. AnsibleAnsible是Red Hat提供的一款开源配置管理和IT企业自动化软件,随带一种简单的编程语言,让系统管理员能够高效地处理自动化和配置过程。Ansible由控制机器和控制机器控制的节点组成。节点是通过SSH来加以控制的。Ansible的主要特点之一是代理并不是部署到节点 ,但是完全借助SSH来进行通信。易学易用、具有一致性、高可靠性和安全性是让Ansible脱颖而出的其他特性。Ansible的唯一局限就是无法配置裸机和虚拟机。5. ForemanForeman是另一种用于取证分析的开源配置管理工具。Foreman提供了仪表板,我们可以通过仪表板来配置裸机服务器和虚拟机。默认情况下,无论我们何时安装Foreman,它都使用Puppet作为配置工具。不过借助插件,Foreman还支持与其他配置管理工具整合起来,比如Chef、Puppet、Ansible、Salt及其他众多工具。Foreman自动化工具还随带各种各样的接口,包括命令行接口、Web前端以及REST API。Foreman的其他一些显著功能包括如下:通过仪表板,管理Puppet模块和puppet类方面的改动;很容易从Foreman仪表板来管理Puppet环境;由于仪表板,创建主机群(Hosts Group)以及为主机群添加puppet模块变得很轻松;可以从Foreman仪表板,轻松添加Puppet模块或推送到节点。6. KatelloKatello是另一种开源自动化工具。换而言之,我们可以说Katello是一种开源版的Red Hat satellite Server如果我们不想花钱在企业产品及其支持上,就可以用它来代替Red Hat satellite Server。Katello已被Foreman收购,Foreman中的大部分功能在Katello中也得到了支持。Katello Server的主要功能如下:给基于Linux的服务器(RHEL和CentOS )打补丁使用Pulp Service来同步代码库使用Foreman进行各种配置它还可以处理订阅内容管理,并审计所有已部署的软件包借助Katello,你可以为所有主机创建主机群,另外还可以在单一主机或一群主机上批量执行 *** 作。7. NagiosNagios现在名为Nagios Core,它是一种开源自动化和监控工具,可以管理基础设施中的所有系统。它还提供警报服务,一旦察觉到你的网络中哪里有问题,就会提醒系统管理员。借助SNMP以及Nagios,系统管理员还可以控制并管理打印机、路由器和交换机。Nagios让我们得以创建事件处理工具,一旦某个应用程序及其服务停运,就可以自动重启出现故障的那个应用程序及其服务。

前言在日常的办公中 审批和业务流程人为因素较多 不是非常的规范 业务流程在进行过程中会出现时间过长 影响了整个办公效率 文件的下发和上报的主要手段仍停留在人工邮递方式 速度慢 易丢失 环节多 易泄露 随着业务竞争越来越来激烈 对于企业业务人员和高级领导在恰当的时间 获取恰当的信息越来越来重要 办公自动化系统是实现机关内部各级部门之间 以及机关与外部办公信息的收集与处理 流动与共享的信息系统 对提高管理水平 实现科学决策具有战略意义 中软Linux办公自动化系统目的在于搭建高效灵活的网络应用平台 规范日常业务流程 提高办公效率 加快各系统内文件 政策传导和信息传导速度 保证信息资源高效地收集 传输 存储和共享 为企业的健康发展提供强有利的信息服务和决策支持 系统结构图  在这样一种分布式的体系结构中 服务功能可以按照不同的服务级别添加到适当的层次中去 如 目录服务器可以直接利用Domino系统的目录机制 因此可以设置在任何现在有Domino服务器的地方 DNS服务器可以设置在总部 下属机构以下DNS服务器视应用的实际情况决定是否设立 平台软件采用中软linux *** 作系统 Lotus Domino Server apache oracle等优秀软件 为系统安全 稳定提供保证 系统特点通用性( )灵活方便的流程自定义功能 使用户无需编程就可自定义出所需的各种工作流程 并提供严格的工作流程跟踪 监控和统计功能 ( )公文流转灵活 可以退回以前的工作 可以跳转到公文的任一个任务 并且可以从一个流程跳转到另一个流程 比如收文可以转为发文 ( )为了保证公文的正常流转 系统对出差人员的公文处理在出差前 出差中和出差后的处理都有灵活的设置 ( )大量的自定义项 可适应各种类型的组织现在和将来对办公自动化的需求易用性( ) 初始设置自动化和友好的管理界面 使系统的应用与管理变得非常容易 ( ) 界面一致 *** 作简单 所需办理的工作一目了然 安全性( ) 严密的安全机制和高可用性 特别对公章的管理 更是多达七重的保护 ( ) 系统具有监视 管理和控制功能 在系统级 应用级 企业级均有安全机制 ( ) 系统内权限分级管理 防止外部未授权用户侵入和企业内部授权用户越权使用 可扩展性( ) 提供丰富的功能函数包 方便二次开发与集成( ) 采用群件技术结合关系数据库技术 提供各种数据接口 与管理信息系统数据共享 系统功能描述整个系统功能可以分为五个部分 即个人事务 办公事务 信息服务 信息集成和系统管理 个人事务部分是用来规范和管理有关用户个人的私有信息 办公事务部分是OA系统的核心和主要部分 是用来处理所有办公事务的功能模块 信息服务部分是管理行内公共信息的功能模块 信息集成部分是和其它业务系统进行数据的提取 分类和挖掘 OA系统管理部分是为业务文档的流转提供流程配置信息以及所有相关参数 这部分主要用来管理系统基本信息 每一个功能的配置参数以及这些功能的业务文档流转节点链的配置信息 OA系统功能结构请见下图     lishixinzhi/Article/program/Oracle/201311/18062


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6081515.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存