即覆盖测试用例
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
17
逻辑覆盖(4)
5. 多重条件覆盖
多重条件覆盖源自文库是设计足够的测试用例,当运行 被测试的程序时,保证每个判断的所有可能的条件取 值组合至少执行一次。
6. 路径测试 路径测试就是设计足够的测试用例,覆盖程序中 所有可能的路径,即使程序中每一条可能的路径至少 执行一次。
2. 对所有的逻辑判定,取“真”与取“假”的两种情
况都至少测试一次;
13
白盒测试的原理
3. 在上下边界及可操作范围内运行所有循环;
4. 测试内部数据结构的有效性。
白盒测试的测试方法有代码检查法、逻辑覆盖法 、静态结构分析法、域测试、静态质量度量法、基本 路径测试法、符号测试、程序变异等。 白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和 基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆 盖、条件覆盖、判定 / 条件覆盖、条件组合覆盖和路 径覆盖等。
16
逻辑覆盖(3)
3. 条件覆盖 条件覆盖就是设计若干个测试用例,当运行被测 试的程序时,保证程序中每个判断的每个条件的可能 取值至少执行一次,即每个判定的每个条件应取到各 种可能的值。 4. 判定-条件覆盖 判定-条件覆盖就是设计足够的测试用例,使得 判断中每个条件的所有可能取值至少执行一次,同时 每个判断本身的所有可能判断结果至少执行一次,即 是要求各个判断的所有可能的条件取值组合至少执行 一次。
9
测试的原则
1. 开发人员和开发组织应当避免测试自己的程序 2. 应尽早地和不断地进行软件测试 3. 对测试用例要有正确的态度 4. 充分注意测试中的群集现象
5. 应当对每一个测试结果进行全面检查
6. 严格执行测试计划,排除测试的随意性,避免
发生错误或者重复无效的工作
7. 妥善保存测试用例、测试计划、测试报告和最
1. 测试不仅仅是为了发现错误。通过分析错误产 生的原因和发生趋势,可以帮助开发人员发现软件过 程中的缺陷,并加以改进;
2. 对测试结果的分析能够帮助测试人员设计出更 具有针对性的测试方法,改善测试的效率和有效性;
3. 没有发现错误的测试也是有价值的,它也是保 证软件质量的一种方法。
8
测试的内容
软件测试就是利用测试工具按照测试方案对产品 功能和性能测试,并对测试方案中可能出现的问题进 行分析和评估。测试工作的主要内容是验证 (Verification)和确认(Validation )。 验证是保证软件正确地实现了一些特定功能的一 系列活动,即保证软件做了你所期望的事情。 确认是一系列的活动和过程,目的是想证实在一 个给定的外部环境中软件的逻辑正确性,即保证软件 以正确的方式来做了这个事件。
2
会泽百家 至公天下
第11章 软件测试
11.1 11.2 11.3 11.4 11.5 11.6 11.7 软件测试的基本概念 白盒测试 黑盒测试 单元测试 集成测试 确认测试 面向对象的软件测试
3
11.1 软件测试的基本概念
11.1.1 软件的故障和失效
11.1.2 软件测试的概念
11.1.3 测试的内容和原则 11.1.4 软件测试的划分
终分析报告,以备回归测试及维护之用
10
软件测试的划分
( 1 )从是否执行程序的角度划分,可以分为静 态测试和动态测试。 ( 2 )从是否关心软件内部结构和具体实现的角 度划分,可以分为白盒测试、黑盒测试和灰盒测试。 ( 3 )从软件开发的过程阶段划分有,可以分为 单元测试、集成测试、确认测试等。
11
4
故障和失效的原因
软件系统的失效可能是由下面的一些原因造成
的:
1. 规约可能不正确或者遗漏了某些需求,也就是 需求规约可能没有准确地陈述客户想要的或需要的。 2. 对于指定的软硬件,需求规约中可能包含不可 能实现的内容。
3. 系统设计中可能包含故障,比如数据库和查询 语言的设计不可能对用户进行授权。
软 件 学 院
国家精品课程 国家精品资源共享课程 中国大学资源共享课程
高级软件工程
李 彤 博士
2013
1
版权申明
本课程的全部课件经著作权人授权,免费 在中华人民共和国境内普通高等学校用于与 《软件工程概论》(李彤、王炜、郁湧编著, 科学出版社2012年版)相配套的教学活动。超 出本范围将违反中华人民共和国法律,必受追 究!
5
故障和失效的原因
4. 程序设计中可能包含故障。比如,构件描述中 包含不能够正确处理这种情况的访问控制算法。 5. 程序代码出现错误或者不完整。 软件系统中的故障一般包括如下几种: 1. 算法故障 3. 文档故障 2. 计算故障和精度故障 4. 能力故障或边界故障
5. 吞吐量故障或性能故障
6
软件测试的概念(1)
14
逻辑覆盖(1)
逻辑覆盖就是以程序内部的逻辑结构为基础来设 计测试用例的白盒测试技术。它要求测试人员对程序 的逻辑结构有清楚的了解,甚至要能掌握源程序的所
有细节。由于覆盖测试的目标不同,逻辑覆盖又可分
为:语句覆盖、判定覆盖、判定-条件覆盖、条件组
合覆盖及路径覆盖。
15
逻辑覆盖(2)
1. 语句覆盖 语句覆盖又称为点覆盖,就是设计若干个测试用 例,当运行被测试的程序时,保证每一可执行语句至 少执行一次。 2. 判定覆盖 判定覆盖又称为分支覆盖,就是设计若干个测试 用例,当运行被测试的程序时,保证程序中每个判断 的取真分支和取假分支至少经历一次。
大多数测试专业人员都赞同 Grenford J.Myers对
测试的定义:“测试是为发现错误而执行程序的过
程。”并且 Myers还认为“好的测试方案是极可能发
现迄今为止尚未发现的错误的测试方案”,“成功的
测试是发现了至今为止尚未发现的错误的测试”。
7
软件测试的概念(2)
但是发现错误不是软件测试的唯一目的,这是因 为:
11.2 白盒测试
11.2.1 白盒测试的原理 11.2.2 逻辑覆盖
11.2.3 基本路径测试法
12
白盒测试的原理
白盒测试也称结构测试或逻辑驱动测试,它是按 照程序内部的结构测试程序,通过测试来检测产品内 部动作是否按照设计规约的规定正常进行,检验程序 中的每条通路是否都能按预定要求正确工作。 软件人员使用白盒测试方法,主要对程序模块进 行如下的检查: 1. 保证一个模块中的所有独立路径至少被使用一次;
逻辑覆盖(4)
5. 多重条件覆盖
多重条件覆盖源自文库是设计足够的测试用例,当运行 被测试的程序时,保证每个判断的所有可能的条件取 值组合至少执行一次。
6. 路径测试 路径测试就是设计足够的测试用例,覆盖程序中 所有可能的路径,即使程序中每一条可能的路径至少 执行一次。
2. 对所有的逻辑判定,取“真”与取“假”的两种情
况都至少测试一次;
13
白盒测试的原理
3. 在上下边界及可操作范围内运行所有循环;
4. 测试内部数据结构的有效性。
白盒测试的测试方法有代码检查法、逻辑覆盖法 、静态结构分析法、域测试、静态质量度量法、基本 路径测试法、符号测试、程序变异等。 白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和 基本路径测试。其中逻辑覆盖包括语句覆盖、判定覆 盖、条件覆盖、判定 / 条件覆盖、条件组合覆盖和路 径覆盖等。
16
逻辑覆盖(3)
3. 条件覆盖 条件覆盖就是设计若干个测试用例,当运行被测 试的程序时,保证程序中每个判断的每个条件的可能 取值至少执行一次,即每个判定的每个条件应取到各 种可能的值。 4. 判定-条件覆盖 判定-条件覆盖就是设计足够的测试用例,使得 判断中每个条件的所有可能取值至少执行一次,同时 每个判断本身的所有可能判断结果至少执行一次,即 是要求各个判断的所有可能的条件取值组合至少执行 一次。
9
测试的原则
1. 开发人员和开发组织应当避免测试自己的程序 2. 应尽早地和不断地进行软件测试 3. 对测试用例要有正确的态度 4. 充分注意测试中的群集现象
5. 应当对每一个测试结果进行全面检查
6. 严格执行测试计划,排除测试的随意性,避免
发生错误或者重复无效的工作
7. 妥善保存测试用例、测试计划、测试报告和最
1. 测试不仅仅是为了发现错误。通过分析错误产 生的原因和发生趋势,可以帮助开发人员发现软件过 程中的缺陷,并加以改进;
2. 对测试结果的分析能够帮助测试人员设计出更 具有针对性的测试方法,改善测试的效率和有效性;
3. 没有发现错误的测试也是有价值的,它也是保 证软件质量的一种方法。
8
测试的内容
软件测试就是利用测试工具按照测试方案对产品 功能和性能测试,并对测试方案中可能出现的问题进 行分析和评估。测试工作的主要内容是验证 (Verification)和确认(Validation )。 验证是保证软件正确地实现了一些特定功能的一 系列活动,即保证软件做了你所期望的事情。 确认是一系列的活动和过程,目的是想证实在一 个给定的外部环境中软件的逻辑正确性,即保证软件 以正确的方式来做了这个事件。
2
会泽百家 至公天下
第11章 软件测试
11.1 11.2 11.3 11.4 11.5 11.6 11.7 软件测试的基本概念 白盒测试 黑盒测试 单元测试 集成测试 确认测试 面向对象的软件测试
3
11.1 软件测试的基本概念
11.1.1 软件的故障和失效
11.1.2 软件测试的概念
11.1.3 测试的内容和原则 11.1.4 软件测试的划分
终分析报告,以备回归测试及维护之用
10
软件测试的划分
( 1 )从是否执行程序的角度划分,可以分为静 态测试和动态测试。 ( 2 )从是否关心软件内部结构和具体实现的角 度划分,可以分为白盒测试、黑盒测试和灰盒测试。 ( 3 )从软件开发的过程阶段划分有,可以分为 单元测试、集成测试、确认测试等。
11
4
故障和失效的原因
软件系统的失效可能是由下面的一些原因造成
的:
1. 规约可能不正确或者遗漏了某些需求,也就是 需求规约可能没有准确地陈述客户想要的或需要的。 2. 对于指定的软硬件,需求规约中可能包含不可 能实现的内容。
3. 系统设计中可能包含故障,比如数据库和查询 语言的设计不可能对用户进行授权。
软 件 学 院
国家精品课程 国家精品资源共享课程 中国大学资源共享课程
高级软件工程
李 彤 博士
2013
1
版权申明
本课程的全部课件经著作权人授权,免费 在中华人民共和国境内普通高等学校用于与 《软件工程概论》(李彤、王炜、郁湧编著, 科学出版社2012年版)相配套的教学活动。超 出本范围将违反中华人民共和国法律,必受追 究!
5
故障和失效的原因
4. 程序设计中可能包含故障。比如,构件描述中 包含不能够正确处理这种情况的访问控制算法。 5. 程序代码出现错误或者不完整。 软件系统中的故障一般包括如下几种: 1. 算法故障 3. 文档故障 2. 计算故障和精度故障 4. 能力故障或边界故障
5. 吞吐量故障或性能故障
6
软件测试的概念(1)
14
逻辑覆盖(1)
逻辑覆盖就是以程序内部的逻辑结构为基础来设 计测试用例的白盒测试技术。它要求测试人员对程序 的逻辑结构有清楚的了解,甚至要能掌握源程序的所
有细节。由于覆盖测试的目标不同,逻辑覆盖又可分
为:语句覆盖、判定覆盖、判定-条件覆盖、条件组
合覆盖及路径覆盖。
15
逻辑覆盖(2)
1. 语句覆盖 语句覆盖又称为点覆盖,就是设计若干个测试用 例,当运行被测试的程序时,保证每一可执行语句至 少执行一次。 2. 判定覆盖 判定覆盖又称为分支覆盖,就是设计若干个测试 用例,当运行被测试的程序时,保证程序中每个判断 的取真分支和取假分支至少经历一次。
大多数测试专业人员都赞同 Grenford J.Myers对
测试的定义:“测试是为发现错误而执行程序的过
程。”并且 Myers还认为“好的测试方案是极可能发
现迄今为止尚未发现的错误的测试方案”,“成功的
测试是发现了至今为止尚未发现的错误的测试”。
7
软件测试的概念(2)
但是发现错误不是软件测试的唯一目的,这是因 为:
11.2 白盒测试
11.2.1 白盒测试的原理 11.2.2 逻辑覆盖
11.2.3 基本路径测试法
12
白盒测试的原理
白盒测试也称结构测试或逻辑驱动测试,它是按 照程序内部的结构测试程序,通过测试来检测产品内 部动作是否按照设计规约的规定正常进行,检验程序 中的每条通路是否都能按预定要求正确工作。 软件人员使用白盒测试方法,主要对程序模块进 行如下的检查: 1. 保证一个模块中的所有独立路径至少被使用一次;