出版时间:2009-1 出版社:机械工业 作者:伯斯特//苏雷曼|译者:王海鹏 页数:324 译者:王海鹏
Tag标签:无
前言
软件开发是一项风险事业。测试则是缓解项目风险最重要的手段之一。一般来说,我们应该让需求可测试,让测试自动化,让自动化测试变得容易。 本书作者采用的是实用主义的方式,这一点对于真实项目的开发者帮助特别大。没有教条式的金科玉律,有的是更多实际可行的平衡和折衷。作者在我们面前展现了多姿多彩的Java企业级应用开发的实景,介绍了他们以及TestNG用户社区的实际开发经验和测试经验。在开发中,我们也许要和300万行遗留代码打交道,要和启动缓慢的应用服务器、数据库服务器打交道,要和各式各样、不断涌现的复用组件和库打交道,我们的生活充满了挑战。在本书中,您会看到世界一流的开发者是如何应对这些挑战的。 Java的开发社区充满了创新。这些创新者都有一个良好的愿望,让好的思想和工具为尽可能多的人提供帮助。TestNG的作者也是一样,所以本书既包含了理性的思考,也包含了善良的祝福:您可以更高效地完成项目,然后有更多的时间来锻炼身体或陪伴家人(或玩魔兽世界)。 理念一定要先进,工具一定要先进。将这些先进的理念和工具应用于项目中,超过社会平均的生产效率,这就是创新的意义所在。 JUnit让开发者编写测试的概念深入人心,TestNG则将我们的视野扩展到所有的测试,不仅仅是单元测试,还有集成测试、系统测试、功能测试、验收测试、压力测试我相信,这本书将会给Java开发者带来诸多帮助。 本书由王海鹏负责翻译,参加本书翻译工作的人员还有:王海燕、李国安、周建鸣、范俊、张海洲、谢伟奇、林冀、钱立强、甘莉萍。在本书的翻译过程中,我学到了很多,因此郑重地向大家推荐它。如果这本书对于您改进软件开发实践有所帮助,我将十分高兴。
内容概要
本书介绍了Java测试的新技术,主要内容包括:基本概念、测试设计模式、企业级测试、Java EE测试、集成和扩展TestNG等。本书通过针对有效测试Java应用程序以及围绕可测试性来设计应用程序和组件展示了这些有效的测试技术,并给出了每种测试方法的优点和不足,展示了解决常见问题的不同选择。 本书注重实际应用,适合对测试感兴趣的Java开发者参考阅读。
作者简介
Cedric Beust是Google的高级软件工程师,也是Java开发社区的一名积极成员,广泛参与了最新Java版本的开发。他是TestNG项目的发起人和主要贡献者。
书籍目录
序前言 致谢 第1章 起步 1.1 超越JUnit 3 1.2 JUnit 4 1.3 针对可测试性而设计 1.4 TestNG 1.5 本章小结第2章 测试设计模式 2.1 针对失败而测试 2.2 工厂 2.3 数据驱动测试 2.4 异步测试 2.5 测试多线程代码 2.6 性能测试 2.7 模拟和桩 2.8 依赖的测试 2.9 继承和annotation范围 2.10 测试分组 2.11 代码覆盖率 2.12 本章小结第3章 企业级测试 3.1 典型企业级场景 3.2 一个具体例子 3.3 测试实现 3.4 探索竞争消费者模式 3.5 重构的作用 3.6 本章小结第4章 Java EE测试 4.1 容器内测试与容器外测试的对比 4.2 容器内测试 4.3 Java命名和目录接口(JNDI) 4.4 Java数据库连接(JDBC) 4.5 Java事务API(JTA) 4.6 Java消息服务(JMS) 4.7 Java持久API(JPA) 4.8 Enterprise JavaBeans 3.0(EJB3) 4.9 Java API for XML Web Services(JAX-WS) 4.10 Servlets 4.11 XML 4.12 本章小结第5章 集成 5.1 Spring 5.2 Guice 5.3 DbUnit 5.4 HtmlUnit 5.5 Selenium 5.6 Swing UI测试 5.7 针对画图代码的测试 5.8 持续集成 5.9 本章小结第6章 扩展TestNG 6.1 TestNG API 6.2 BeanShell 6.3 方法选择器 6.4 Annotation转换器 6.5 报告 6.6 编写自定义Annotation 6.7 本章小结第7章 闲言碎语 7.1 动机 7.2 TestNG哲学 7.3 关注和提供异常 7.4 有状态的测试 7.5 测试驱动开发的缺点 7.6 测试私有方法 7.7 测试与封装 7.8 调试器的威力 7.9 记日志的最佳实践 7.10 时间的价值 7.11 本章小结附录A IDE集成附录B TestNG JavaDoc附录C testng.xml附录D 从JUnit迁移
章节摘录
第1章 起步 1.1 超越JUnit 3 像大多数Java开发者一样,我们使用JUnit的历史已经很长了,我们当然相信它使我们的测试更可靠健壮。但是这些年来,我们也遇到了这个框架中的一些不足,至少我们认为是这样的。
编辑推荐
TestNG创始人最新力作;介绍了大量新的测试模式和一些新工具;以实例展示测试模式。 企业级Java开发者必须实现更宽、更深的测试覆盖率,除了单元测试之外,还需要实现功能测试、统验收测试。本书介绍了突破性的Java测试技术和lTestNG,后者是一个强大的开放源代码Java测试平台。 Cedric Beust是TestNG的创始人,他和一流的JaVa开发者Hani Suleiman,向我们展示了一些强大的、灵活的测试模式,这些测试模式基本上可以适用于任何测试工具、框架或语言。他们展示了如何利用关键的Java平台改进来促进有效的测试,如依赖注入和模拟对象。还全面地介绍了TestNG,展示了它如何克服以前框架的一些局限以及如何利用新的技术,从而使得测试复杂的软件系统变得更容易。 本书讲求实用主义并关注结果,将帮助Java开发者为今天的关键任务环境创建更健壮的代码。 本书主要内容包括: 展示了与测试有关的折衷考虑,这样您就能在测试什么和怎么测试方面做出更好的决定。 介绍了TestNG,说明了它的目标和功能,并展示了如何在真实的环境中应用这些功能。 展示了如何集成TestNG和已有的代码、开发框架以及软件库。 展示了如何测试关键代码的特征,如封装、共享状态、范围和线程安全。 展示了如何测试应用程序元素,包括Java EE APls、数据库、Web页面和XML文件。 展示了高级技术:测试部分失败、工厂、依赖关系测试、远程调用、基于集群的测试服务器群等。 介绍了在Eclipse和IDE中安装TestNG插件。 包含了大量的代码示例。 无论您使用TestNG,JUnit或其他测试框架,本书提供的测试设计模式都会告诉您如何改进您的测试,对如何让代码和设计变得更可测试提供具体的建议。
图书封面
图书标签Tags
无
评论、评分、阅读与下载