[读书笔记]关于单元测试

一般原则:

* 测试任何可能失败的地方
* 测试任何可能失效的地方
* 对于新加的代码,在被证明正确之前,都可能有问题
* 至少编写和产品代码一样多的测试代码
* 针对每次编译都做局部测试
* 嵌入代码之前做全局测试

要回答的问题:

* 我如何知道代码运行是否正确呢
* 我要如何对它进行测试
* 还有哪些方面可能会发生错误
* 这个问题是否会在其他地方出现呢

测试哪些方面:使用你的right-bicep

* 结果是否正确(right)?
* 边界(boundary)条件是否正确?
* 是否可以检查反向关联
* 是否可以使用其他方法来跨检查结果
* 错误条件是否可以重现
* 性能方面是否满足条件

好的测试是一个TRIP

* Automatic(自动的);
* thorough(全面的);
* Repeatable(可重复的);
* Independent(独立的);
* Professional(专业);

Correct边界条件:

* 一致性(Conformance)-值是否符合预期的格式?
* 有序性(Ordering)-一组值是该有序的,还是无序的?
* 区间性(Range)-值是否在一个合理值的最大值和最小值的范围内?
* 应用,耦合性(Reference)-代码是否引用了一些不受代码本身直接控制的外部因素?
* 存在性(Existence)-值是否存在(例如,非null,非零,包含于某个集合等)
* 基数性(Cardinality)-是否恰好有足够的值?
* 时间性,绝对的或者相对的(Time)-所有事情是否都是按顺序发生的,是否在正确的时间,是否及时

转载于:https://www.cnblogs.com/RobinJiang/p/the-principle-of-unit-test.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值