微软研究所发布了一项检验软件工程神话的经验研究结果报告。由 Nachi Nagappan 主持的这项工作,衡量了通用的软件工程实践给软件质量带来的真正影响。分析显示:
- 测试中更高的代码覆盖率与上线之后需要补丁数的减少之间并不具有必然相关性,也有许多其他因素在发挥着作用。
- TDD 改善了质量,但时间更长:“研究小组发现:相对没有使用 TDD 的团队所产出的代码,使用 TDD 的团队所产出的代码在缺陷分布密度上要低百分之六十到九十。他们同时发现采用 TDD 的团队要多花费百分之十五到三十五的时间才能完结项目。”
- 使用断言和代码验证能减少 bug 数。而且,“在代码里面能有效使用断言的软件工程师,往往是受过良好训练和经验丰富的,这对最终结果是一个利好因素。”
- 组织结构对质量有更深远的影响:“组织的衡量指标,如果跟代码不相干,我们预测软件会有 85% 的失败倾向。”
- 分布式团队开发对软件质量的影响实在是微不足道。
微软开发团队正在使用这些研究成果,其中包括帮助像 Windows Vista SP2 这样的项目进行风险分析和 bug 分类。
更多内容推荐
“TDD 已死”之论战调查
Ruby on Rails的作者DHH最近发出“TDD已死”的言论,这在技术社区引起了轩澜大波,一些技术人员开始纷纷发表各自的看法表示支持或者反对。
高质量代码——书评与采访
由Stephen Vance所撰写的《高质量代码》(Quality Code)一书涵盖了软件开发生命周期的各个方面,尤其关注于提交高质量的产品。Stephen在本书中谈论了为支持软件技术水准测试所需的一些实践。InfoQ有幸与作者进行了交流,对本书的内容以及测试应用程序代码的最佳实践进行了一番讨论。
遗留系统现代化:遗留系统的四化建设
如何将先进的、现代化的软件开发方法应用到遗留系统上?这节课会为你揭秘。
2022-04-13
不要让开发人员兼职测试的角色
为什么合并开发和测试角色不可取
调查:开发是 TDD/BDD 应用的主要障碍
近日,测试服务公司QASymphony发布了《2016年测试优先方法现状报告》,该调查涵盖了来自15个国家的200多个人/组织。调查的目的是评估测试优先方法的应用——BDD/ATDD/TDD——以及受访者对它们的看法。
结束语 | 对代码的信心要从测试里来
如果整个专栏你只能记住一件事,那请记住:写代码时问问自己,这段代码应该怎么测。
2021-09-17
2019 年软件测试现状调查
本文主旨是为测试从业者的职业发展以及行业未来趋势提供一些可参考的见解。
单元测试是绩效评估的一部分?
绩效评估对雇主和雇员都有好处。它是个针对未来工作绩效提建议、识别指标和设置预期的时机。它还是个坦诚交流绩效以及可以如何提升绩效的时机,而这种交流往往都很缺乏。不断进行绩效讨论有助于避免未来出现严重的问题。
测试理念是实现 DevOps 不可或缺的重要环节
与敏捷和精益实践的初期相比,当今的软件测试实践与理念已经产生了根本性的变化。软件测试实践与理念已经成为DevOps文化中不可分割的一部分。
07|TDD 中的测试(3):集成测试还是单元测试?
TDD中的测试并不是行业中所谓的“单元测试”,而是指能提供快速反馈的低成本的研发测试,也是针对不同粒度单元的功能测试。我们要从发现问题和定位问题的角度出发,去理解和思考每一个测试的功效。
2022-03-22
测试驱动开发是否是一种强迫症?
开发人员越来越需要去测试自己及同事的代码。“评价焦虑”是一种常见的心理问题,受自我测试和团队测试的直接影响。TDD等实践是否是一种能防御编码者免受批评的机制?BDD等新兴方法是否代表了一种面对团队评价时从心理学上更健康的方法?本文对这些问题做了一些探讨。
用户故事|我的自动化学习之路
自动化实践之路,充满着艰辛和坎坷,只要我们找到了实施路径中的关键点,并且保持足够的耐心,光明总在前方。
2022-09-30
观点:测试驱动的开发从根本上是错误的
这听起来太绝对,但确实是这样。
一致性 hash 算法的实现和平衡性测试
一致性hash算法
2020-07-07
开篇词|为什么 TDD 是当前最具工程效能的研发流程?
我相信,我掌握了测试驱动开发那天,我才成为了可靠、高效的职业程序员。
2022-03-16
敏捷开发领跑传统测试
这篇报道探讨了为什么敏捷开发跑到了传统测试的前面,原因是什么,以及最近有什么新的敏捷测试趋势。
用户故事 01|aoe:如果把《重构》这本书拍成电视剧
工作中真正需要的是功能测试,而不是刻板的单元测试。
2022-09-06
逼疯 UE 设计师,不可不知的提升产品用户体验的 10 个测试方法
【摘要】用户体验的描述比较主观,产品功能的可用性、可靠性、性能等都会影响用户的使用体验,比如功能bug问题也会说体验不好,程序崩溃也会说体验不好,性能卡顿会说体验不好,那是不是都在用户体验测试的范围呢?
2021-02-07
从测试人员的角度看敏捷中的障碍
Priyanka为我们展示了敏捷的实施为测试人员与测试本身带来的诸多优势与挑战,并且为我们提供了如何克服这些障碍并且利用其优势的一些想法。她谈到了敏捷测试人员的心态,以及在敏捷环境中进行测试的人员的角色是怎样产生变化的。
可测试性如何帮助团队提升效率
在Agile Practitioners 2016大会上,Huib Schoots谈了可测试性。他指出,低可测试性(任何导致软件难以测试的东西)会导致团队效率低下,并探讨了如何提高可测试性。
暂无签名
推荐阅读
加餐 3|这些书里,藏着高手们的“不传之秘”
2023-01-28
31. 情商测试 5 分钟了解自己的性格特点(上)
2023-10-17
研发提测前测试到底能做些什么 | 京东云技术团队
2023-08-09
实施转型(二):从 0 到 1 落地转型·团队试点先行
2022-12-26
Surfire 单元测试添加 jvm 参数
2023-03-29
从改善设计的角度理解 TDD (2)
2022-09-04
手把手教你实战 TDD | 京东云技术团队
2023-06-14
电子书
大厂实战PPT下载
换一换 付俊伟 | 英特尔 高级工程师
王青 | JFrog (中国) 技术总监
孙建业 | 作业帮 大数据平台架构负责人
推荐阅读
加餐 3|这些书里,藏着高手们的“不传之秘”
2023-01-28
31. 情商测试 5 分钟了解自己的性格特点(上)
2023-10-17
研发提测前测试到底能做些什么 | 京东云技术团队
2023-08-09
实施转型(二):从 0 到 1 落地转型·团队试点先行
2022-12-26
Surfire 单元测试添加 jvm 参数
2023-03-29
从改善设计的角度理解 TDD (2)
2022-09-04
手把手教你实战 TDD | 京东云技术团队
2023-06-14
评论