【问题标题】:Looking for a comprehensive Java testing book covering unit, functional, integration and scenario tests [closed]寻找一本涵盖单元、功能、集成和场景测试的综合 Java 测试书籍 [关闭]
【发布时间】:2012-02-19 15:50:42
【问题描述】:

我们正在使用 java 开发一个数据繁重的模块化 Web 应用程序堆栈,但对测试的专业知识知之甚少。我们目前所做的是使用 JUnit 来运行单元测试和功能测试的混合。我更详细地描述了这个问题here

现在我们决定尽早建立标准,关于如何测试我们的模块和应用程序,因此我们需要阅读一般测试的原则和最佳实践,特别是在 java spring 环境中

我想介绍的是从单元测试到场景测试的不同类型测试背后的定义、用例和推理,或者谷歌称之为:小型、中型、大型测试。就像我说的,我们正在开发一个数据量大的 Web 应用程序。

我希望能够从本书中推断出每个测试阶段的必要性和有用性在我们应用程序的哪个相应级别(核心、数据库访问、安全模块、实体管理器、网络模型、网络控制器、网络视图)

如果书中的示例可以直接应用于我们的应用程序堆栈,那就太好了。我们正在使用 spring、JPA(hibernate)、JSF、spring security。到目前为止,我们使用基本的 Junit 和一些 powermock 进行测试。所以 JBOSS、Seam 或 Java Enterprise 书籍没有那么有用。

如果网络上有很棒的文章描绘了一幅清晰的画面并且确实有帮助,请随时分享(我自己可以使用 google、SO 和 wiki,所以请仅提供您实际阅读并认为非常有用的文章有帮助),但一本书会很好,这样我就可以从基础知识开始阅读,而不必从各种文章和问题中拼凑起来。

谢谢!

编辑 - 我们订购的书籍

刚开始阅读Growing object oriented software guided by tests,我已经非常喜欢它了。不适合初学者,但展示了如何使用敏捷技术开发测试驱动。真正清除了关于软件开发的旧思维方式。

我们还订购了xUnit Test Patterns: Refactoring Test Code,以了解如何最好地对我们应用程序堆栈中的不同区域进行单元测试。收到此建议两次,希望对您有所帮助。

【问题讨论】:

    标签: java unit-testing testing integration-testing functional-testing


    【解决方案1】:

    看看this answer下的资源。我强烈推荐前三本书,前两本书直接解决了你的“水平”问题。第一个更侧重于特定工具,而第二个更概念化。

    【讨论】:

    • 链接的 SO 帖子是最有帮助的
    【解决方案2】:

    图书推荐:JUnit Recipes - Practical Methods for Programmer Testing

    工具:JUnit + Hamcrest + Mockito

    而您正在使用 Spring,请查看 spring-test,它提供了一些很棒的便利,Spring Testing

    【讨论】:

    • 感谢您的推荐。看起来它可能非常有用。你读过吗?它是否解决了我提到的所有问题?看起来它涵盖了很多单元测试,但它是否也涉及更高级别并解释了为什么以及何时使用它?或者我应该将这本书与更一般的测试文献结合起来吗?
    • 这本书有点“旧”。我自己也在这个过程中,但到目前为止我喜欢它。我曾经不时回到它,我更欣赏它的一般概念。我和我的团队也使用 Spring 和 Hibernate,Spring 的文档在这种情况下更有用。你不会找到一本书完全解决你的工具,但你可以结合使用其他书籍和每个工具的文档并提出解决方案。
    【解决方案3】:

    不想给你一个简单的答案(正如你所说的你想要一个可靠的指南),但我真的不能推荐任何书。不过,最佳实践应该涉及 TDD。当那些临时的快速需求更改出现时(当你知道你有一个可靠的代码库时),它有助于回归并放松头脑。

    此外,您可能想看看 BDD(Bean 驱动开发)是否适合您。我提到这一点是因为您在搜索时可能不会偶然发现它。优势包括从英语翻译成测试用例,以根据目标证明测试场景。这使您、您的测试人员甚至您的产品负责人能够轻松地将测试与您的要求关联起来:

    【讨论】:

    • BDD == 行为驱动开发?
    • @cwash - 谢谢,没错。我总是,总是弄错。
    猜你喜欢
    • 2011-03-16
    • 2011-06-21
    • 2019-06-28
    • 2020-09-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多