基于JAVA的测试自动化设计应用.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于JAVA的测试自动化设计应用摘 要对于很多大型硬件公司来说,丰富的产品带来更多发展空间的同时,也意味着需要大量的开发和测试人员着力与不同的产品。而一个通用的测试系统,可以节省下大量的测试工作量,也让不同的产品之间有了沟通的桥梁。【关键词】JAVA 测试自动化 设计 应用选择Java作为系统开发的语言,主要是基于它的几大优势:(1) 简单,相对于C++,语法简单了,取消了指针的语法;内存分配和回收不需要我们来过渡关注。(2)面向对象,便于人类的构思和设计,更符合人们的思考问题方式。(3) 跨平台:Java能够跨越不同的操作系统系统,在不同的操作系统中,JVM规范都是一样的,屏蔽了底层操作系统的差异。(4) 多线程,最大限度地利用CPU资源,当某一线程的处理不需要占用CPU而只和IO等资源打交道时,让需要占用CPU的其他线程有机会获得CPU资源。1 系统设计为了涵盖到测试的整个生命周期,我们的通用测试系统如图1。1.1 需求分析讲测试需求整理成测试说明书,对于模块化的测试用例,可以使用类似Conformiq Designer的工具直接生成抽象类。1.2 用例开发针对不同的需求,使用Java或任意可以编译成Java代码的语言,编写出对应的测试用例。1.3 测试执行使用命令行,或特定的工具来完成最终的测试。1.4 结果分析根据用户的选择,测试结果以多种不同的方式进行保存,有方便阅读的Html格式,也有纯文本的Console 日志。并且存储的位置,也可以选择本地或远程数据库。1.5 测试管理对于这样一个完整的周期,管理平台不可或缺。管理平台涉及的内容包括最初的测试说明书,到最终的测试结果报告,以及测试用例可执行程序包的版本控制等。2 系统框架使用Java作为开发语言的,一个最重要的优势就是能够最大程度地利用开源社区,这不仅仅意味着资金的节省,更意味着我们每天都在接触最新的技术。图2是该系统的框架示意图,里面包含了大量的开源软件和应用,它们的存在使得整个系统的开发变得快捷且更具通用和扩展性。从最下一层可以看出,任何能够运行Linux或者Windows操作系统的硬件,都可以运行本系统。第二层就是操作系统和执行引擎,Junit和TestNG作为两个标准的Java测试框架,每天被全世界成千上万的软件开发者使用,已经逐步演变成非常稳定且可信了。作为一个基于Java的通用测试系统,最核心的部分是在Junit和TestNG之上的一层,作为对功能测试和系统测试的补充。核心块包括一系列组件,这些组件之间互相独立,并有各自的生命周期。在核心层往上,就是与被测系统息息相关的扩展层。扩展层存在的意义在于:封装了大量的通用接口,测试用例开发者可以不用关心底层如何连接被测系统此类的问题,大大提高了终端用例开发者的工作效率。至于右侧的通用库,在本系统中,按照库的可重用与完善程度,分为三种类型:社区维护型,公开型和私有型。(1)社区维护型,这个库被整个社区使用,并且有专人维护和提供支持。(2)开型,表示这是一个可以被重用的库,但是社区里没有专人负责。(3)私有型,这中类型的库被认为有潜力将来会变成可重用的库,社区里不同地区的同事可以协同开发。3 系统特征3.1 TestNG相关特征(1) 并行执行,使用多线程并行执行,极大提高了测试执行效率。(2)依赖处理,有两种不同程度的依赖可以设置,使得一些测试用例成为其他测试用例的先决条件。(3) 灵活配置, 使用xml文件,定制个性化的测试方案。(4)失败用例集自动生成,测试失败的用例,自动被整理到一个xml文件中,便于测试者再次执行。(5)数据驱动测试,支持多种结构的数据作为测试参数。(6)使用工厂类飞速生成测试用例,将测试时的遇到的只因测试数据不同的多个测试用例合并成一个测试用例,来进行更方便和快捷的测试,可以给编写自动化测试代码人员节省了大量时间。(7) 超时控制,可以对测试用例进行计时,超过设定时间即判定为执行失败。3.2 平台自身特征(1)独立于测试引擎的生命周期,使用事件预订管理(Event Subscriber)机制,精细事件的生命周期的每个环节。(2)日志记录API,支持多种格式的日志存储,并且存储位置也可以选择本地或远程数据库(3)事件处理API,针对监听中得到的信息,进行分析处理,可以对测试过程中产生的告警之类的事件进行提前处理。(4)断言API,添加软断言功能,使得测试用例的执行结果更丰富。(5)属性配置API,使用属性配置文件,对测试过程中使用到的系统属性进行配置和管理。(6)从测试对象上获取日志,测试用例编写者可以决定何时,主动从测试对象上获取可用的日志信息。(7)协议日志记录,根据协议类别,单独进行日志记录。(8)支持多种测试对象(9)支持多种语言,如Scala和Groovy。4 结语本

文档评论(0)

yingzhiguo + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:5243141323000000

1亿VIP精品文档

相关文档