6、优化iOS测试:代码覆盖、应用启动与视图控制器加载

优化iOS测试:代码覆盖、应用启动与视图控制器加载

1. 避免代码覆盖百分比目标,注重前进动力

在遗留项目中添加测试是一项长期工作。我们应避免设置代码覆盖百分比目标,因为根据古德哈特定律,当一个指标变成目标时,它就不再是一个好的指标。很容易在没有有意义测试的情况下提高覆盖率数字,如果团队将覆盖率作为目标而非趋势衡量标准,人们就会这么做。

此外,不要编写仅用于设置和获取存储属性的测试,这类测试不能说明代码的实际情况,只是证明编译器能正常工作。应该找出属性存在的原因并对其进行测试,但计算属性可当作无参数函数进行测试。

团队应追求推动进展,任何正向的进步都很重要且值得庆祝。定期测量总代码覆盖率,比如每两周或每月一次。除了百分比,还可使用 cloc 工具统计代码行数,结合覆盖率计算出覆盖和未覆盖的代码行数,这样能更清晰了解整体情况。每次添加测试时观察代码覆盖栏,看到红色块消失的积极反馈会提升动力。

关键要点
- 要启用代码覆盖报告,在测试/选项下编辑方案。
- 代码覆盖可能具有误导性,但缺乏覆盖总是真实的。
- 覆盖一个条件语句需要两个测试,分别针对条件为真和为假的情况(不考虑 && || 运算符)。
- 测试循环时,尝试测试循环执行零次和两次的情况。
- 如果故意引入问题(如删除代码)而测试仍能通过,说明代码未完全覆盖。
- 使用特征化测试技术捕获现有代码的行为,编写捕获实际值的断言,再将这些值插回断言中。
- 不要为了提高数字而编写无意义的测试,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值