首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单元测试策略

单元测试策略
EN

Software Engineering用户
提问于 2014-01-30 10:46:35
回答 2查看 381关注 0票数 5

我所熟悉的唯一单元测试策略是将黄金数据与已知输出的一组预定义的输入数据进行比较(最好包括角情况)。

我想不出任何其他合理的单元测试方法。尝试使用任意输入数据进行单元测试(至少)与编写应用程序本身一样困难。

除了黄金数据测试之外,还有其他有效的单元测试策略吗?

注意:说任意数据,是指方法可以接受的任何syntactically有效输入(包括逻辑上无效的输入)。

EN

回答 2

Software Engineering用户

回答已采纳

发布于 2014-01-30 11:56:35

单元测试的策略取决于在该测试中测试的“测试单元”。

如果测试单元是一个基于输入和当前状态组合执行计算的函数的实现,那么一个好的单元测试就是将该对象放入定义的状态,然后调用该函数并验证其输出是黄金数据。

如果测试单元负责决定它应该从列表中返回哪个对象,那么一个好的单元测试将强制使用它的(模拟?)来填充该列表。对象,然后验证是否返回了预期的对象实例。

被测试的某些单元与测试的“黄金值”风格不匹配.

考虑一下,一个函数,它负责对其他对象的一系列调用排序。在这种情况下,您可能会创建一个模拟/假对象来接收这些调用,然后不是比较黄金值,而是检查是否用适当的参数调用了这些对象。

编写了一些单元测试来验证行为

的缺失

考虑一下,如果满足某些条件,您将如何验证需要进行函数调用的函数。同样重要的是,如果条件不满足,则验证此调用不会发生,就像在条件满足时验证其调用一样。

最后,有时验证一个函数不会在广泛的输入范围内生成异常是很重要的。

票数 4
EN

Software Engineering用户

发布于 2014-01-30 10:59:25

您可能想看看等价划分与边值分析。对“黄金数据”(边值分析)进行测试确实是最好的折衷方法,它给人足够的信心,认为在大多数情况下,一切都包括在内。

票数 6
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/226062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档