【问题标题】:Java-Based Regression Testing [closed]基于 Java 的回归测试 [关闭]
【发布时间】:2011-09-21 15:06:28
【问题描述】:

如何在 Java 中执行回归测试?是否有自动回归测试框架,或者您只是编写 (JUnit) 单元测试来帮助确保防止回归?

是否有一种方法或一组最佳实践来编写单元测试,以便它们也可以作为回归测试的双重目的,或者您是否需要将回归测试与单元测试分开?

【问题讨论】:

  • 在programmers.stackexchange.com上可能是最好的

标签: java testing regression-testing


【解决方案1】:

回归测试与语言无关。这是一种用于确保未来代码更改不会破坏现有功能的技术。在 Java 中,您可以使用 junit 或 testng 或其他任何东西。通常,回归测试是功能测试,而不是纯粹的单元测试。

【讨论】:

  • 认为 Woot4Moo。您所说的“功能测试”是指“顺序”,意思是不是测试一个组件/单元,而是执行(以类似脚本的方式)一系列动作以确保保留一些不变量?
  • @Mara,这就是所有自动化测试的工作方式。回归测试只是“针对旧测试测试新代码”,其测试的类型(单元、功能、集成等)没有任何区别。
  • 戴夫 - 很有趣。那么,只要您维护了一个完整的单元测试框架,那么由于您从不丢弃旧的单元测试,那不也可以进行回归测试吗?这让我有些困惑,因为您总是听说回归测试,但根据您的解释,听起来您所要做的就是确保您的单元测试符合要求。我走上正轨还是出轨了?
【解决方案2】:

JUnit 通常针对单元测试而不是全面的功能测试(如果将系统视为一个整体,回归测试就是一个例子)。

但是,使用单独的测试套件执行连接到实际后端等的“繁重”功能和集成测试并根据预期验证结果的情况并不少见。

这里使用 JUnit 的一个原因是能够使用依赖注入从“模拟测试”转变为实际功能测试。例如,您可以在轻量级测试中提供模拟协作者,在完整功能测试中提供实际协作者实例。

【讨论】:

  • 如果 JUnit 不适合此类测试,那么有哪些典型的 Java 回归/功能测试框架?
  • @Mara - www.spockframework.org
【解决方案3】:

回归测试是捕获回归的任何测试。

如果您想进行验收测试,我听说过关于 FitNesse 的好消息。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-03-19
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 2010-10-05
    • 2017-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多