版权所有ã2021
2020 年国内软件质量调查报告
《软件质量报道》编写
腾讯 WeTest
ThoughtWorks 社区
校对
2021 年 1 月
1
版权所有ã2021
目录
2020 年国内软件质量调查报告 .................................... 1
一、背景.................................................... 3
二、参与调查的企业、团队和产品情况.......................... 4
三、软件质量整体状况........................................ 8
四、需求质量............................................... 10
五、设计质量............................................... 12
六、代码质量............................................... 13
七、测试质量............................................... 16
八、今明两年的软件质量管理工作............................. 17
九、附录:金句............................................. 19
十、关于组织者............................................. 24
2
版权所有ã2021
一、背景
最近十年,国内针对软件质量都没有做过全面的调查,根据搜索结果,只在 2009 年有
过一次。当时为了贯彻落实党中央、国务院关于在全国开展“质量和安全年”活动的重大
决策和部署,将提高软件质量作为落实《电子信息产业十一五质量发展规划》和促进软件
服务业平稳快速发展的重要手段,2009 年 10 月,在工业和信息化部科技司、软件服务业
司指导和支持下,工业和信息化部软件与集成电路是进中心(CSIP)在全国范围内开展了软
件质量调查工作。收集了来自 24 个省市自治区的软件企业调研问卷 1173 份,涵盖了软件
标准化、软件过程改进、软件质量管理工具、软件企业评估和软件质量人才培养等各个方
面,在分析和研究的基础上,最终形成了《2009 年中国软件质量硏究报告》。这里摘出几
个和质量管理密切相关的调查结果,如图 1~图 3 所示,供大家参考。
图 1 质量控制的策略和措施
图 2 企业采用的质量管理方法
3
版权所有ã2021
图 3 基础软件企业质量改进需求
十年后的今天,我们处在一个“数字化”的时代,传统企业不得不进行数字化转型,
将客户管理、销售等搬到云上,线上和线下互动;我们还处在“软件定义一切”的时代,
万物互联,家具、汽车、穿戴、运动等都离不开软件,如智能家居、自动驾驶、智能穿戴
等等。在这样的背景下,软件质量非常重要,关系到每一个企业的未来命运,关系到每一
个人的工作与生活。为此,“软件质量报道”公众号联合腾讯 WeTest 和 ThoughtWorks 社
区进行国内软件质量的调查,虽然达不到 2009 年那样的规模,但也收集了来自 22 个省市
469 份有效问卷,而且这次调查的问题更有现实意义和参考价值。
二、参与调查的企业、团队和产品情况
1. 企业所处行业分布情况。参与调查的企业以互联网为主,占到近 40%,其次是信息和通
信、金融和保险等行业,制造业、航空航天、教育占比比较低 6%~3%,如图 4 所示。
图 4 企业所处行业分布情况
4
版权所有ã2021
2. 企业规模分布情况。规模分布比较均匀,大型企业(超过 3000 人)和微小型企业(小
于 100 人)基本接近,前者是 23.2%,后者是 21.1%(12.8%+8.3%),和 101~300 人
(21.3%)、301~1000 人(20.7%)规模企业也非常接近,如图 5 所示。
图 5 企业规模分布情况
3. 团队大小分布情况。现在提倡敏捷开发模式,团队人数相对比较少,10~20 人这样的
团队最多,占到三分之一,少于 20 人的团队超过一半(50.9%)。但让我们惊奇的是,超
过 50 人的团队,居然也接近四分之一,如图 6 所示。
图 6 团队大小分布情况
为什么会有四分之一的团队有这么大的团队?即使经过交叉分析,也没发现什么规
律,即使团队采用敏捷 Scrum 开发模式,团队多于 20 人的占一半,有 23.7%的团队超过 50
人,而采用传统的瀑布模型、V 模型的团队,大于 20 人的团队占到 52%,只高了 2%;大于
50 人的团队占到 25.3%,比 Scrum 团队多出 1.6%,没有显著区分。相对来说,采用
BDD/FDD/XP/Lean 的团队,敏捷特征更显著些。
是不是 Scrum 模式用得比较混乱?
5
版权所有ã2021
图 7 团队大小与团队开发模式交叉分析结果
4. 团队采用的开发模式情况。毋庸置疑,敏捷已成为主导开发模式,各种敏捷开发模式
占 28.6,加上偏敏捷的自定义开发模式,合计近 60%,如图 8 所示。传统模式(瀑布模式+
偏瀑布的自定义开发模式+其它传统开发模式)只占到 28.3%,不到 30%。有高达 10.7%说
不清楚采用的是何种开发模式,还有近 2%属于其它,如“伪敏捷+传统混合”、W 模型(其
实是 V 模型)、混合开发模式、定制、IPD 转型中等。虽然对一个公司来说会有多种开发
模式,不同的团队可以有不同的开发模式,但对一个团队来说,一般只有一种开发模式。
图 8 团队采用开发模式统计结果
4. 交付周期情况。上面统计结果是 60%的团队采用(偏)敏捷开发模式,按天、按周计算
交付周期的占到 56.3%,如图 9 所示,即这部分团队交付周期不会超过 1 个月,可能有
(3~4%)少数团队交付周期是 2~3 个月。根据统计,交付周期 3 个月或比 3 个月还短的
团队占到 77.6%,接近 80%,即绝大部份的团队交付周期都比较短,虽然还有 10%的团队交
付周期超过 6 个月。根据交叉分析的结果,交付周期超过 6 个月的团队主要来源于航空航
天、军工、制造业等(占了 70%),这些团队几乎全部采用传统开发模式或“说不清”。
这说明,敏捷的确会提升软件交付速度。
6
版权所有ã2021
图 9 团队产品交付周期统计结果
5. 团队所开发的产品属于哪一类,是 2B 还是 2C 呢? 2B 和 2C 产品交付方式差别很大,
从团队的角度看,产品有明确的定位,不会有两种模式共存的,有些产品会是例外,例如
腾讯会议,既可以提供给个人使用,同时也会销售给企业使用,所以这里有 7.7%的“其
他”,如图 10 所示,“2B&2C”。不过,有些同学把政府、医院、军口放在“其他”中,
但它们实际可以归为“2B”,表达为“面向机构的”产品,这样“2B”占到 50%以上。
图 10 团队采用开发模式统计结果
6. 产品形态分布情况。从图 11 可以看出,基础软件、中间件占的比重低,这也很正常,
多数公司开发软件都是服务于应用,无论是前端还是后端。在“其他”中主要填有 “整个
应用系统(含有前端和后端)”,其次是嵌入式软件、工控软件、网络产品等。
图 11 产品形态统计结果
7
版权所有ã2021
三、软件质量整体状况
1. 从调查结果看,整体质量不乐观。
近 20%的产品在线上服务发生过严重崩溃事件,如图 12 所示。通过交叉分析,如图
13 所示,互联网行业、教育、政府等行业这类问题相对严重,虽然物流快递最严重,但样
本太少,不宜成为判断的依据。一般来说,互联网行业由于大并发、大流量会发生严重崩
溃事件,而教育、政府等行业主要是由于软件质量偏低、性能测试不足等造成。从开发模
式看,如图 14 所示,敏捷开发模式(或偏敏捷开发模式)产生的严重崩溃事件相对较高,
比传统的开发模式平均高出 6%。
线上问题比较多,占了 37.1%,处在第 2 位置,这也进一步说明整体质量不佳。但最
严重的质量问题是“需求变更频繁”,高达 58.2%,但不可思议的是,航空航天、国防行
业需求变更频繁的问题高达 87.5%处在第二,仅次于物流行业(物流行业是一个新兴行
业,需求不稳定应该是常态),如图 13 所示。互联网行业处在平均水平(58.3%),算是
一个比较低的水平,低于通信、政府、教育等行业。需求最稳定行业是制造业(40%),其
次是大金融行业(50%)。另一个不可思议的事——传统或偏传统开发模式的“需求变更频
繁”(算术平均 61.8%)居然高于敏捷开发模式(53.7%)8 个百分点,如图 14 所示。这是
因为采用敏捷开发的公司相对成熟、人员素质水平偏高?开发模式说不清楚的一类团队中
需求变更频繁(一般代表落后企业)也偏高,达到 60%,算不算一个佐证?
图 12 软件产品质量整体状况
8