《海盗版测试分析》- 读书笔记
- 1. 优秀测试人是tester而不是checker;好的测试分析和测试设计活动不是一次性而是应该迭代进行的活动。
- 2. 测试时,要了解了解测试任务(KYM)
- 3. 在需要了解测试的整体范围时或对被测对象还不熟悉而想快速了解它时,可以使用测试覆盖大纲(TCO)
- 4. 对在整体还比较了解但是对细节并不是很了解,可以对被测对象用 Model 表示内在的逻辑关系
- 5. "TEST Heuristics"关注触发词语(Triggers)、抓住核心功能(Essentials)、尝试不同特征(Spanning Differnces)、围绕既定目标(Target)
1. 优秀测试人是tester而不是checker;好的测试分析和测试设计活动不是一次性而是应该迭代进行的活动。
优秀的测试人:优秀的测试人在测试的 TS(测试策略)-TA(测试分析)-TS(测试执行)测试反馈环中的能力缺一不可。
- 测试是高度智力投入的探索性很强的过程。
- 测试分析的挑战在于有限的时间和资源条件下,从无限多的可能中挑选出right test ideas。
- 测试人员在测试分析中,需要对被测对象十分了解,并具有探索性测试能力和观察能力,
- 当我们测试分析遇到难题时,要颇费心思地思考一番,假若仍然想不透或者想明白了但是不能完整表达出来的程度时,可以再寻求帮助,这样有利于提高测试分析能力。
好的测试分析的测试广度和测试深度较好,
- 测试的广度体现了测试点的覆盖情况,
- 测试的深度是对某个测试点的测试深入程度,bug的发现和测试深度紧密相关;
2. 测试时,要了解了解测试任务(KYM)
KYM含义:KYM就像航海中的灯塔一样,时刻帮助测试人员辨别方向。KYM主要收集用户、项目和产品信息,可以识别本次的任务(包括主题、范围和目的)。
KYM步骤:
- 了解清楚任务本身以及任务的背景,并明确最终的目的,
- 然后开始考虑是怎么样和怎么做,
- 在执行任务中不停地深入理解为什么要怎样做,
- 不断迭代和优化使得最终我们输出的和任务目标始终是一致的。
KYM意义:促进了测试人员和开发人员的沟通,及时获取有价值的信息,提前发现风险所在。在了解测试任务要贯穿于始终,不是一次性的行为,要把握主干、忽略细节。
3. 在需要了解测试的整体范围时或对被测对象还不熟悉而想快速了解它时,可以使用测试覆盖大纲(TCO)
TCO含义:TCO是开展预防性测试很好的一个手段,可以边探索边绘制一张测试覆盖地图,了解都有哪些分支需要或可以去探索。
TCO步骤(可以根据 MFQ 的思路画TCO):
- 首先提取有用的信息,
- 然后将所提取出的价值信息进行结有效重组(识别横向逻辑和纵向逻辑),
- 将信息进行有效地归纳,
- 并对信息源中没有的数据进行添加,
- 不断迭代使输出的和实际需求含义是始终一致的。
TCO意义:可以帮助达到的目的:信息提炼、信息重组、心里有数
4. 对在整体还比较了解但是对细节并不是很了解,可以对被测对象用 Model 表示内在的逻辑关系
测试条件代(PPDCS)表了要对单功能进行测试的一些基本的测试场景,测试条件的描述可以借鉴Given-When-Then的模式画Model的过程让我们想到更多的test ideas。
Model含义:画model的过程就是测试分析的过程,画Model的目的是为了覆盖需求(单功能),设计测试条件(PPDCS)的目的就是为了覆盖Model(模型)。
PPDCS含义:PPDCS面对各具特征的对象,面对种类繁多的城市分析分发,使用了PPDCS解决里“更有效地选取合适的测试技术来建模。
PPDCS包括:P-Process流程,P-Parameter参数,D-data数据,C-Combination组合、S-State状态
PPDCS选取:
- 一般选取PPDCS时,会先过滤C,而只考虑其他4种PPDS。
- 具体来说,就是用“逻辑倾听”的方式寻找需求中与“流程(Sequence)、规则(Rules)、数据(Data)、状态(State)”。
5. "TEST Heuristics"关注触发词语(Triggers)、抓住核心功能(Essentials)、尝试不同特征(Spanning Differnces)、围绕既定目标(Target)
Triggers
-
IF倾听到名字( Names-可以是人、物、时间、地点等),THEN有可能是Data (数据) Triggers。
-
IF倾听到一串名字和动作(Lstof Names and Acioms),THEN有可能是Rules (规则)成Srates (状态) Triggers;
-
IF倾听到一系列事件(SequenceofEvens), THEN 有可能是Scquence流程)Triggers。
Essential:
- 当我们值关注核心(Essential)信息时,更容易识别PPDCS的主导特征,
- 当然随着测试分析和测试设计过程的深入,或者当我们向其他人讲述我们理解的需求时,我们会从这些核心功能(Essentials)开始逐步扩展,抓住核心的功能,蒸馏信息并忽略干扰。
Spanning Dfferences:
- Spanning Dfferences指测试分析的时候跨越(涵盖)多个不同关键点,分别以不同的特征为基础建模,然后比较一下这些模型之间的差异。
- 应用Spanning Difrences这个Heuristic, 针对同个单功能,尝试用P. P. D.C.C.S 每一种特征去建模,可以快速地学习和提升。