(1210)3270神东井下自动排水系统设计与实现11-17.docx

上传人:牧羊曲112 文档编号:2076465 上传时间:2023-01-07 格式:DOCX 页数:54 大小:2.84MB
返回 下载 相关 举报
(1210)3270神东井下自动排水系统设计与实现11-17.docx_第1页
第1页 / 共54页
(1210)3270神东井下自动排水系统设计与实现11-17.docx_第2页
第2页 / 共54页
(1210)3270神东井下自动排水系统设计与实现11-17.docx_第3页
第3页 / 共54页
(1210)3270神东井下自动排水系统设计与实现11-17.docx_第4页
第4页 / 共54页
(1210)3270神东井下自动排水系统设计与实现11-17.docx_第5页
第5页 / 共54页
点击查看更多>>
资源描述

《(1210)3270神东井下自动排水系统设计与实现11-17.docx》由会员分享,可在线阅读,更多相关《(1210)3270神东井下自动排水系统设计与实现11-17.docx(54页珍藏版)》请在三一办公上搜索。

1、北京理工大学工程硕士学位论文摘 要随着我国煤矿开采技术的发展,大型煤矿不断向高效、高产量方向发展,生产开采设备及配套控制设施日益先进,同时作为与煤矿安全生产密切相关的监控技术也不断完善和提高。这种趋势必然要求生产设备更加稳定可靠,同时也要求对井下各种设备做到实时、迅速和准确的反应。而传统的人工管理的方法存在很多问题。如对检测人员的精神体力消耗较大,人员利用率较低,对紧急事件反应速度慢等等。因此,设计一种适合煤矿排水使用井下远程监控系统是一项紧迫而有重要意义的一项任务。该自动化排水项目立足于目前大柳塔煤矿井下排水设备的特点,同时兼顾技术的先进性与可扩展性,目标在于实现井下中转水仓和小水仓的自动化

2、排水和远程监控检测。该系统具有良好的可靠性和工作的连续性,最大限度地减少维护工作量。人机界面友好;结构合理,信息共享,实现提高指挥效率和生产率,达到减人提效的目的,充分考虑日常可能发生的各种突发事件,灵活性强;具有报警自诊断功能,实时数据采集、处理及多种显示功能。该系统采用工业以太网+现场总线方式,构建一个贯通井上下的CANLAN高速以太环网,通过光纤以太网连接,组态软件通过获取排水开关综合保护器实时数据和进行远程控制,保证系统数据传输的实时性、可靠性和安全性井下监测分站带有以太网接口,作为主干以太网的主接点分站之问用光纤连接,构成一个CANLAN高速以太环网,整个系统分为设备层、控制层,信息

3、层三层体系结构。该系统采用先进的开发工具以及当前主流开发技术进行开发,数据存储采用MSSQL数据库,数据采集用到西门子的全集成自动化采集工具,高时效高质量实现数据展示,并配备网络发布技术,实现零安装的系统,可以让工作人员随时随地监控排水系统的运行状况。关键词:井下, 自动排水系统, 人机界面, 工业以太网VAbstractWith the development of Chinas coal mining technology, large mines continue to develop in the direction of high efficiency, high yield, pr

4、oduction equipment and supporting facilities for the control of increasingly advanced, at the same time as closely related to coal mine safety production monitoring technology is also constantly improve and improve.The trend for the production equipment is more stable and reliable, and has also aske

5、d for downhole equipment achieves real-time, fast and accurate response.But the traditional artificial management approach, there are a lot of problems.Such as the energy consumption is larger, the spirit of testing personnel utilization rate is low, slow to respond to emergencies, and so on.Therefo

6、re, to design a suitable for coal mine drainage borehole remote monitoring system is an urgent and significant task.The automatic drainage project based on the moment of the coal mine drainage device, the characteristics of both technical sophistication and extensibility, the goal is to realize the

7、automation of the underground transit warehouse and low water warehouse water drainage and remote monitoring.The system has good reliability and the continuity of work, minimize maintenance workload.Friendly man-machine interface;Reasonable structure, information sharing and improve the efficiency o

8、f command and productivity, achieve the goal of reduced people mention effect, give full consideration to the daily the possibility of all kinds of emergencies, flexibility is strong;Has the alarm self-diagnosis function, real-time data acquisition, processing and display functions.The system adopts

9、 the way of industrial Ethernet + fieldbus, build a breakthrough Wells CAN up and down - LAN high-speed Ethernet ring network, through the optical fiber Ethernet connection, configuration software by servering for drainage switch comprehensive protector real-time data and remote control, and ensure

10、the real-time performance, reliability and security of data transmission system. Downhole monitoring substation with Ethernet interface, as the main contact of Ethernet backbone RACES with the question of optical fiber connection, form a CAN - LAN high-speed Ethernet ring network, the whole system i

11、s divided into equipment layer, control layer, information layer three layer architecture.The system adopts advanced development tools, as well as the current mainstream development technology for development, data storage using database, data collection and use of Siemens totally integrated automat

12、ion simaticNet acquisition tool, as well as the configuration tool ifixes, high aging data display, high quality and provide network publishing technology, realize zero install system, can let staff monitor the operation condition of the drainage system anytime and anywhere.Key Words: underground, a

13、utomatic drainage system, human-computer interface, Ethernet目 录摘 要IAbstractII第一章绪论11.1研究背景和意义11.2国内外研究现状21.2.1井下排水测试发展现状21.2.2自动化测试发展现状51.2.3测试脚本技术发展现状121.2.4测试执行层的设计141.3论文研究的目标及主要内容181.4论文的组织结构及其章节编排19第二章井下排水自动化测试系统需求分析212.1功能需求212.2性能及环境需求232.3用户界面及接口需求232.4本章小结24第三章井下排水应用自动化测试系统设计253.1 设计原则及依据25

14、3.2 井下排水应用自动化测试系统架构253.2.1地面控制中心263.2.2工业以太网络273.2.3水仓监控系统273.3水仓监控系统设计273.2.1中转水仓监控系统273.2.2小水涡监控系统303.4水仓状况动态感知和显示系统设计303.5 系统功能特点323.6本章小结32第四章井下排水应用自动化测试平台的实现344.1 井下排水应用中的问题及实现方案344.2 井下排水应用的自动化测试平台的实现344.2.1自动化测试平台系统主要设备介绍344.2.2自动化测试平台实现384.3 井下排水应用自动化测试平台的运行效果404.4 本章小节44结论45参考文献47北京理工大学工程硕士

15、学位论文第一章 绪论1.1 研究背景和意义在互联网技术飞速发展的今天,井下排水应用已经从最初的基于静态的井下排水页面转化为动态的可交互的页面,尤其是AJAX技术的出现,使得用户有了更好的体验。随着井下排水应用的规模越来越大,其复杂性也越来越高1。其中的典型的应用为:搜索引擎网站、电子商务网站、电子政务网站和社区网站。 这些应用一旦瘫痪或者存在缺陷,轻则导致用户流,重则会造成数额巨大的经济损失。软件测试作为保证软件质量的一个重要并且非常有效的手段2,3,已经受到越来越多的拥有井下排水应用的企业所重视。大量统计资料表明,软件测试阶段投入的成本和工作量往往要占软件开发总成本和总工作量的40%到50%

16、,甚至更多4,5。随着井下排水应用市场竞争的压力越来越大,谁抢先发布新版本,谁就有可能占领市场,在这种情况下如果只是手工测试的话,其速度远远跟不上产品的发布速度。为了仍然保持令人满意的测试覆盖率和软件质量,自动化测试成为了势不可挡的趋势6。近年来,关于自动化测试的研究取得了很大的进步。很多自动化测试框架被提出。在单元测试、集成测试、能测试和负载测试等方面都涌现了大量优秀的自动化测试工具。然而这些仅仅是将测试自动化,也就是将手工测试的动作转成自动化执行。软件测试是由测试开发、测试管理、测试用例的执行到测试报告的展示等一系列的环节组成的。一套完整的自动化测试体系应该对每一个环节都有相应的自动化的策

17、略和实现。对测试脚本技术的研究,也从脚本的自动生成、脚本语言和脚本的层次结构等方面取得了一定的研究成果。脚本的自动生成在一定程度上降低了编写测试脚本的开销;通过脚本语言之间的转换,实现了测试脚本与测试工具的低耦合;脚本层次结构在一定程度上提供了脚本的复用性。然而它们都缺少建模的思想来组织管理脚本,复用度相对较低。对于复杂的井下排水应用,测试脚本具有数量多、复杂程度高等特点,这就强烈要求对测试脚本进行建模,提高测试脚本的复用性和可维护性,将需求变更时尽可能降低测试脚本的修改量。领域驱动设计,作为软件开发中的一个经典建模方法,针对于复杂的系统,提出了一个系统的进行建模的方法,已经得到了广泛的应用和

18、认可。然而由于软件测试发展的速度远远落后于软件开发,该方法应用到软件测试领域的研究仅仅刚刚开始,还没有成熟的理论出现。自动化测试的广泛应用对其技术的发展提出了强烈的要求。实时性、智能化是自动化测试平台的发展方向与灵魂。脚本语言的一大优势就是编码效率高,由于其执行效率相比编译语言低些,所以多用在快速开发并对执行效率要求不高的工作上。测试就是其中之一,灵活和高效开发是脚本的优势。自动化测试脚本从开发的成本意义上,从线性倒关键字驱动的改变会随着脚本编写方法而不断地增加;对于维护成本来说,情况恰恰相反。对于编程技能要求来讲,随着脚本编写方法从线性倒关键字驱动的改变,对一个测试员的变成熟练程度的要求在增

19、加。对于设计和管理的需要来说,随着脚本编写方法从线性倒关键字驱动的改变,设计和管理自动化测试项目的要求在增加。因此,应该合理地选择自动化测试脚本开发方法,在适当的时候,使用适当的脚本开发方法。本文根据井下排水应用的特点,将领域驱动设计方法应用到测试领域,对测试脚本进行建模,设计和实现了面向领域的井下排水应用自动化测试平台,该平台将软件测试的整个过程,从测试用例的管理,测试的并发执行,测试结果的展示到日志的分析真正自动化了起来。对测试脚本的领域模型建模使得对大型复杂的井下排水应用的测试更为容易。1.2 国内外研究现状1.2.1 井下排水测试发展现状井下排水应用的快速发展,一方面大大丰富了用户体验

20、,使用户的生活、工作和娱乐各个方面更加便利;另一方面也给井下排水测试带来了新的挑战7。井下排水相对于传统的应用具有以下特点8:1) 数量大、执行不确定性:井下排水应用的用户数量巨大,且用户与井下排水应用之间的交互完全依赖于浏览器的页面,大量的事务处理要通过表单的提交来实现。服务器根据用户当前请求信息独立执行,而不需要历史信息,系统根据用户不同的请求信息进入不同的执行状态,使得用户可以自己选择执行序列,例如点击“返回”按钮改变执行序列。还要求能提供对井下排水资源的跨平台全局访问,需要有并发处理事务的能力。2) 环境、实现各异:井下排水应用的使用环境不尽相同,包括硬件设备、网络连接、操作系统、中间

21、件、服务器、浏览器及数据库等都有所不同。这些环境的实现技术多种多样,例如:HTML、Java、XML、JavaScript、JSP以及最近盛行的AJAX等等。各种语言和组件运行的平台可能是不同的,但在井下排水 应用中可以轻松的组合起来,实现用户要求的功能。3) 类型多、变化快:井下排水应用着重于信息的发布,因此为了增强界面的友好性,页面中通常采用多种GUI组件的形式与用户之间进行交互并要求可跨平台、浏览器。另外井下排水应用中用户的需求经常变更或更新9,开发交付周期短,因此井下排水应用维护的频率比其它软件系统要高,并且在维护过程中通常包含小的增量改变10。井下排水应用的以上特点给井下排水测试带来

22、了重重困难,决定了井下排水测试不能简单地用传统测试方法。Yogesh Deshpande和Steve Hansen在1998年提出了井下排水工程的概念。井下排水工程提倡使用一个过程和系统的方法来开发高质量的基于井下排水的系统。它使用合理的、科学的工程和管理原则,用严密的和系统的方法来开发、发布和维护基于井下排水的系统。在井下排水工程过程中,基于井下排水系统的测试、确认和验收是一项重要而富有挑战性的工作。它不但需要检查和验证是否按照设计的要求运行,而且还要测试应用在不同的平台,浏览器是否工作和显示合适,还要从用户的角度进行可用性和安全性测试。目前对于井下排水测试的研究主要是在国外开展的,但是国内

23、也已经逐渐蓬勃发展起来了。根据井下排水应用的特点,井下排水测试技术一般从以下几个方面划分:1) 功能测试根据功能需求的要求,检查井下排水应用是否按照系统所希望的运行。由于井下排水应用通过浏览器和用户交互,浏览器中含有大量的文字、图片、超链接甚至视频,这就导致了井下排水应用功能测试的独特性。井下排水功能测试内容主要包括:链接测试、表单测试、数据校验、Cookie测试、数据库测试、应用程序特定的功能需求测试等等。针对这些不同类型的测试,近年来也涌现出了一批好的工具,比如用来做链接测试的Xenu Link Sleuth、测试Cookie的View Cookies、测试界面的网页开发工具Firebug

24、和功能强大的网页数据分析工具HttpWatch。2) 性能测试通过模拟大量虚拟用户同时访问井下排水服务器,获得系统的性能数据。它主要包括:连接速度测试、压力测试和负载测试。连接速度测试用来测试不同访问速度限制的用户访问井下排水应用的响应时间。负载压力测试是测试在一定约束条件下,井下排水应用所能承受的并发用户量、运行时间、数据量,以确定井下排水应用所能承受的最大负载压力和故障恢复能力。3) 可用性测试可用性测试是保证用户体验的最直接有效的手段,它是井下排水应用和用户交互有效性、实用性和适应性的集中体现。1985 年WG5就指定了人机界面标准ISO9241,1994 年美国ANSI 建立在ISO9

25、241 的基础上也建立了关于人机界面的国家标准11。可用性测试一般包括:导航测试、图形测试、内容测试、表格测试和整体界面测试。通过这些内容的测试来保证井下排水应用界面风格的统一性,导航的有效性,图形的美观性、内容的准确性和相关性。在文献12中也详细介绍了针对关键页面的可用性测试,并提出了全面的测试方法。4) 兼容性测试测试井下排水应用是否可以在不同的平台、不同的浏览器正常运行和显示。它一般包括平台测试、浏览器测试、分辨率测试、打印机测试和组合测试。浏览器测试是兼容性测试的核心,因为来自不同厂商的浏览器对Java、JavaScript、ActiveX或不同的HTML规格有不同的支持。主流的浏览器

26、有IE、Firefox和Safari。根据某著名网站13的统计数据,使用IE的用户在70%以上,使用Firefox的用户占到了20%,Safari用户也占到了将近6%。为了保持用户访问量,吸引更多的用户,对浏览器的兼容性测试是非常重要的。在做组合测试的时候,如果考虑全部可能性测试,那么测试最简单的井下排水应用也可能会变得很复杂。因此,为了保证网站能够很好地为目标用户服务,就要研究他们可能的配置组合,并根据不同组合的市场占有率对测试组合排序。5) 安全测试随着网络购物、电子银行的逐渐兴起,网络安全成为了一个越来越被人重视的话题。对于井下排水应用来言,网络安全至关重要。井下排水应用的安全测试主要集

27、中在:页面安全性测试、井下排水服务器安全性测试、加密信息的保密性和防止黑客工具能力等方面。比如目录设置、SSL、登录、日志文件、数据加密、服务器脚本语言等。通过上述井下排水测试技术的分析,可以看到井下排水应用测试有其独特的特点。要保证井下排水应用有良好完善的功能、性能、可用性、兼容性以及安全性,必须要根据其特点,对症下药,对井下排水应用进行全方位的测试。这些理论不仅适用于手工测试,对自动化测试也是一样的,因为测试的有效性和测试方式是无关的。在对井下排水应用进行自动化测试的时候,应该充分考虑到井下排水应用的特性,才能设计出易维护、易扩展、健壮性高的自动化测试框架。1.2.2 自动化测试发展现状第

28、一代自动化测试,即自动化测试思想刚开始诞生时,依靠的是传统的“录制-回放”技术,这种技术与现在的工具的“录制-回放”思想不一样,其实就是一个“模拟”的过程,即模拟你对PC的操作而形成的,其基于操作者对键盘的输入与对鼠标的操作,原理与按键精灵等类似,这种机制对环境的依赖性强,对变化性过于敏感,因此未能发展成一种规模。第二代自动化测试,即脚本化的自动化测试,利用脚本进行结构化的自动化测试,此可以应用于CLI与API的自动化测试,在其就开始集成了模块化与库思想。第三代自动化测试,开始产生了各种自动化测试思想,包括数据驱动与关键字驱动思想,其伴随着对象化思想的产生,而且也造就了现在一系列的自动化测试软

29、件,其实其中都集成了这些思想,从这时候开始,自动化就开始实现了一定的规模,开始运用在各个行业,并且发展趋势越来越快。自动化测试,简而言之就是将手工测试执行的工作改为自动执行,它是通过使用某一自动化测试工具和一定的自动化测试技术来验证各种软件的测试需求,包括测试工作的管理与实施。随软件测试技术的发展和测试流程管理的需求,实现软件测试自动化的趋势已经不可逆转了14。目前国内外对自动化测试发展的研究,从自动化测试设计、自动化测试实现和自动化测试实施等方面来分,可以归纳为以下三个方面的研究:(1)对自动化测试框架的研究成功的自动化测试的实施必定离不开一个好的自动化测试框架。传统的录制/回放模式仅仅是将

30、测试人员的动作用工具记录下来,这样的测试脚本可维护性和扩展性都比较差,对测试本身并无太大意义。基本的自动化测试框架主要有以下五种1516:1) 模块化测试框架模块化测试框架(TMF:Test Modularity Framework)需要创建小而独立的可以描述的模块、片断以及待测应用程序的脚本。然后用分级的方式把小脚本组合起来,实现特定的测试用例。模块化测试脚本框架使用这一抽象和封装的原理来提高自动测试组合的可维护性和升级性。使用抽象,可以减少和排除一些细节,不用立即关联到编码的功能上。封装提供了将相关联的任务和操作集成在一起的技术。它也通过提供一个稳定的接口来保护测试脚本免受程序变更的影响,

31、此接口能够隐藏脚本所执行的实际操作。在这5种框架中,模块化测试脚本框架应该是最容易掌握和使用的,同时它也是最易于和其它框架联合使用的,例如将模块化框架和数据驱动框架组合在一起。模块化的主要优势是重用和减少重用伴随而来的维护成本。对比录制和回放,模块化应当产生更多可读的脚本,易于阅读和调试。2) 测试库框架测试库框架(TLF:Test Library Framework)与模块化测试脚本框架很类似,并且具有同样的优点。不同的是测试库框架把待测应用程序分解为过程和函数而不是脚本。这个框架需要创建代表待测应用程序模块、片断以及功能的库文件(例如SQABasic libraries,APIS,DLLs

32、等)。然后这些库文件被测试用例脚本直接调用。3) 数据驱动测试框架数据驱动测试框架(DTF:Data-driven Test Framework)是从数据文件(数据池,ODBC源,cvs文件,excel文件,DAO对象,ADO对象等)中读取输入和输出数值并载入到捕获的或者手工编码的脚本中变量的一种框架。数据驱动需要很少的代码来产生大量的测试用例。在这个框架中,变量不仅用来存放输入值,还用来存放输出的验证值。整个程序中,测试脚本被用来读取数据文件,记载测试状态和信息。这类似于表驱动测试。在表驱动测试中,它的测试用例是包含在数据文件而不是在脚本中,对于数据而言,脚本仅仅是一个“驱动器”,或者是一个

33、传送机构。然而,数据驱动测试不同于表驱动测试,尽管导航数据并不包含在表结构中。在数据驱动测试中,数据文件中只包含测试数据。4) 关键字驱动测试框架关键字驱动自动化测试框架(KTF:Keyword-driven Test Framework),是数据驱动自动化测试框架的变种。它通过将数据和关键字集成在不同的数据表格中来决定软件测试的流程。包含关键字的数据表格中关联了测试的业务逻辑流程以及测试的数据和对象,在导航脚本的控制下,导航脚本读数据文件,遇到关键字的时候则调用对应的支持脚本,同时传递对象和数据,通过关键字支持脚本的执行,将实际输出与期望输出进行比较,并将测试输出结果写入测试报告。这些数据表

34、和关键字独立于执行它们的测试自动化工具,并可以用来“驱动”待测应用程序和数据的测试脚本代码,使自动化测试框架独立于应用程序。它是对数据驱动的自动化测试的有效改进和补充。在关键字驱动测试中,关键字驱动的自动化测试的整个过程所包含的功能都是由关键字驱动的,关键字控制了整个测试过程。5) 混合测试自动化框架混合测试自动化框架(HTF:Hybrid Test Framework)是上述各种测试框架中的优秀设计思想的组合。这种测试框架既要采用测试脚本模块化的思想,将测试脚本进行分层次、嵌套管理;又要运用测试库构架框架中的库文件实现被测应用程序的功能、过程或方法,在测试脚本文件中直接调用这些库文件;此外,

35、还可以采用数据驱动脚本技术,实现测试数据与测试脚本的分离;同时运用关键字驱动测试技术将测试描述与测试实现分离开来。因此,想达到比较理想的自动化测试效果,最好的办法是以模块化、数据驱动脚本作为输入,通过关键字驱动测试框架调用应用程序库文件进行处理得到测试结果。混合测试框架是由大部分框架随着时间并经过若干项目演化而来的。由此可见,混合测试自动化测试框架是设计自动化测试框架的理想方案,但是具体在企业中实施的时候,还要具体情况具体分析,量力而行,毕竟自动化测试框架的开发和维护需要花费大量的成本。(2)对自动化测试工具的研究自动化测试的实现,离不开自动化测试工具。自动化测试工具可以进行测试用例设计,实现

36、执行和比较的工作。有的测试工具甚至可以实现测试用例脚本的自动生成,通常的工作方式为针对待测应用的特点,通过某种算法或者理论,动态生成测试脚本,从而减少测试人员脚本开发的工作量。如果采用自动比较技术,还可以自动完成测试用例执行结果的判断,从而避免人工比对存在的疏漏问题。目前业界流行的测试工具有几十种17-19。按照测试工具实现原理的不同,自动化测试工具可以分为白盒测试和黑盒测试。根据测试目的的不同,可以分为单元测试、功能测试、性能测试、测试管理等。一般来说,功能测试和性能测试工具大多属于黑盒测试,而单元测试工具属于白盒测试。除此之外,针对软件测试的管理,还有测试管理工具。白盒测试工具主要是直接对

37、代码进行分析,针对程序代码、程序结构、对象属性、类层次等进行测试,测试中发现的缺陷可以定位到代码行、具体的某个变量。白盒测试工具根据是否运行代码,可进一步细分为静态测试工具和动态测试工具。代表性的工具有Compuare的DevPartnerStudio中的CodeReview和有IBM-Rational公司的Purify,Pure Coverage,Quanlify和Compuare公司的Error Detect,Coverage Analysis,Performance Analysis。黑盒测试工具采用测试过程的捕获和回放技术、脚本技术、虚拟用户模拟技术等模拟用户的操作,然后将被测系统的输

38、出记录下来同预先给定的标准结果比较。黑盒测试工具可以基于用户的需求,以及测试用例来完成测试,能发现更高层次的缺陷。典型的黑盒测试工具主要以Compare,IBM Rational和Mercury Interactive三家公司著名。Compuare公司的QALoad主要做系统应用性能和负载的测试;IBM-Rational公司的Robot可以对整个应用程序进行全面的功能测试; Mercury Interactive公司的Quick Test Professional、WinRunner负责功能测试,LoadRunner主要做负载测试工作。最近开源功能测试工具Selenium也变得逐渐流行起来。自

39、动化工具的选择,是与公司所能提供资金密切关联的。然而目前流行的自动化测试工具绝大部分是商业化的工具,价格都非常的昂贵,而工具的选择直接会影响自动化测试的效果,甚至于成败。因此在决定使用何种工具前,必不可少地都要对已经发布的自动化测试工具进行试用和评估。自动化测试工具的评估一般从以下几个方面入手20:功能。选择一个测试工具首先就是看它提供的功能。当然,这并不是说测试工具提供的功能越多就越好,在实际的选择过程中,适用才是根本。价格。对测试工具的分析评价的主要目的之一,就是选择一个性价比较高的产品。除了功能必须满足需求外,价格是另一个重要的考虑因素。测试工具往往价格昂贵,所以价格必须在能承受的范围当

40、中。测试工具的集成能力。测试工具的引入是一个长期的过程,应该是伴随着测试过程改进而进行的一个持续的过程。因此,测试工具的集成能力也是必须考虑的因素,这里的集成包括两个方面的意思,首先,测试工具能否和开发工具进行良好的集成;其次,测试工具能够和其他测试工具进行良好的集成。 测试工具的易用性。利用软件测试工具实现自动化测试要求软件测试人员对测试工具有全面深入的了解,只有很好地熟悉并灵活运用测试工具才能真正发挥测试工具的作用,因而测试工具的易用性对于软件测试人员对工具的掌握程度也很关键。 测试工具的侧重。相当一部分测试工具都有自己的侧重点,如工具要求的编码规则、采用的代码质量标准、适用的测试对象、适

41、用的测试环境等,因而需要考虑测试工具侧重点是否能满足公司的实际需要。 测试工具引入的连续性和一致性。测试工具是测试自动化的一个重要步骤之一,在引入/选择测试工具时,必须考虑测试工具引入的连续性。也就是说,对测试工具的选择必须有一个全盘的考虑,分阶段、逐步地引入测试工具。 测试工具的技术支持。引进应用软件测试工具是一个长期的过程,当工具引进之后,其开发的公司或单位能否提供良好的技术支持如培训测试人员、提供详尽的使用说明、实例,能否提供持续的升级改进等,是引进工具需要考虑的问题。Elisabeth Hendrickson也在他的文章“Making the Right Choice”从其他方面给出了

42、选择自动化测试工具的参考21,可以作为上述评估点的有效补充。比如测试工具应该支持用户的日常用途;拥有元素识别器,可以识别UI控件;有可重用的库文件或者可以能够提供库文件功能,使用户可以加入和使用自己创建的库文件;提供对外部库文件的支持;提供分布式测试机制;能够对运行中的错误进行很好的处理;提高代码版本控制功能;拥有良好的用户社区等等。(3)对自动化测试实施的研究企业在实施自动化测试之前,必须首先建立对软件自动化测试的认识观,也就是自动化测试的定位问题。自动化测试的定位准确与否,直接关系到自动化测试的成败。针对自动化测试的普遍误区,对自动化测试应该有如下定位:1) 自动化测试的主要目的不是为了发

43、现问题,而是为了验证功能没有问题。2) 自动化测试绝不能代替手工测试,它们各有各自的特点,其测试对象和测试范围都不一样,它可以替代人工进行稳定特性的回归测试,新特性及不稳定的特性建议采用手工测试。3) 自动化测试工具本身并没有想象力和灵活性,实践证明自动化测试发现的缺陷的数目很少。通常自动化测试只能发现约15的缺陷,而手工测试则可以发现约85的缺陷22。4) 单元测试、集成测试、系统负载测试、性能测试、稳定性测试、可靠性测试等比较适合采用自动化测试,而那些不稳定的软件,开发周期很短的软件,以及一次性的软件等均不适合自动化测试。自动化测试的引入有一定的标准,要经过综合的评估,测试成熟度模型(TM

44、M)非常适用于自动化测试的评估23,因为有效的软件验证与确认产生于良好的计划、执行、管理和监控的开发程序。从实现成熟度来说,自动化测试分五个级别24-26, 软件系统自动化测试的实施依赖于一系列的自动化测试工作的开展,而非一蹴而就,没有这一系列具体的工作支撑,自动化测试的实现只能是妄想。软件系统的自动化测试过程主要分为以下五个部分(如图1.1所示):1) 定义自动化测试需求,这个阶段的工作主要是要分析出实际实施自动化测试的需求有哪些,只有有了明确的需求才能很好地开展下一步工作。2) 设计自动化测试框架,这个阶段的工作主要是要根据自动化测试需求,设计出适合被测系统特点的自动化测试框架。3) 实现

45、测试脚本、测试数据,这个阶段的工作主要是将分析得到的自动化测试需求以测试用例的形式,在测试框架中实现,实现的结果包括测试脚本和测试数据。4) 自动化测试执行,这个阶段的工作主要是在版本测试时执行已经实现的自动化测试用例,它是整个自动化测试工作的中心目的。5) 自动化测试结果分析,这个阶段的工作主要是对自动化测试执行后得到的结果进行分析,以确定系统是否存在缺陷,如果没有结果分析,测试执行也就只是一个形式而已了,并没有实际的意义。每个测试用例的自动化过程都将贯穿五个不同的自动化测试工作,它们都要顺序执行这五个自动化系统测试工作,即在进行自动化框架设计前自动化测试需求必须被确认下来,框架设计也是真正

46、开始实现测试脚本和测试数据的前提。自动化测试执行和自动化测试结果分析两个部分的工作需要多次重复,就是在多个版本测试中多次进行测试执行和结果分析,或者在同一个版本的测试中也可以多次进行,这也是实施自动化测试的初衷。当然,其余几个部分的工作也都有回溯的过程,只要后面发现了前面的问题就要及时更正。由此可见,自动化测试实施是一系列完整反复的过程,而不仅仅是自动化测试的执行。为了实现自动化测试实施的整个过程真正的“自动化”,应该对每个环节都有相应的自动化的策略和工具的支持。另外,企业中的自动化测试方法和工具往往不止一种,如果可以将它们整合到统一的平台进行管理,将会显著提高自动化测试的效率。自动化测试平台

47、由测试执行层和测试脚本层组成。这两层结构涵盖了自动化测试实施的整个流程,从测试脚本的开发到测试用例执行顺序的管理,测试脚本的执行,测试脚本的维护以及测试报告和日志的展示。图1.1 自动化测试流程图 测试执行层的主要使用者是测试执行人员。测试执行人员通过测试层完成井下排水应用的自动化测试,并收到测试报告分析测试结果。其使用过程如下:1) 测试执行人员通过测试用例管理模块选择本次想要执行的自动化测试用例,并配置好这些测试用例执行的方式和待测试应用的测试环境的配置,提交测试执行请求。2) 测试并行执行模块根据测试用例管理模块选定的测试用例调用测试脚本层的相关测试用例,并根据测试用例管理模块指定的测试

48、环境的配置参数来部署环境,然后将待执行的测试用例分布到各个测试用例执行服务器,然后执行测试用例。3) 测试日志模块在测试并行执行模块执行测试脚本时收集测试脚本的执行日志,并将分散到各个测试用例执行服务器的日志合并,当所有测试用例均被执行完毕后,通过测试报告模块生成测试报告,并通过邮件通知相关测试人员。测试脚本层的使用者分为测试用例和测试脚本开发人员。测试脚本开发人员完成对井下排水应用对象和行为的建模,并实现各个对象及其行为函数。这样测试用例开发人员不需要关心测试脚本是如何实现的,只需要调用测试脚本的各个对象及其行为函数编写测试用例即可。1.2.3 测试脚本技术发展现状自动化测试框架的应用,使得测试脚本的可读性和可维护性大大提高。然而因为井下排水应用有着执行不确定性,应用环境、实现技术各异,类型多、变化快等特点,尤其是大型的复杂的井下排水应用,业务逻辑的复杂使得针对井下排水应用测试的自动化测试脚本就难上加难了。目前关于测试脚本的研究,主要从脚本的自动生成、脚本语言、层次结构这几个方面展开27

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号