[测试]ACC测试方法学习-Google推荐

ACC(Attribute Component Capability)分析是围绕特质、组件、能力三个维度指导计划者制定测试计划的方法,是从许多Google测试团队的最佳实践中总结出来的。本文以笔者的视角对《Google软件测试之道》介绍的ACC分析内容进行整理,围绕ACC指导原则及其三个维度进行分别说明。


ACC指导原则

(1)避免散漫的文字,推荐使用简明的列表;
(2)不必推销,测试计划不是营销文案;
(3)简洁,测试计划没有长度要求;
(4)不要把不重要的、无法执行的东西放进测试计划;
(5)渐进式的描述(Make it flow),每个部分应该是前面部分的延伸;
(6)指导计划着的思路;
(7)最终结果应该指向测试用例。
(8)做出一个不直接指导测试的计划纯粹是在浪费时间。
(9)如果测试计划没有把测试用例应该怎样执行描述得足够详细,它就没有达到预先设定的帮助测试的本义。
(10)质量不是被测试出来的,但未经测试也不可能开发出有质量的软件。
(11)只有把开发过程与测试放到一起,就像在搅拌机里混合搅拌那样,直到不能区分彼此的时候,你就得到了质量。

特质(Attribute)

特质是系统的形容词,代表产品的品质和特色,是区别于竞争对手的关键,是人们选择你的产品而不是竞争对手产品的原因。如Chrome定位的特质是快速、安全、稳定和优雅。
(1)简单:如果你不能几分钟内列举出来,说明你还没有足够理解你的产品,还不能有效地测试它;
(2)精确:确保它来自于团队已经普遍认同的文档和营销信息;
(3)变化:不必担心漏掉了什么,如果后来发现某个特质不明显,极有可能它也不怎么重要;
(4)短小:数量方面,根据系统规模,压缩精简。

组件(Component)

组件是系统的名词,是在特质被识别之后确定。组件是构建系统的模块。如在线商店的购物车和结账系统。组件是关键代码块,是测试人员要测试的主要对象。
一般来说组件很容易识别,经常出现在设计文档里,开发人员应该了解自己在编写什么组件,很容易得到组件列表;
不必担心完整性问题,整个ACC过程的要点就是快速行动,动态迭代。漏掉的特质可以再罗列组件时被发现,做能力时,又会找到遗漏的特质或组件。

能力(Capability)

能力是系统的动词,是系统在用户指令下完成的动作。事实上,这正是用户选择一个软件的原因所在。如Chrome具有渲染Web页面和播放Flash文件的能力等。
能力处于特质和组件的交点上,组件执行某种功能满足产品的一个特质,这个活动的结果就是向用户提供某种能力;
能力最重要的一个特点是它的可测试性,这是我们用主动语态来表达能力的主要原因;
能力的抽象级别存在争议,依据定义,能力不是原子动作,很多能力需要多个测试用例。在把能力转换成测试用例的时候,只会重点考察那些实际使用的测试场景。

实例

(1)增加商品到购物车:购物车(组件)在满足直观(特性)的一个能力;
(2)计算送货成本:包裹邮寄集成(组件)在满足快速和安全(特质)的一个能力;
(3)显示剩余库存:搜索(组件)在满足便利和精准(特质)的一个能力;

总结

ACC分析方法对于大中型团队中测试人员设计测试方案有着重要指导意义;对于未设置专职测试人员的小型开发团队,测试过程主要由开发者完成,ACC分析作用有限;对于有关测试内容的报告撰写者,ACC分析有助于增强报告表达力。

你可能感兴趣的:(编程开发,测试,ACC,Google)