网站大量收购闲置独家精品文档,联系QQ:2885784924

3JAVA与脚本化测试方法.doc

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
3JAVA与脚本化测试方法

JAVA程序测试技术与工具 及基于WEB的应用 JAVA Program Testing Techniques and Tools and Their WEB Based Application 黄德生* 李进** 刘利东*** *太原师范学院计算机系 **华北工学院一系 ***清华大学计算机科学与技术系 本文讨论了JAVA程序的软件测试工具Junit及Cactus的结构组成及使用方法,研究了利用IAVA对测试实例脚本化的方法,并对它们的适用性进行了评述;阐述了基于WEB的答疑系统的测试方法。 关键词:软件测试 Junit Cactus IAVA JAVA 1 引言 软件测试是软件开发过程中最复杂的部分之一,它不但耗时长、费用高,并且不能保证测试过程可以发现程序中所有的错误。由于测试过程的复杂性,没有任何一种测试方法或工具能够适应所有软件系统的测试,不同的程序设计语言由于其语义和语法的不同,测试的方法也有不同。1995年SUN公司正式发布JAVA语言,由于它在网络上的优势使得它逐渐成为Internet上最受欢迎的编程语言之一,以它为基础的Servlet是一种开发Web应用的理想构架。本文首先介绍了两个JAVA程序测试工具Junit和Cactus,并对用IAVA实现脚本化测试做了综述,分析了它们的适用性。最后探讨基于Web应用的测试方法。 1.1 Junit JAVA是面向对象的语言,容易想到的测试方法是编写一个程序来实例化要测试的类,调用其中的方法,通过比较其实际输出及期望的输出来测试类是否满足设计要求。由于类的私有变量和方法不允许类以外的方法访问,所以这种方法无法对私有方法进行测试,同时,如果类中有私有变量,我们也无法得到方法被调用之后对象的全部状态信息。尽管如此,由于在许多情况下我们并不关心私有方法和对象的状态,只关心公共方法运行后的输出结果,因此这种方法仍是一种有效的方法。Junit[1—2]就是基于这种方法的一个测试框架,它是由Erich Gamma 和Kent Beck开发的开放源代码软件。 Junit的主要类和接口有: (1)类Assert: Assert类用于确定方法的输出结果和期望的输出结果是否一致。 (2)接口Test:此接口主要提供了public void run(TestResult?result)TestCase、TestSuit实现。run(TestResult result)TestResult对象result中。 (3)类Testsuit:一个TestSuit是一些测试的组合。它实现了接口Test。它提供了两个将测试对象加入到Testsuite的方法AddTest()addTestsuite() (4)类TestResult:收集测试失败和错误的结果。 (5)类TestCase:TestCase继承了Assert并实现了Test接口,是我们编写测试类的模板。 (6)其他类和接口参阅[2]。 1.2 Junit的框架结构 Junit是一个JAVA程序测试框架,程序员利用这个框架编写实际的测试。它把程序员的测试想法具体化,生成一个测试对象,通过它的运行达到测试的目的。所有的测试过程是相同的:构造测试需要作用的对象(这些对象我们称为固定部件);运行代码操作固定部件并检测结果;清除固定部件。测试过程的相同性为模板化测试提供了条件。Junit正是使用模板的方法使得程序员可以分别考虑固定部件和测试代码的编写。它提供了一个类TestCase,通过继承此类并覆盖Setup()runTest()tearDown()run() Junit通过捕获不同的例外区分错误类型,并把错误信息加入到TestResult中。第一个catch语句捕获由Assret方法抛出的例外,把失败信息加入到TestResult中的Vector对象TestFailure中。第二个 catch 语句捕获其他例外,把错误信息被记录Vector对象TestError中。例外AssertionFailedError是由Assert方法抛出的。以下是一个简单的Assert方法的定义: protected void assert(boolean condition) if (!condition) throw new AssertionFailedError(); 为每一个测试实例都构造一个子类的方法会产生大量的类,使得编写测试代码和管理测试的难度都很大。为此,Junit提供了两种用同一类中实现多个测试方法机制。 静态方法:利用JAVA提供的匿名内部类的方法。利用匿名内部类,我们可以使一个类有不同的逻辑表现。这种方法可以使同一个类不同对象的runTest()runTest() 动态方法:动态方法利用JA

您可能关注的文档

文档评论(0)

youbika + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档