原文地址
书中P27提到
单元测试应覆盖所测单元的所有代码路径,包括错误处理路径。为了保证代码覆盖率,单元测试必须测试公开的和私有的函数/方法。
书中提到单元测试应该覆盖所有代码路径,由此我有一点疑惑是如何提高单元测试的覆盖率(尤其是对于经验不足的新人)?
经过一学期的实践,我觉得这个问题主要从两个方面:
一是项目规划对每个子任务是否足够明确,如果对于整个项目以及对应划分的子项目都有比较明确的规划,那么设计与实现的差异往往仅体验在过程中的细节而不会影响对应API的功能,也就不会因为过程代码的变更导致与测试产生矛盾;
二是代码风格,如果代码的可扩展性灵活性较高,那么即使需要根据实际情况对代码进行少量变更也是一件比较容易的事情不会带来太大的工作量。
这篇博客提到常用的代码覆盖度量有语句覆盖、判定覆盖、条件覆盖、路径覆盖几种。根据我不多的测试相关的经验,感觉一开始很容易将语句覆盖作为衡量的标准,语句覆盖率实际上并不能真正达到我们想要的测试效果,路径覆盖才是最强力的测试依据,但是当代码的分支和嵌套比较多时,路径覆盖所需的样例数量会变得非常多,那么在这种情况下我们只能通过人力进行排列组合吗(是否有相关的工具可以使用)?或者我们应该考虑的是对代码的结构进行优化?原文地址
606
社区成员
389
社区内容
加载中
试试用AI创作助手写篇文章吧