通过阅读了《测试架构师修炼之道》这本书,能感觉出作者对测试有较系统的认识,写本书也很用心,在此摘抄一些对自己有用的内容,后续如果有时间,可以做成系列课程,在部门内讲解。
首先,我们要了解软件测试的工作内容包含哪些?
该书作者给我们提供了如下几个思路:
1)测试技术管理:主要制定软件测试策略、识别并解决测试过程中风险、测试质量评估
2)测试项目管理:与上述职责类似,多了人员规划方面的管理
3)测试质量管理:测试技术管理中包含了测试质量评估,可以往往需要单独的人员完成这项工作;除此之外还可以制定测试模型与测试过程监督。
称“软件测试”是一种“质量”活动,是没问题的,因为“质量管理是满足需求”,“软件测试是验证软件是否能够满足用户的需求”。但是,我们不能认为“质量”活动就是“软件测试”。“质量”并不是软件领域独有的,早在工业革命时期,“质量”就开始发展了。当时的质量叫质量检验(QI),就是关注“产品能否符合工厂制定的标准”。随着社会生产力的发展,产品生产环境、生产能力的提升,质量也有了新的定义。“质量控制(QC)”的提出,标志着开始从用户的角度来评价质量。在ISO9000(1986,1994)中,又进一步发展为“质量控制(QA)”,“质量使设计出来的”“质量就是满足用户的需求”,“客户满意度”成为新的质量发展方向。现在,质量进一步发展为“卓越运营”,质量已经被提到了企业战略的角度,“质量管理”也成了现代企业管理中非常重要的一个环节。
从上面这段论述中可以看出,“质量”是贯穿产品全过程的大质量,而软件测试关注的是“产品质量”的小质量。对企业而言,“产品质量”只是质量管理中的一个方面,除此之外,质量管理还需关注“交付质量”和“经营质量”,最终目标是要达成“卓越运营”。
既然软件测试可以认为是质量领用的一个子集,软件测试自然也适合在质量领域发展,主要参考方向如下:
1.产品流程设计:负责企业在产品开发、市场、交付等全流程体系建设,如IPD;
2.企业质量管理者:
质量大师朱兰把“质量策划”、“质量控制”和“质量改进”称为质量管理三部曲。每一个步骤的具体含义如下:
质量策划:致力于制定质量目标并规定必要的运行过程和相关的资源以实现质量目标;
质量控制:致力于满足质量要求;
质量改进:致力于增强满足质量要求的能力。
3.客户满意度管理专家
因为我重点关注测试质量管理,结合自己的情况,详细列举一下,关于测试质量管理中我应该做的内容:
1)了解各种软件模型和测试模型,如质量六模型(CNAS)、测试成熟度模型(TMM)、测试能力成熟度模型(TCMM)、IPD、CMMI,并对模型进行评估制定出适合测试的
2)主动学习各种先进的测试技术,以期运用至测试中,如探索式测试、自动化测试等
3)熟悉各种风险识别技术,在对测试任务进行评估时主动减轻(可能不准确)风险
4)熟悉统计与度量知识,做出适合的质量评估模型,对测试覆盖度、测试过程、缺陷进行评估,对版本质量、阶段质量进行评估。
5)当然还有职业技能,如英文、沟通等。
涉及的参考资料:
《软件测试完全指南》(Bill Hetzel著)
《系统的软件测试》Rick和Stefan著
《软件测试基础:方法与度量》Marine L.Hutcheson著
《软件测试的艺术》Glenford J.Myers著