1. 软件测试基础- 1.3 七项测试的基本原则

关键词

覆盖(coverage)、调试(debugging)、缺陷(defect)、错误(error)、失效(failure)、质量 (quality)、质量保证(qualityassurance)、根本原因(root cause)、测试分析(test analysis)、测试依据(test basis)、测试用例(test case)、测试结束(test completion)、测 试条件(test condition)、测试控制(test control)、测试数据(test data)、测试设计(test

design)、测试执行(test execution)、测试执行进度表(test execution schedule)、测试实施 (test implementation)、测试监督(test monitoring)、测试对象(test object)、测试目标 (test objective)、测试结果参照物(test oracle)、测试计划(test planning)、测试规程 (test procedure)、测试套件(test suite)、测试(testing)、测试件(testware)、可追traceability)、确认(validation)、验证(verification)


软件测试基础的学习目标

1.1 什么是测试?

FL-1.1.1 (K1) 识别典型的测试目标

FL-1.1.2 (K2) 区分测试与调试的不同

1.2 为什么需要测试?

FL-1.2.1 (K2) 给出为什么需要测试的例子

FL-1.2.2 (K2) 描述测试与质量保证之间的关系,举例说明测试是如何提高软件质量的

FL-1.2.3 (K2) 辨别错误、缺陷和失效

FL-1.2.4 (K2) 辨别引起缺陷的根本原因及其影响

1.3 七项测试的基本原则

FL-1.3.1 (K2) 解释测试的七项基本原则

1.4 测试过程

FL-1.4.1 (K2) 解释测试过程中的环境影响

FL-1.4.2 (K2) 描述测试过程中的测试活动和各自的任务

FL-1.4.3 (K2) 区分用于支持测试过程的工作产品

FL-1.4.4 (K2) 解释在测试依据和测试工作产品之间保持可追溯性的价值

1.5 测试的心理学

FL-1.5.1 (K1) 识别影响测试成功与否的心理因素

FL-1.5.2 (K2) 解释测试活动所需的思维方式和开发活动所需的思维方式之间的差异


1.3.七项测试的基本原则

原则一 测试说明缺陷的存在,而不能说明缺陷不存在

测试可以证明存在缺陷,但不能证明不存在的缺陷。测试降低了软件中存在未发现缺陷的可能性,但即使没有发现缺陷,测试也无法证明其对象的正确性。

原则二 穷尽测试是不可能的

进行穷尽测试(输入和前提条件的所有组合)是不可行的,除非是小型的案例。应利用风险分析、测试技术和优先级确定测试工作量,而不是试图进行穷尽测试。

原则三 测试的尽早介入可以节省时间和成本

为了尽早发现缺陷,应该在软件开发生命周期尽早启动静态和动态测试活动。测试的尽早介入有时被称为测试的左移。在软件开发生命周期的早期进行测试有助于减少或消除代价高昂的变更。

原则四 缺陷的群集效应

少数模块通常包含了大部分在发布前测试中发现的缺陷,或者是造成大部分运行失效的原因。预测的缺陷集群和在测试或操作中实际观察到的缺陷集群,应该作为风险分析的重要输入,并用来集中测试工作量。

原则五 杀虫剂悖论

如果多次重复同样的测试,最终这些测试将不再能够发现任何新的缺陷。为了发现新的缺陷,可能需要更改现有的测试用例和测试数据,并且可能需要编写新的测试。(测试不再能有效的发现缺陷,就像杀虫剂在一段时间后对杀死昆虫不再有效一样)。但是在某些情况下,杀虫剂悖论也有好处,例如在自动化回归测试中,发现的回归缺陷数量相对较少。

原则六 测试活动依赖于测试周境

测试在不同周境下是不同的。比如,安全关键工业控制软件的测试不同于电子商务移动应用。另一个例子,在敏捷项目中进行的测试不同于在顺序生命周期项目中进行的测试。

原则七  不存在缺陷的谬论

有些组织期望测试员能够运行所有可能的测试并发现所有可能的缺陷,但是原则一和原则二分别告诉了我们这是不可能的。另外,期望仅仅发现并修复大量缺陷就能保证系统的成功,这是一个谬论(即错误的信念)。例如,穷尽测试所有指定的需求并修复发现的所有缺陷,仍然可能会产生一个难以使用,或无法满足用户需求和期望,或与其他竞争产品相比更差的系统。

你可能感兴趣的:(ISTQB,基础级大纲2018版)