测试实践:Eclipse之JUnit.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文档。上传文档
查看更多
测试实践:Eclipse之JUnit(一) 测试实践:Eclipse 之 JUnit(一) (Using JUnit With Eclipse IDE) ? ? 这篇文章将给你介绍JUnit——一个工程测试调式的工具。 在介绍了了 测试驱动开发理论之后,我们继续介绍“怎样用Eclipse创建你的、JUnit Test”。 我们会用象hello word一样简单例子来向你揭露JUnit Case。 ? 自动化测试(automated testing)在好多书籍中被介绍了,但很少注意讲怎样去组织这些测试。 当测试写的越多时,很难知道把这些测试放到哪或者用什么去调用它们。 在极限编程---Extreme Programming(xp),测试驱动开发[test-driven development (TDD)]盛行的时代,这成了一个很大的问题。 你可以把 测试驱动开发(TDD)认为是Development through testing 开发由经测试。 ? TDD的主要条款: l???????? 在任何代码片段之前,必须先写好自动检测这段代码功能的程序。既然代码不存在,那么测试在一开始就失败。 l???????? 在 测试通过之后,复制的代码必须删掉。 ? 象这样的方式每个程序员都可以应用,并不需要特定的方法论。但在我们开始写test之前, 值得我们注意的是,先考虑一下如何组织自动化测试。 ? ? 这里有几种我们需要考虑的测试 l???????? 单元测试(Unit test) :这些是为检查个别模块(比如classes类)服务的。 如果对象需要访问外部的数据源,比如Database,就需要通过一些模拟的对象(MOCK object)来模拟Database, (但这也只有在真实环境的数据与测试环境不同的时候。----比如测试环境里面没有真实Datebase,就需要MOCK Object) ? l???????? 用户测试 (Customers test):这里是功能的,系统的并且认可的测试。系统中所有的行为检查都做为一个整体。 在XP理论中,这些测试,是由用户编写的,给出测试案例提纲。 l???????? 集成测试 (Itegration tests):? 这些测试象是在用户测试和单元测试之间的十字路口。 集成测试帮助程序测试几个级别中交互。 ,Mock Object不会出现在集承测试中,他会增加测试时间。同样,集成测试也经常需要存在的特定的测试环境,比如从数据库中放一些测试数据。集成测试也许使用外部的lib。 Cactus就是这样一个J2EE集成的lib。 解释这些测试已经超出了本篇文章的范围,并且也需要详细的理论叙述,所以,你仅需要知道这种测试存在就可以了。 l???????? ????开发测试(Developers test) : 这种测试就是那些开发者校验 整段代码,新加的代码,新加的函数函数。 对于每个开发而言, 随时生成新的的测试去检查代码是很重要的。 组织这些测试和组织这些代码有着同样的重要性。 ? 至于本文其他地方,只要说到测试,就是专指开发测试(Developers test)。 ? 在开发期间, 一个程序员有时可能问自己:系统中这个行为有test么,这个test存在么,哪里可以找到这个test?每次发现错误,都是靠最基础修改bug而不是通过自动测试,这是一个典型的例子。 在这种情形下事情进展可能是: ? 1。 去找到这个函数的测试(可能测试已经写了,但里面还有一些小错误) 2。 如果这样的测试还没有,或者测试不能盖住这种错误,我们就写一个新的测试来盖住这种错误。 3。 现在 我们深信,程序在新的测试中不会通过。 4。 修复程序中的bug。 5。 再运行测试 6。 确定程序在测试中通过了。 ? 当然,可能出现各种各样的处理, 但思想必须很明确:你只需纠正那些被测试找出那些错误。 ? 现在,让我们告诉你一个开发人员怎样解决这种情形。 通过存在的功能性的测试 ? l???????? 我利用一些集成的开发环境(IDE)来查找 被修正那些类和方法的放在什么地方。 l???????? 制造一个已知的错误环境,来查找那些代码判断存在错误。 l???????? 最后但不是最不重要的,写好测试并且放到一个现有的测试类中去。 如果你不小心出了错误,?? 期望你和你的同事能注意到副本,并且纠正它 ? 都准就绪,开始建立测试了, 所以现在需要给测试取一个名称。 你可能说,“这不是问题: 在每个类面前加个Test就是了!” 但并不是那么简单的, 让我告诉你这样如果可能造成的问题: l???????? 当时候我们在使用TDD的方式开发时, 需要测试的class或者method可能都不存在。 l???????? 也可能一个test 含盖了

文档评论(0)

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

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

1亿VIP精品文档

相关文档