随想曲:如何改进测试过程?

真心要改进测试过程吗?

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彻底实现测试自动化

(过去绝大部分只是半自动化)

给模糊测试、变异测试一个空间

让人工智能助力自动化

参考:

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

联系我
  • 上海市嘉定区曹安公路4800号同济大学软件学院
  • kerryzhu@vip.163.com