软件设计:从专业到卓越
张刚
资深技术专家
374 人已学习
立即订阅
软件设计:从专业到卓越
15
15
1.0x
00:00/00:00
登录|注册

第 10 章 设计质量贯穿始终(1)

没有人会认为质量不重要——但是落实到具体行动上就不尽然了。在项目进度的压力之下,牺牲质量,特别是牺牲外部看不到的可理解、可演进和可复用能力,是不少开发者和开发团队下意识的选择。这种做法本质上是饮鸩止渴,也是没有深入理解软件开发的一种表现。
质量免费。对软件开发来说,质量不仅免费,还是持续发展的源泉。质量是软件资产必须满足的特征,质量有问题的软件资产不叫资产。只有真正意识到质量价值的人和团队,才会真正注重质量的投入。
如何最有效地达成质量目标呢?仅仅是做更多的测试吗?并不是。高质量源自优秀的设计实践,包括合理的开发过程、良好的编程习惯、有效的工具等。本章将首先介绍质量内建的概念,然后分别介绍各种主要的质量保障实践。

10.1 质量内建

质量管理的一代宗师戴明博士曾经提出过非常著名的“戴明质量管理十四条”[44],其中有一条论断是:不能依靠检验来达到质量标准。换句话说,如果一个企业需要依赖检验达成质量目标,就等于它已经接受了“生产的东西一定会包含次品”这个假设。检验有成本,检验出的次品无论是抛弃还是修复也都意味着成本。更好的做法应该是改良生产过程,尽量少生产次品。
质量内建意味着质量来自持续改进的生产过程,而不是检验。
第 1 章曾经介绍了缺陷成本递增曲线(图 1.2),其形象地解释了质量内建的价值。质量内建使得缺陷在注入时刻就被发现,从而降低了由缺陷导致的成本。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了质量内建、防御式编程和自动化测试等概念在软件开发中的重要性和具体应用。质量内建强调质量来自于持续改进的生产过程,而不是依赖检验,契约式设计和防御式编程被介绍为保障和检验契约的手段。同时,高质量的自动化测试被认为是可持续软件开发的根本保证,需要在合适的粒度上进行高质量的测试,并关注外部契约而非内部实现。文章还强调了关注外部契约而非内部实现的重要性,以及避免自动化白盒测试的危害。总的来说,本文通过介绍这些概念,强调了质量内建对软件开发的重要性和具体应用,为读者提供了对软件质量保障的深入理解和实践指导。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《软件设计:从专业到卓越》
立即购买
登录 后留言

精选留言

由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论
显示
设置
留言
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部