软件质量重要吗?
极客时间编辑部
讲述:丁婵大小:6.22M时长:04:32
你好,欢迎收听极客视点。
质量和测试
测试是软件开发生命周期中一个小小的环节,我们把目光聚焦到测试这个环节,只关注进入测试这个阶段的输入和产出,就会遇到测试轮次很多、开发周期变长、上线质量不满意等问题。测试承受了很多本不该它承受的期望和压力。
软件质量需要我们去关注周期中的所有环节,需求阶段要有相对高质量的输出,设计阶段要有相对高质量输出,框架和开发阶段要有相对高质量输出,测试阶段也需要有相对高质量的输出,包括上线后的运维和运营也都需要有相对高质量的输出。
把眼光从测试这个职能竖井中挪出来,放到软件质量上之后,思考问题的方式和维度由点转到了线上,会发现还有很多东西需要我们去拓展。需求要测试、设计要测试、框架和开发要测试、运维和运营也需要测试,瞬间就拓宽了我们的职业广度,未来也就有了更多的可能性。
质量管理的 3 个层次
我将软件质量管理分为 3 个层次。
一是用纯管理的方式去管理软件质量,如 CMMI、PMP 等管理方法论。这种方式使得团队每天都要进行大量的业务测试,被业务和项目进度推着走,无暇引进高阶的技术,其中就包括了测试相关的自动化技术等等。在创业公司和以业务驱动的大厂项目中,普遍存在用纯管理的方式来管理软件质量的情况。
而当公司发展到下一个阶段,就会发现再怎么增加人, 软件开发的效率和周期都得不到明显的改善,产品也在进行着平台化,架构也越来越复杂。** 这时“技术 + 管理”的软件质量管理方式就该登场了。** 我们会引入代码扫描(SonarQube)、持续集成(Jenkins)、自动化测试(语言相关的各种测试框架)、专项测试工具(Jmeter)、资源监控 & 瓶颈发现(prometheus + grafana)等,甚至自研工具、框架来满足产品的发展需求。在管理方面,可以引入测试左移、测试右移、质量效能等理念。大多数公司,软件质量管理做到这个阶段,就已经非常不错了。
在此之上,还有一种方式是用纯技术的能力和方式来管理软件质量。通常,这种情况会来自 Google、Facebook 等硅谷大厂。要用纯技术的方式来管理软件质量,需要具备两个前提:一是有完善的基础设施支持,比如几分钟内搭建起一套开发、测试环境等等;二是大家都有较高的职业素养,每个人都能很好地完成自己的部分,甚至去帮助别人完成。在这个阶段,质量能力都被技术化、服务化、自助化。
软件质量和技术债
当今的软件行业,都在追求唯快不破。因为“快”决定着生死,尤其对创业公司而言,每天做的事就是为了生存而战斗。质量是软件在解决生死问题之上的高级需求,同时软件质量没法在直观上被感知。
在大部分的场景中,我们需要先解决生死问题和温饱问题,在这个前提下,可以适当引入技术债,适当降低质量要求,进行快速试错、快速收集用户的反馈、快速迭代向前。质量是可以被妥协的,质量要求需要先服务于公司所处的阶段和当前的产品战略。
软件质量重要吗
通俗点讲。“老板说质量重要,质量就重要,不重要也重要;老板说质量不重要,就不重要,重要也不重要。”
质量在老板心中的地位由当前公司所处的阶段、公司的性质等决定的。在产品竞争中,优先体现的是产品特色、亮点、功能、用户体验等,质量可能是产品竞争中的最后一张牌。当出到最后一张牌时,也就是分胜负和死活的时候了,这时候质量就会引起老板的注意。
以上就是行云对软件质量的理解,也欢迎你在评论区留言一起探讨。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
该免费文章来自《极客视点》,如需阅读全部文章,
请先领取课程
请先领取课程
免费领取
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- 张有道理,快速迭代,先站住坑,先保主要功能正常,再迭代优化,才有可能站住再发展壮大1
- 秋水东行短期不重要,长期极其重要
收起评论