【问题标题】:what is the formal name for success unit tests vs error unit tests?成功单元测试与错误单元测试的正式名称是什么?
【发布时间】:2015-11-24 23:28:02
【问题描述】:

“成功单元测试”与“错误单元测试”的正式名称是什么?在这种情况下,我指的是验证主要成功场景的成功单元测试和验证错误处理例程的错误单元测试。

对于创建用户,成功单元测试将验证用户是否已成功创建。一个错误单元测试将验证如果客户端没有提供姓氏值,那么系统应该返回一个异常,说明“需要姓氏”。

那么在单元测试领域中,它们是描述这两种不同类型的单元测试的正式/专有名称吗?

【问题讨论】:

  • 它们都只是单元测试,但 "everything working" 运行有时被称为"happy path"
  • 我认为没有正式的名称,但测试的命名约定通常用于描述预期结果。例如,您可能有一个名为 CallXXXWithNoLastNameExpectException 的测试。

标签: unit-testing


【解决方案1】:

阳性阴性测试是有区别的。负面测试是那些输入无效的测试。例如,作为平方根函数的输入的负数可能是否定测试。因此,查看否定测试的一种方法是将它们理解为尝试“未指定”案例的测试。对于这样的测试,通常没有预期的特定结果——这是因为被测系统的行为是不确定的:如果你给平方根函数一个负值,你会期望什么?但是,此类测试通常有一些通用的期望,例如“系统不会崩溃”。

不幸的是,这不一定完全适合您的场景:错误处理通常是由于精确规范如何处理特定情况而实现的。因此,情况并非“未指定”。

我的建议是使用 happy path 测试(如 @jonrshape 所建议的那样)或像 success case testing 这样更具描述性的东西用于非错误情况,并使用描述性短语,例如错误处理测试,用于错误处理测试。

由于不同的人/团队倾向于对相同的事物使用不同的术语或以不同的方式解释相同的术语,因此为您/您的团队的文档创建词汇表可能是有意义的,因此至少其他同事知道您的意思用不同的术语表示。

【讨论】:

    猜你喜欢
    • 2011-12-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-05
    • 2010-11-21
    • 1970-01-01
    相关资源
    最近更新 更多