欢迎来到天天文库
浏览记录
ID:5242862
大小:28.00 KB
页数:6页
时间:2017-12-06
《面向对象自动化单元测试框架设计和实现》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、面向对象自动化单元测试框架设计和实现 摘要:以面向对象自动化单元测试的设计目标为指导,结合面向对象自动化单元测试理论分析,采用KentBeck和RalphJohnson提出的模式产生体系结构方式架构框架系统。运用模式设计体系结构的思想,设计了一个用于面向对象软件单元测试的自动化测试框架。该测试框架易学好用,能方便程序员开发测试用例,保证测试用例的持久性和可复用性,适合迭代开发单元测试。关键词关键词:软件工程;软件质量;单元测试;测试框架;面向对向程序中图分类号:TP302文献标识码:A文章编号文章编号:16727800(2013)0080045030引言随着现代软件
2、工程的不断发展,人们对软件质量和生产力的要求越来越高。软件测试技术和框架复用技术作为提高软件质量和生产力的有效手段,近年来倍受人们的重视。传统的“黑盒”、“白盒”测试技术主要应用于面向过程的程序设计中。随着面向对象技术的发展,这种技术已不能满足软件测试的需要。自动化单元测试框架应用于面向对象单元测试中,通过它来实现单元测试自动化。6单元测试是对软件进行正确性检验的测试工作,是软件设计的最小单位。单元测试的目的主要是发现每个程序模块内部可能存在的错误。程序员的基本职责是单元测试,单元测试能力是程序员基本能力的体现,程序员必须对自己所编写的代码认真负责,软件的质量与程序员
3、的工作效率直接受程序员单元测试能力高低的影响。单元测试是一项很重要而且必要的工作。在实际工作中,许多程序员并不愿意对自己编写的代码进行测试。软件开发的工作压力大,大多数程序员们因为没有时间测试自己的代码,使程序的代码质量得不到保证,有些代码还需重新编写,程序员根本没有时间对代码进行测试。自动化单元测试框架能够从根本上解决这个问题,它可以使测试工作变得简单,这样更有助于程序员进行代码开发工作。1自动化单元测试框架设计目标自动化单元测试框架的设计应达到以下目标:首先,框架简单,可以使测试程序的编写更简化。框架使用常见的工具设计,测试工作操作简单;其次,测试框架应能够使除作
4、者以外的其他程序员进行代码测试,并能解释其结果,即将不同程序员的测试结合起来,且不发生相互冲突。最后,测试用例可以复用,可以以现有的测试为起点形成新的测试。本文将以这些目标为指导,讨论如何用以KentBeck和Ralph6Johnson提出的“模式产生体系结构”的方式来设计框架系统。自动化单元测试框架的设计思想是从0开始根据设计问题应用设计模式,一个接一个逐步设计,直至获得最终合适的系统架构。其中实现部分采用Java语言来实现,并会使用UML图来表示各种类及类间关系。2面向对象自动化单元测试分析自动化测试定义为:管理与实施各种测试活动,包括开发测试脚本、执行测试脚本,
5、这样使验证测试需求更加方便,通过这些脚本实现了自动测试,可以把它称为自动测量工具。使用这种自动测试工具对增量软件集成测试提供了巨大的方便,增加了巨大的价值。每一个新的构件可以重用先前开发的测试脚本,即使需求和软件有变更,作为一个重要的控制机制,自动测试也能够确保每一次重新构建的稳定性与准确性。3面向对象自动化单元测试框架自动化测试框架实质是一种自动测试工具,单元测试的核心问题是实现测试自动化。一个完整的自动化测试过程通常包括5个测试活动,分别是测试标识、测试设计、测试实现、测试执行与评估。测试用例针对被测试系统的各项功能准确地开发与设计,而且每一个测试用例都要按顺序执
6、行这5个测试开发活动,测试开发活动如图1所示。图1测试活动6测试标识与测试设计这两个测试活动主要为智力活动,分别标识测试条件和设计测试用例。测试执行与测试比较这两个活动属于比较机械的活动,它们的功能分别为:执行测试用例、将测试输出结果并与期望输出结果值相比较。前两个活动决定了测试用例的质量,后两个活动适合自动化。在单元测试中,测试执行和测试比较这两个活动要重复多次,测试标识与测试设计通常只执行一次。因此,在单元测试过程中,重复性的活动特别需要自动化执行。4自动化单元测试设计与实现首先构建对象来表达基本概念:TestCase(测试用例),然后将对象发送到测试框架,再由测
7、试框架执行,最后报告测试结果。采用Command命令模式将一个请求封装成一个对象,Command模式可以为每一个操作生成一个与之对应的对象,同时能够给出一个对应的执行方法。这样可以对多个用户请求进行排队,也可以将多个请求记录到日志,并使用不同的请求对客户进行参数化。具体实现方法如下:其中的run()方法为模式中的执行方法,可以通过继承来重用该类,为了便于在测试失败时能够识别出失败的测试,每一个TestCase在创建时都要给出与之对应的名称,这样即可判断出失败的测试。图1展示了测试框架组成部分的快照,也展示了应用于TestCase中的标记。图1测试框架
此文档下载收益归作者所有