软件质量保障思考- 历史、演化、当前、未来
一、软件质量的历史
1)质量模型的演化
https://www.cnblogs.com/Leo_wl/p/3493206.html
https://www.jianshu.com/p/d880c41f3180/
通常测试经理或者架构师评估,当前软件需要做哪些方面的测试或者质量保障。评估的依据就可以是质量模型。可以根据实际情况裁剪,但是必须考虑到所有方面。
2)软件过程模型的演化
https://blog.csdn.net/GarfieldGCat/article/details/89892771
https://blog.csdn.net/Maestro_T/article/details/106492121
https://www.cnblogs.com/IvanChen/p/4487514.html
过程质量是在软件生命周期中不同的阶段和节点加入质量验证和控制的环节。以保证软件产出的质量稳定。
V模型。
W模型

其实不论瀑布模型,V模型,还是W模型。本质上是定义软件研发过程中哪些点需要测试介入,并且介入的方式是什么。演化到CMMI和ITIL 之后,除了介入的点,还有方法和结果都一并纳入了标准化。但是这些标准都还在不断的演进。
好吧,既然已经演进到敏捷方法了。有人会问,为什么我们还要用手工测试?每次发布之后还要线上回归。我们用TDD不就行了么?终极解决方案。
问题来了,TDD的代码谁来写?如果是开发写,那要测试做什么?开发写的能覆盖所有的测试内容么?如果是测试写,目前国内的测试普遍水平有这么高么?
三、软件质量的当下(国内现状)
目前互联网企业,大量采用敏捷团队,质量保障方法也偏向Devops体系。
Devops研发体系的优势是显而易见的,快速迭代,敏捷开发。大量的版本更新和部署。带来的质量挑战就是,版本更新太快测试跟不上,线上经常出问题。
理想:https://blog.51cto.com/u_13865122/3014038
现实:https://max.book118.com/html/2021/0624/6123140144003203.shtm
当前软件质量改进的总体思想是:
1)从粗放式的发展,到精细化管理。借助大量的自动化平台(自动化测试、压测、CI/CD、监控、大盘)来提升测试的效率和质量。
2)从单点介入,到参考国际化模型Devops,质量管理融入整个研发运维过程。标准化的同时减少文档过程,提升效率。
3)从历史问题中吸取教训,不断完善当前质量保障体系。
缺点:
1)单元测试推行依然困难,单测覆盖率低。
2)黑盒自动化测试维护成本高。
3)前置和后置兜底方案复杂,标准化层度低。
4)文档和实际脱节,无法有效管控。
四、软件质量的未来
根据当前的研发体系,不断完善模型和流程。跟随软件研发过程模型的演化而演化出相适应的过程模型。
TDD是终极目标。但是目前还很难一步达到。需要测试人员和整个行业的不断发展。集成测试和全链路测试,向标准化,自动化方向发展。
浙公网安备 33010602011771号