作者:海淀五月天
本文转自海淀五月天的知识星球:胡思乱想。文末有星球二维码,推荐加入。
最近疫情肆虐,获得了史上最长的假期和最长的在家办公时间,同时还有最长在家宅的时间,研究敏捷、devops就成了课余学习目标,同时探寻IC验证的敏捷化转型到底是个什么东西。
首先看2个术语,质量保证和质量控制(PMP第六版第八章):
管理质量(有时被称为质量保证)着眼于项目使用过程,旨在高效地执行项目过程,包括遵守和满足标准,向相关方保证最终产品可以满足他们的需求、期望和要求。
质量控制整个过程目的是在用户验收和最终交付前测试产品和服务的完整性、合规性和适用性。
知乎上有不少的科普帖看着会更明白一些。
知乎文章:质量保证、质量控制让你不再傻傻分不清楚
https://zhuanlan.zhihu.com/p/43732189
上面描述平时所做的单元测试、集成等测试都是QC的一部分,重点在找bug,关注结果,把控职责;QA关心的是过程是否符合了质量标准,每一环境是否执行到位是否可改进,监督职责。
再回头看一下IC验证做的东西是什么:
都与找bug有关,这就决定了验证与验收相挂钩,反馈周期会相对较长,属于QC部分。
前面说到QA是进行监督职责的,监督可以是人也可以是非人,只要保证每一步工作符合标准就好了,这也是敏捷的内建质量的要求,有幸看到的devops,通过自动触发的流水线保证设计工作质量,其中ut变成了重要的一环,不仅因为速度快,还因为它是TDD的极致化体现(针对特性编写测试用例,如果特性无法用测试用例表达,就将特性细分直到可以写出测试用例为止,不断重构,不断往下做,会发现重构后的测试用例大概率和产品中的类/方法一一对应(《敏捷无敌》))。
回到IC验证中可以怎么做呢?
附:专业术语解释
devops
借用development and operations的缩写,但devops是一种思维方式,同时也是一种工作方式。devops的意义是有关于分享,在整个行业中采用一种协同的方式解决问题,并加强社区建设。
PMP
Project Management Professional,美国项目管理协会Project Management Institute(PMI)发起的项目管理专业人员资格认证。
QC
Quality Control,质量控制。
QA
Quality Assurance,质量保证。
UT
Unit Test,单元测试。
TDD
Test-Driven Development,测试驱动开发。