• 我的订阅
  • 科技

有必要追求 100% 的单测覆盖率吗?

类别:科技 发布时间:2023-07-05 12:00:00 来源:CSDN

【编者按】本文主要讨论了一个项目的开发过程中对测试覆盖率的要求以及其带来的挑战,强调了 100% 的测试覆盖率的重要性和好处,尤其是在避免隐藏错误和减少回归问题方面的作用,在团队规模扩大时尤为重要。

原文链接:https://brandur.org/fragments/100-percent-coverage

作者 | brandur 译者 | 明明如月

责编 | 夏萌

出品 | CSDN(ID:CSDNnews)

有必要追求 100% 的单测覆盖率吗?

我们正在开发一个项目,该项目不仅要求达到 100% 的测试覆盖率,还要求达到 100% 的分支覆盖率。这个过程颇为艰难。你的任何一次改动都可能无意中影响到测试覆盖率。

因此,如果一个标准的开发流程是:

1. 添加功能

2. 编写测试/修复bug,那么在这个项目中,你需要遵循一种三步流程:添加功能;编写测试/修复bug;追踪每一个未被覆盖的分支,并编写逐渐复杂的测试用例以覆盖这些分支。

我清楚地知道并非只有我对此持有怀疑态度。业务代码覆盖率的要求是开发人员常见的抱怨之一,与测试组件运行速度缓慢或繁琐的管理问题一样常见。

然而,100% 的测试覆盖率无疑是有益的,尤其是在如 Ruby 这样的语言中。未执行的分支可能隐藏着严重的错误,这些错误虽然能够被解释器接受,但一旦执行,就可能导致生产环境崩溃。

在思考 100% 覆盖率是好是坏的过程中,我突然意识到,人们往往忽视了一个重要的方面,那就是它具有棘轮效应,一旦实现 100% 测试覆盖率的习惯形成,就具有不可逆性,很难再回到之前的状态。我们还有一个项目,是由一个只有两人的小团队来支持,不要求达到 100% 的覆盖率。它的测试组件运行得很好,我们采取了一种非正式的策略,即尽可能详尽的测试,但并不强求 100% 的覆盖率。而保证这一点的唯一方法就是依赖每个开发者的良好自觉性,以及一定程度的代码审查。如果我们要添加第三个成员,我们希望他们能分享我们对测试的审美偏好,或者至少能学会模仿,但最终会发现这通常无法保证。如果这个第三个成员在他们任职的几个月后还常常忽视测试,未经充分测试的功能将变得越来越多,由更改带来的风险也随之增大,我们预见到回归问题将变得更多。(注:回归问题指:在进行软件开发过程中,对已有功能或代码的更改可能引入新的错误或导致已有功能的失效。)

虽然我在上面用一个团队从两个人扩展到三个人的情况说明这个问题,但一旦你的团队规模达到 10人甚至 100 人,你必然会碰到一些对测试理解不深的人。

尽管追求 100% 的测试覆盖率可能会让人感到不愉快,但我还是更倾向于认为它是有益的。测试本身对防止回归问题非常有效,在更大的团队中,设定严格的测试基准可能更为重要。

你们认为追求 100% 的单测覆盖率有必要吗?

▶仅用 5 小时!中国团队推出「全球首颗」AI 全自动设计 CPU,性能比肩 Intel 486!

▶ “盗窃”而来的 3000 亿单词?ChatGPT 摊上事了,遭索赔 30 亿美元!

▶ QQ 用 Electron 重构后,终实现 Linux、macOS、Windows 三端架构统一! 返回搜狐,查看更多

责任编辑:

以上内容为资讯信息快照,由td.fyun.cc爬虫进行采集并收录,本站未对信息做任何修改,信息内容不代表本站立场。

快照生成时间:2023-07-05 14:45:12

本站信息快照查询为非营利公共服务,如有侵权请联系我们进行删除。

信息原文地址:

制定整体数字测试计划
...程,只要代码发生更改,该流程就会自动运行测试。代码覆盖率分析:创建一个测试计划,其中包括使用JaCoCo和SonarQube等工具来分析代码覆盖率并确定未测试的代码区域。测试
2023-04-16 18:11:00
nextgenios系统的可靠性和稳定性
...分析,更快进行调试;通过访问全球备库最大化提高测试覆盖率。“自动化压力测试揭示了蓝牙配对和连接问题,而这些问题在我们的标准测试中没有被发现。ATAM是一个很好的工具。” N
2023-09-27 04:41:00
致敬“她”力量|浪潮海岳GS Cloud测试团队:质量保障“半边天”,见证“她们”的不凡故事
...可实现众多被测服务器的自动更新;自动化测试达到功能覆盖率100%,重点流程覆盖率90%,在兼容庞大工作量的前提下实现回归测试自动化,让不可能成为了可能。 另一方面,团队着力
2024-03-14 12:15:00
...,节约测试时间和资源,提高测试效率。传统方法多基于覆盖率或故障历史,但缺乏对环境变化的适应能力。随着软件开发技术不断进步,软件的功能和性能也在不断提高,使得软件开发周期的缩短
2025-12-26 06:50:00
优维科技解构CI/CD本质:很强大但并不万能
...一个好的CI流程依赖于一组好的测试。维护一组具有足够覆盖率且不脆弱的测试并非易事,高测试覆盖率通常需要更长的时间才能运行,这会影响开发人员的生产力。这是一个艰难的平衡操作,但
2023-05-29 18:00:00
...需要不断调整和更新。随着软件系统的复杂性增加,测试覆盖率的提高成为一项艰巨的任务,很多潜在缺陷可能在测试中被遗漏。为了应对这些挑战,开发团队应加强测试过程的管理,采用敏捷测试
2024-12-13 10:23:00
用Playwright 进行组件测试
...根源,而不是必须搜索整个系统才能找到它。更好的测试覆盖率:通过测试单个组件,开发人员可以确保系统的每个部分都经过彻底测试,这有助于提高整体测试覆盖率。预先请求节点已安装。VS
2023-04-23 15:38:00
ui自动化测试技术发展历程
...本依赖图像和文字识别,界面元素识别不受限,测试场景覆盖率提升了近40%。人效分析方面,以手机银行为例,每2周进行一次全量回归测试
2024-04-04 02:40:00
一汽-大众id.6crozz电池安全测试
...第二款产品,将进一步提升一汽-大众ID.家族的纯电市场覆盖率,同时承担一汽-大众品牌向上的重任,强化ID.家族纯电动技术领先形象,助力一汽-大众在即将到来的智能电动时代持续保
2023-03-12 12:58:00
更多关于科技的资讯:
摘要:随着信息技术的快速发展,人工智能技术逐渐渗透金融机构的各类业务与管理环节,对传统金融运作模式产生了深刻影响。金融机构在激烈竞争和成本约束的背景下
2026-03-07 05:46:00
近日,省应急管理厅举行“AI+工业企业火情预警(火眼哨兵)”“AI+烟花爆竹监管(烟花卫士)”应用上线发布仪式。浙江拥有30余万家工业企业
2026-03-07 07:34:00
视频摄制:张晶、赵新宇、朱泊宇
2026-03-07 07:47:00
今年的全国两会上,“一人公司”(One Person Company,简称OPC)成为代表委员们热议的话题。全国人大代表
2026-03-07 07:04:00
2026年全国两会正式开幕,全国政协委员、京东集团技术委员会主席、京东云总裁曹鹏围绕人工智能产业发展建言献策。他建议,推动我国AI产业实现从规模扩张到效能提升
2026-03-06 22:56:00
编者按:从生力军天创机器人开始,《大众证券报》明镜财经工作室记者将陆续探访在各种应用场景解决着实际问题的南京机器人企业
2026-03-06 22:56:00
从平台赋能到标杆涌现:青岛崂山区打造OPC创业首选地
鲁网3月6日讯2026年,是“一人公司”(OPC)从概念走向规模化实践的关键之年。当这一新型创业范式成为科创发展新风口
2026-03-06 20:12:00
【宅男财经|专家面对面】据央视新闻报道,十四届全国人大四次会议今天(6日)举行经济主题记者会。商务部部长王文涛在会上表示
2026-03-06 21:54:00
从手工“制茶”到数据“智茶”:竹叶青展现AI时代品质新解法
在中国古老的传统产业版图中,茶产业无疑是最具代表性,却又最难被现代化改造的堡垒之一。长期以来,非标化、依赖人工经验、产业链条冗长等痛点
2026-03-06 17:21:00
全球AI迈向“办事时代”,千问持续推进AI生活服务落地
3月6日,千问宣布持续投入“AI办事”,用户可以让AI一句话下单各类生活服务,享受AI办事带来的便捷和立减实惠。进入2026年
2026-03-06 18:54:00
三联家电洪楼店店庆盛典3.07火热开启!
鲁网3月6日讯春暖花开,焕新正当时!一年一度,三联家电洪楼店将于3月7日至3月15日隆重举办店庆盛典,为广大消费者带来一场诚意十足
2026-03-06 17:08:00
2025ITEC颁奖典礼在京举行 半导体AI创新成果引关注
2月4日,第十三届朝阳国际人才创业大会(ITEC2025)创新峰会在北京举办,大会全球创业赛获奖名单同期正式揭晓——“人工智能在半导体制造的应用与研究”项目凭借核心技术突破与产业化落地实效
2026-03-06 14:10:00
中新经纬3月6日电 (薛宇飞)从“新三样”(新能源汽车、锂电池和光伏产业)领跑全球,到新“新三样”(机器人、人工智能与创新药)迎来爆发
2026-03-06 15:03:00
3月10日起携程将下线“调价助手”,减少酒店间价格内卷
3月5日,极目新闻记者从携程获悉,从2026年3月10日起,携程商家管理后台将下线“AI生意助手”(调价助手)功能。据了解
2026-03-06 15:20:00
3月6日,字节跳动官方微信公众号发文称,ByteIntern实习生招聘项目正式启动。据悉,本次招聘为字节跳动史上规模最大的转正实习生招聘计划
2026-03-06 15:20:00