代码之家  ›  专栏  ›  技术社区  ›  Microdot

自动化测试的最佳实践方法

  •  1
  • Microdot  · 技术社区  · 15 年前

    这是一个非常奇怪的建议请求,我真的觉得没有真正的答案。在我的项目中,我对用于逻辑计算的各种对象进行了归档,为了审计跟踪,我对这些项目进行了归档,并在以后的阶段检查计算错误或证明正确性。我正在使用实体框架,事情可能与您自己的项目略有不同。

    我使用原始对象,直接修改它,创建修改项的克隆,从存储中恢复原始项,并相应地保存更改。如果一个对象从未被计算消耗过,那么它不会还原为原始对象,在这些情况下,我会直接保存在该对象上,以及与其他对象存在的各种关系。

    这听起来可能有点冗长,但我向你保证——就我在英孚工作的情况来看,这似乎是目前为止最简单的。

    我对这些归档例行程序的问题是,随着时间的推移,我引入了更多的功能——我有时会在不知道的情况下,将关键代码分解为一个点,在这个点上,我必须从头到尾对整个解决方案进行回归测试,以确保归档要求保持不变。

    是否有任何单元测试方法或自动化方法来测试这些需求。它将加速包的部署,减少我自己的手工测试。

    任何与Simlar情况相关的建议或链接均表示感谢。

    3 回复  |  直到 15 年前
        1
  •  3
  •   John Sonmez    15 年前

    我认为你描述的这个问题有两个方面:

    1. 首先,您需要一些可以构建的单元测试,这些测试将表示系统的技术需求。将单元测试视为您为技术上实现最终用户期望的目标而设置的规则。通过这种方式,我将编写单元测试,如果您对系统所做的技术假设由于代码更改而失败,那么您可以自信地认为单元测试将会失败。请记住将单元测试保持在单元级别,这样您就不会有大量的依赖项交互以使测试失败。单元测试应该只测试一件事。如果您这样做,当您进行代码更改时,您可以运行所有的单元测试,并立即知道您对系统所做的假设现在还没有得到满足。

    2. 我还将设置一些自动化的集成功能测试。我认为在您的问题领域中,设置类似于单元测试(您可以使用相同的工具)的集成测试是有意义的。在这里,您将希望获得更大的功能,可能是数据流经系统的管道,并测试数据上是否发生了正确的一系列转换。

        2
  •  3
  •   Brian Carlton    15 年前

    一个最佳实践是确保测试可以以任何顺序运行。您可以使用归档路由上的“黄金”数据将生成例程与归档例程分开。

        3
  •  1
  •   Ewan Todd    15 年前

    单元测试的第一个最佳实践就是做它!除此之外,我想推荐 xUnit Test Patterns: Refactoring Test Code 作者:杰拉德·梅萨罗斯。