寻找一本全面的Java测试书籍,涵盖单元、功能、集成和场景测试。

10
我们正在使用Java开发数据密集型模块化Web应用程序堆栈,但对测试的专业知识很少。目前我们使用JUnit来运行混合单元测试和功能测试。我在这里更详细地描述了问题。
现在我们决定及早建立标准,了解测试的基本原则和最佳实践,特别是在Java Spring环境中的应用。 我想涵盖的内容包括从单元测试到场景测试不同种类测试的定义、用例和推理以及如何使用它们。正如我所说,我们正在开发一个数据密集型Web应用程序。
我想从书中推断出每个测试阶段在我们应用程序的哪个相应级别(核心、数据库访问、安全模块、实体管理器、Web模型、Web控制器、Web视图)上是多么必要和有用。
如果书中的例子可以直接适用于我们的应用程序堆栈,那就太好了。我们正在使用Spring、JPA(Hibernate)、JSF、Spring Security。到目前为止,我们使用基本的JUnit和一些PowerMock进行测试。因此,JBOSS、Seam或Java Enterprise的书籍并不是很有用。
如果有很好的文章能清晰地描述并真正有所帮助,请随时分享(我可以自己使用Google、Stack Overflow和维基百科,因此请只分享您实际阅读并认为非常有用的文章),但最好还是有一本书,这样我就不必从各种文章和问题中将其拼凑起来进行阅读。
谢谢!

我刚开始阅读《Growing object oriented software guided by tests》这本书,我已经非常喜欢它了。虽然不适合完全的初学者,但是展示了如何使用敏捷技术来开发测试驱动的软件。真正清理了过时的软件开发思维。

我们还购买了《xUnit Test Patterns: Refactoring Test Code》这本书,以便了解如何最佳地对应用程序堆栈中的不同区域进行单元测试。我得到了两次推荐,所以我很有希望它会有所帮助。

3个回答

6

请查看此答案下的资源。我强烈推荐前三本书,其中前两本直接回答了你关于“级别”的问题。第一本更着重于具体工具,而第二本则更注重概念。


这篇链接的SO帖子是最有帮助的。 - Pete

4

1
谢谢你的推荐。看起来它可能非常有用。你读过吗?它是否涵盖了我提到的所有问题?看起来它涵盖了很多单元测试,但它是否也涉及更高层次的内容,并解释了何时以及为什么使用它?或者我应该将这本书与更一般的测试文献结合起来阅读? - Pete
1
这本书有点“老”。我自己也在学习过程中,到目前为止我很喜欢它。我过去常常回来翻阅它,对其中的一般概念更加赞赏。我和我的团队也使用Spring和Hibernate,而Spring的文档在这种情况下更有用。你不会找到一本完全涉及你所使用工具的书,但是你可以通过使用其他书籍和每个工具的文档来组合并得出解决方案。 - isah

0

很抱歉只能给你一小部分的答案(因为你说你想要一个可靠的指南),但我实在无法推荐任何书籍。最佳实践应该包括TDD。虽然这个概念被广泛传播,但它有助于回归测试,并在那些临时需求变更时减轻压力(当你知道你有一个坚实的代码库)。

此外,您可能需要了解BDD(Bean驱动开发)是否适合您。我提到这个因为你在搜索中可能不会偶然发现它。优点包括将英语翻译成测试用例以证明目标方面的测试场景。这使您、您的测试人员甚至您的产品所有者可以轻松地将测试与您的需求相关联:


1
BDD == 行为驱动开发? - cwash
@cwash - 谢谢,没错。我总是、总是搞错这个。 - wmorrison365

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接