六大质量属性
效率=性能
测试类型:六种-XX属性转化为XX测试
产品测试车轮图
一个软件测试者要从哪些方面(测试类型)用哪些方法(测试方法)去测试产品(质量属性)的关系图
全面性与深度
稳定性测试:多并复异
性能测试:
- 系统能够正确处理新业务的最大能力,我们也称为"新建"。
- 系统能够同时正确处理的最大业务能力,我们也称为"并发"。
测试步骤
测试覆盖
一般来说,在单元测试阶段,我们会主要使用语句覆盖或分支覆盖的方式来设计测试用例;
在集成测试和系统测试阶段,我们会主要使用最小线性无关覆盖;而对其中一些特别重要的部分,使用全覆盖;对一些不那么重要的部分,使使用语句覆盖或分支覆盖。
仅保证流程图中每个路径片段能够被至少执行一次,在这种覆盖策略下得到的最少路径组合,就是最小线性无关覆盖。
归根到底,最小线性无关覆盖也只是一种策略覆盖,从覆盖的角度来说也是有遗漏的。为了让测试更有效,我们可以根据经验再补充一些测试用例,例如:
- 是否要增加一些需要覆盖的路径?
- 是否要增加一些测试数据?
- 有哪些地方是容易出问题的,是否还需要补充一些测试用例?
控制 用例粒度:测试点的拆分与组合
1.测试点:让测试点不要过粗或过细
2.策略覆盖
3.测试方式
错误推断法:通过缺陷分析
探索式测试:测试思维
基本思想CPIE模型:收集(C)、划分优先级(P)、分析调研(I)、实验(E)
避免集中在缺陷上导致对需求验证的偏离
将测试点作为测试用例进行测试(仅在探索式测试可用)
事实上,测试需要打交道的角色非常多,开发人员、测试人员、领导人员、市场人员、服务人员等。
"对人"意在强调我们在沟通时需要理解你的沟通对象,要学会换位思考,即使是同一件事情,在表达上也需要以对方能够理解的方式来表达。
🌰
需求是否可以测试?需要怎么测试?怎样才算验证通过了?
设计是否可以测试?需要怎么测试?怎样才算验证通过了?
如果你以这样的角度去阅读设计文档,除了关注它在功能上的设计实现,你还会关注它在非功能方面,如性能、可靠性、安全性、易用性、可移植性、可测试性等方面的设计考虑。
测试用例标题
推荐使用的句式:在怎样的条件下,谁,做了,怎样的事情,得到了怎样的结果
状语,主语,谓语,宾语,补语(可选)
·以条件作为用例标题;(更加适用)
·~~以参数作为用例标题。(~~多个参数情况,以参数组合为标题)
测试策略
四步测试策略制定法
1.明确质量目标
- 我们的测试目标就是让产品在发布的时候能够满足事先约定的质量目标
- 围绕产品质量目标进行刚刚好的测试
- 将目标-行为-评估形成闭环
2.进行风险分析
提前识别项目中可能存在哪些会阻塞测试的风险,然后基于风险来调整测试策略
基于风险来加强和降低测试投入
- 对高风险的部分加强测试投入。
- 对低风险的部分降低测试投入。
3.适配"产品研发流程"
4.进行"测试分层"
产品质量评估模型特质
综上,一个优秀的产品质量评估模型,应该具备如下特质:
- 多维度:能够覆盖质量评估的各个纬度,能够帮助评估者全面分析和考虑。
- 定量+定性:指标和分析相结合,能够有效避免在只有指标的情况下,被"绕"过去,变得形同虚设。
- 过程+结果:不仅评估测试的结果,还对过程进行分析和评估。
-
测试覆盖度评估:对测试范围及测试的深度与广度进行分析和评估。/需求和实现
-
测试过程评估:对测试过程和测试的投入情况来进行分析与评估。/测试用例
-
缺陷分析:对测试结果进行分析和评估。
缺陷密度是指每千行代码发现的缺陷数。
(引入阶段)对其他几类缺陷年龄,我们的期望是:
- 没有继承或历史遗留引入的缺陷。
- 没有新需求或变更引入的缺陷。
- 没有缺陷修改引入的缺陷。
按照上述测试策略,我们希望的缺陷触发因素图包含的测试方法和对应的测试内容大致为:
- 功能测试-单运行正常输入:进行基本功能测试,覆盖业务流程的基本路径测试时发现的问题。
- 功能测试-单运行边界值测试:进行配置测试时发现的问题。
- 功能测试-多运行相互作用:进行基本功能测试,覆盖业务流程的基本路径和配置测试时发现的问题
- 性能测试:进行满规格测试时发现的问题。
风险识别
识别方法
风险识别清单
风险评估:确定风险的优先级
风险评估
需求:高
设计:缺陷
流程类(涉及规范、历史类):高
风险应对
应对种类
在风险管理中,风险应对主要分为如下4种:
- 回避风险:指主动避开损失发生的可能性。
- 转移风险:指通过某种安排,将自己面临的风险全部或部分转移给其他一方。
- 减轻风险:指采取预防措施,以降低损失发生的可能性和影响程度。
- 接受风险:指自己理性或非理性地主动承担风险。
"风险应对"举例:新需求在开发过程中不断被增加
"回避风险"的做法:置之不理。
"转移风险"的做法:将新需求外包。
"减轻风险"的做法:寻求额外资源或裁剪其他优先级低的需求。
"接受风险"的做法:将新需求加入项目范围,通过加班来完成我新需求。
老功能分析
差异性分析沟通提纲
缺陷分析
进行遗留缺陷分析需要考虑的主要内容包括:
- 缺陷对用户的影响程度。
- 缺陷发生的概率。
- 缺陷风险评估和规避措施。
测试总体框架
以测试对象-测试方法-测试结果这样的方式来描述测试目标的好处是:强调了这个版本测试的要求,比数字指标更易于被测试团队理解和执行。
缺陷的改动越大,越需要尽早解决。
如果缺陷涉及需求、方案、设计,需要尽早解决。
·优先解决缺陷严重程度为"致命"和"严重"的缺陷。
缺陷回归
- 考虑回归功能范围
- 功能回归
- 自动化回归
- 先对需要多次执行的测试用例进行自动化。
- 优先自动化简单的、可靠的功能。
关于自动化率
自动化率需要与自动化工具、自动化技术和自动化平台以及研发能力匹配,不要盲目追求自动化率。
版本测试策略需要关注的所有内容
- 测试范围和计划相比的偏差。
- 本版本的测试目标。
- 需要重点关注的内容。
- 测试用例的选择。
- 测试执行顺序。
- 试探性的测试策略。
- 接收测试策略。
- 回归测试策略。
- 探索式测试策略。
- 自动化测试策略。