2.1 如何提高单元测试的覆盖率(尤其是对于经验不足的新人)?

GreyZeng 2021-07-24 09:27:04

原文地址

书中P27提到

单元测试应覆盖所测单元的所有代码路径,包括错误处理路径。为了保证代码覆盖率,单元测试必须测试公开的和私有的函数/方法。

书中提到单元测试应该覆盖所有代码路径,由此我有一点疑惑是如何提高单元测试的覆盖率(尤其是对于经验不足的新人)?

...全文
1167 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
GreyZeng 2022-03-14
  • 打赏
  • 举报
回复

​ 经过一学期的实践,我觉得这个问题主要从两个方面:

​ 一是项目规划对每个子任务是否足够明确,如果对于整个项目以及对应划分的子项目都有比较明确的规划,那么设计与实现的差异往往仅体验在过程中的细节而不会影响对应API的功能,也就不会因为过程代码的变更导致与测试产生矛盾;

​ 二是代码风格,如果代码的可扩展性灵活性较高,那么即使需要根据实际情况对代码进行少量变更也是一件比较容易的事情不会带来太大的工作量。

原文地址

GreyZeng 2021-07-24
  • 打赏
  • 举报
回复

这篇博客提到常用的代码覆盖度量有语句覆盖、判定覆盖、条件覆盖、路径覆盖几种。根据我不多的测试相关的经验,感觉一开始很容易将语句覆盖作为衡量的标准,语句覆盖率实际上并不能真正达到我们想要的测试效果,路径覆盖才是最强力的测试依据,但是当代码的分支和嵌套比较多时,路径覆盖所需的样例数量会变得非常多,那么在这种情况下我们只能通过人力进行排列组合吗(是否有相关的工具可以使用)?或者我们应该考虑的是对代码的结构进行优化?
原文地址

606

社区成员

发帖
与我相关
我的任务
社区描述
程序员。写过:移山之道,编程之美,构建之法,智能之门。
软件工程软件构建团队开发 企业社区 北京·朝阳区
社区管理员
  • SoftwareTeacher
  • GreyZeng
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧