真心要改进测试过程吗?
Yes,那就自己反思问题在哪里、持续改进
No, 只是做给别人看、做给领导看,那就拿一个认证
测试过程的目的是什么?
为了业务效益?
必须的
质量驱动?
成本驱动?
时间驱动?
关键还是问题驱动
是下面一个或是几个目的?
- 提高质量,以提高客户满意度
- 增加商业机会
- 更好的内部和外部声誉
- 缩短测试周期,以减少开发时间
- 更好地遵守发布日期
- 更好地降低测试/开发成本
- 获得良好的RoI(产出投入比)
- 降低缺陷成本(劣质成本 COPQ)、降低支持成本
- 减少故障管理
- 改进风险识别和管理
- 基于度量的过程控制以获得更准确的估计和预测
- 改善测试的可追溯性以支持发布决策
- 内部测试过程与外部价值目标的一致性
如何改进?
不断反思
- 每日反思、每周反思
- 每个测试阶段结束时反思
- 每个迭代结束时反思
反思自己的问题
借助批判性思维来反思
目的就是就是解决问题
首先就是发现问题
发现一个问题解决一个问题
就得到了改进!
过程改进三部曲:发现问题、分析问题和解决问题
如何发现问题?
客户/用户的反馈
日志分析
自己团队头脑风暴
如何分析问题?
业务驱动,业务目标导向
批判性思维,质疑条件或过程
上下文驱动,如团队、技术、流程…
定性分析和定量分析结合
老工具,如直方图、分布图、因果图等
新工具,如亲和图、关联图、FMEA等
如何解决问题?
参考业界优秀实践
内部/外部培训
请外面咨询
如果要系统地过程改进?
就需要系统地认知软件测试
采用已有的认知
- PDCA
- TPI
- TMMi
- TestSPICE
- AQAM
- ATMM
- UTMM
- AQAM
- PTMM
PDCA:计划、执行、检查和采取新的措施
TPI:持续地改进关键域
- 检查点:一项一项去检查
- 建议:如何去改进
TPI 原来有21过程域,现在改为16个域

其实,它也不是测试过程改进
而是测试改进
其实,有些项属于项目管理
当然每一项前面可以加上“测试“
获得项目干系人(测试的)承诺
(测试的)估算与计划
(测试的)沟通
(测试的)报告
(测试的)度量
测试件管理(纳入配置管理)
缺陷管理
测试的组织也是开发组织的一部分
智力工作或IT组织特征都是一样的
研发团队管理是一致的
而且单独谈测试是没有意义的
有什么开发就有什么测试
测试要适当地融入整个开发的过程
从TPI来看,测试的核心就是:
- 测试策略
- 测试过程管理
- 测试方法及其实践
- 测试人员的专业性
- 测试用例设计
- 测试工具
- 测试环境
其实策略离不开计划的
策略是为了应对风险
测试过程管理核心就是定义流程
而且人是决定的因素
怎么能排到13的位置?
而从我看,就是PPT
People:测试人员能力素质的不断提升
Process:全生命周期的测试流程
我写过《全程软件测试》
Technology:测试方法和技术
包括测试分析、设计、自动化、工具、环境运维
我的《软件测试方法和技术》已经出了第3版了
如果还想进一步了解,
邀请我咨询吧
或参加我的课程
帮助您建立卓越的测试团队
构建卓越的测试流程
引入新的测试方法和技术
让MBT彻底实现测试自动化
(过去绝大部分只是半自动化)
给模糊测试、变异测试一个空间
让人工智能助力自动化
参考: