软件工程第5章:软件验证技术(网络11301)_第1页
软件工程第5章:软件验证技术(网络11301)_第2页
软件工程第5章:软件验证技术(网络11301)_第3页
软件工程第5章:软件验证技术(网络11301)_第4页
软件工程第5章:软件验证技术(网络11301)_第5页
已阅读5页,还剩92页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、软件工程1第第5 5章章 软件验证技术软件验证技术本章要点 : 软件工程2软件工程3软件工程4软件工程5软件工程6软件工程7软件工程8软件工程9软件工程10软件工程11软件工程12软件工程13软件工程14白盒测试和黑盒测试两种方法的区别黑盒测试白盒测试测试依据根据用户能看到的规范,即针对命令信息、报表等用户界面及体现它们的输入数据与输出数据之间的对应关系,特别是针对功能进行测试。根据程序的内部结构,比如语句的控制结构,模块间的控制结构,以及内部数据结构等进行测试。特 点优点能站在用户立场上测试。能对程序内的特定部位进行覆盖测试。缺点1.不能测试程序的特定部分;2.若规范有误,则无法发现,如:多

2、余的需求,等。1.无法检验程序的外部特性;2.无法对实现规范的程序内部欠缺部分进行测试。方法举例等价类划分边值分析因果图语句覆盖 判定覆盖条件覆盖 判定/条件覆盖路径覆盖 模块接口测试软件工程15软件工程16软件工程17软件工程18软件工程19软件工程20为了衡量测试的覆盖程度,需要建立一些标准,目前常用的一些覆盖标准从低到高分别是: 语句覆盖。 判定覆盖。 条件覆盖。 判定条件覆盖。 条件组合覆盖随着覆盖级别的增强,测试用例数目也急剧增大,测试费用增大。高软件工程21、语句覆盖 :选择足够的测试用例,使得程序中每个语句至少都能被执行一次。 PROCEDUREM(VAR A,B,X:REAL)

3、; BEGINIF(A1) AND (B=0) THENX:=X/A;IF (A=2)OR (X1) THENX:=X+1; END. 逻辑覆盖软件工程22、语句覆盖 :选择足够的测试用例,使得程序中每个语句至少都能被执行一次。 A=2,B=0,X=3 (ace)逻辑覆盖软件工程23、语句覆盖 :选择足够的测试用例,使得程序中每个语句至少都能被执行一次。 总结:语句覆盖实际上是很弱的 ,是很不充分的一种标准 逻辑覆盖软件工程24、判定覆盖判定覆盖 :执行足够的测试用例,使得程序中的每一个分支至少都通过一次AceAcd abe逻辑覆盖软件工程25、判定覆盖判定覆盖 :执行足够的测试用例,使得程序

4、中的每一个分支至少都通过一次A=3,B=0,X=1(acd) A=2,B=1,X=3(abe) 逻辑覆盖软件工程26、判定覆盖判定覆盖 :执行足够的测试用例,使得程序中的每一个分支至少都通过一次总结:“判定覆盖”比“语句覆盖”严格,因为如果每个分支都执行过了,则每个语句也就执行过了。但是,“判定覆盖”还是很不够的,例如上面两个测试用例未能检查沿着路径abd执行时,X的值是否保持不变。逻辑覆盖软件工程27、条件覆盖条件覆盖 :执行足够的测试用例,使得判定中的每个条件获得各种可能的结果 点 a: A1、A1、B=0、B0 点b: A=2、A2、X1、X1 逻辑覆盖路径A: A=2 B=0 X=4

5、ace路径B: A=1 B=1 X=1 abd软件工程28、条件覆盖条件覆盖 :执行足够的测试用例,使得判定中的每个条件获得各种可能的结果 A=2,B=0,X=4(ace) A=1,B=1,X=1 (abd)逻辑覆盖软件工程29分析:“条件覆盖”通常比“判定覆盖”强,因为它使一个判定中的每一个条件都取到了两个不同的结果,而判定覆盖则不保证这一点 、条件覆盖条件覆盖 :执行足够的测试用例,使得判定中的每个条件获得各种可能的结果 逻辑覆盖软件工程304、判定判定/条件覆盖条件覆盖 :执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果点a: A1、A1、B=0、B

6、0 点b: A=2、A2、X1、X1 逻辑覆盖路径A: A=2 B=0 X=4 ace路径B: A=1 B=1 X=1 abd软件工程314、判定判定/条件覆盖条件覆盖 :执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果 A=2,B=0,X=4(ace) A=1,B=1,X=1 (abd) 逻辑覆盖软件工程32分析:“条件覆盖”通常比“判定覆盖”强,因为它使一个判定中的每一个条件都取到了两个不同的结果,而判定覆盖则不保证这一点 4、判定判定/条件覆盖条件覆盖 :执行足够的测试用例,使得判定中每个条件取到各种可能的值,并使每个判定取到各种可能的结果 逻辑覆盖

7、软件工程335、条件组合覆盖条件组合覆盖 :执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。显然,满足“条件组合覆盖”的测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”的。 1)A1, B=0 2) A1, B 0 3) A1, B=0 4) A1, B0 5) A=2, X1 6) A=2,X1 7) A2, X1 8) A2, X1 逻辑覆盖软件工程345、条件组合覆盖条件组合覆盖 :执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。显然,满足“条件组合覆盖”的测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”的。 1)A1, B

8、=0 2) A1, B 0 3) A1, B=0 4) A1, B0 5) A=2, X1 6) A=2,X1 7) A2, X1 8) A2, X1 1) A=2,B=0,X=4使 1)、5)两种情况出现;2) A=2,B=1,X=1使 2)、6)两种情况出现 3) A=1,B=0,X=2使 3)、7)两种情况出现; 4) A=1,B=1,X=1使 4)、8)两种情况出现。 软件工程355、条件组合覆盖条件组合覆盖 :执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。显然,满足“条件组合覆盖”的测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”的。 1) A=2,

9、B=0,X=42) A=2,B=1,X=1软件工程365、条件组合覆盖条件组合覆盖 :执行足够的例子,使得每个判定中条件的各种可能组合都至少出现一次。显然,满足“条件组合覆盖”的测试用例是一定满足“判定覆盖”、“条件覆盖”和“判定/条件覆盖”的。 3) A=1,B=0,X=24) A=1,B=1,X=1软件工程37基本路 径测试法就是在程序图的基础上,通过分析环形复杂性,导出基本路径集,然后设计测试用例使路径集中每条语句至少执行一次。基本路径覆盖软件工程38基本路 径测试法步骤以详细设计结果或源程序代码为基础,导出程序图 程序图:简化的程序流程图,用圆圈代表语句或条件,用箭头代表控制流; 将符

10、合条件判定转化为单一条件判定。2. 计算程序图的环形复杂度,采用图形矩阵方法计算基本路径覆盖软件工程39基本路径测试法步骤3. 确定基本路径集:环形复杂度大小4.生成测试用例,使基本路径中的每条路径至少经过一次基本路径覆盖软件工程40案例分析A:基本路径覆盖PROCEDUREM(VAR A,B,X:REAL); BEGINIF(A1) AND (B=0) THENX:=X/A;IF (A=2)OR (X1) THENX:=X+1; END. 软件工程411 导出程序图基本路径覆盖入口入口A1B=0A=2X1X=X/AX=X+1出口出口改动后的程序流程图276543189程序图程序图软件工程42

11、2 计算程序图的环形复杂度基本路径覆盖12345678911211311415116117819112212211276543189程序图程序图图形矩阵连接权=比较个数01101100-1合计环形数合计环形数=4+1=5软件工程43确定基本路径集 每条新的基本路径至少包含一条新有向边基本路径覆盖276543189程序图程序图5条基本路径如下:路径1: 1-2-4-5-6-7路径2: 1-2-3-4-5-6-7路径3: 1-2-3-8-4-5-6-7路径4: 1-2-3-8-4-5-9-7路径5: 1-2-3-8-4-5-6-9-7软件工程444 生成测试用例基本路径覆盖276543189程序图

12、程序图路径1: 1-2-4-5-6-7 A=1 B=0 X=1 结果:X=1路径2: 1-2-3-4-5-6-7 A=3 B=1 X=1 结果:X=1路径3: 1-2-3-8-4-5-6-7 A=3 B=0 X=3 结果:X=1路径4: 1-2-3-8-4-5-9-7 A=2 B=0 X=2 结果:X=2路径5: 1-2-3-8-4-5-6-9-7 A=3 B=0 X=6 结果:X=3软件工程45软件工程46软件工程47软件工程48软件工程49软件工程50软件工程51软件工程52软件工程53软件工程54输入条件有效等价类无效等价类标识符首字符以字母开头以下划线开头以非字符号、下划线开头标识符组

13、成不是保留字由字母数字或下划线组成是保留字由非字母、非数字或非下划线构成标识符个数字符个数为1到16个字符个数为0字符个数大于16软件工程55输入条件有效等价类无效等价类标识符首字符以字母开头(1)以下划线开头(2)以非字符号、下划线开头(3)标识符组成不是保留字(4)有字母数字或下划线组成(5)是保留字(6)由非字母、非数字或非下划线构成(7)标识符个数字符个数为1到16个(8)字符个数为0(9)字符个数大于16(10)软件工程56输入条件有效等价类无效等价类标识符首字符以字母开头(1)以下划线开头(2)以非字符号、下划线开头(3)标识符组成不是保留字(4)有字母数字或下划线组成(5)是保留

14、字(6)由非字母、非数字或非下划线构成(7)标识符个数字符个数为1到16个(8)字符个数为0(9)字符个数大于16(10)软件工程57输入条件有效等价类无效等价类标识符首字符以字母开头(1)以下划线开头(2)以非字符号、下划线开头(3)标识符组成不是保留字(4)有字母数字或下划线组成(5)是保留字(6)由非字母、非数字或非下划线构成(7)标识符个数字符个数为1到16个(8)字符个数为0(9)字符个数大于16(10)软件工程58软件工程59软件工程60软件工程61软件工程62软件工程63软件工程64软件工程65一一对应关系:原因出现,则结果出现反之亦然否定关系:原因出现,则结果不出现.原因不出现

15、,结果出现选择关系:若几个原因中有一个出现,则结果出现;当原因都不出现是,结果才不出现并列关系:原因同时出现,则结果出现,否则有一个不出现,则结果不出现.软件工程66a、b两个原因不会同时成立,最多只有一个可能成立a、b、c三个原因至少有一个必须成立a、b必须一个且只有一个成立a、b必须同时出现A是1时b必须是0,a是0时,b的值不定软件工程67软件工程68软件工程69软件工程70软件工程71软件工程72软件工程73软件工程74软件工程75软件工程76软件工程77软件工程78软件工程79软件工程80软件工程81软件工程82软件工程83软件工程84软件工程85软件工程86“软件设计国家标准GB

16、8567-88”测试计划的大纲 引言1.1 目的说明了编写本测试计划的目的,指出预期的读者.1.2 背景列出本项目的任务提出者、项目负责人、系统分析员、系统设计员、程序设计员、程序员、资料员以及与本项目开展工作有直接关系的人员和用户1.3 参考资料列出本项目经核准的任务书或合同以及上级机关的批文;列出编写本测试计划时参考的文件、资料以及他们的作者、标题、编号、发布日期和出版单位等,包括所需要用到的软件开发标准。软件工程87“软件设计国家标准GB 8567-88”测试计划的大纲 1.4 术语列出本测试计划中专门术语的定义及英文塑写次的原词组。2.测试计划2.1 软件说明提供一份图表,并逐项说明被

17、测软件的功能、输入和输出等质量指标,作为叙述测试计划的提纲2.2测试的内容列出每一列测试内容的名称、进度安排及测试的内容和目的.一般包括以下几项(可以用表格形式说明)A.模块功能测试(包括全部选件测试);B.软件接口正确性测试;软件工程88“软件设计国家标准GB 8567-88”测试计划的大纲 C.用户截面正确性测试D.数据文件存取测试;E.运行时间测试;F.设计约束测试.2.3 测试准备说明在开始执行本测试之前必须完成的各项工作,如测试用例、应完成的文档、源程序等。2.4 测试主管机构说明测试机构负责人及权限与职责3. 测试内容说明软件工程89“软件设计国家标准GB 8567-88”测试计划

18、的大纲 3. 测试内容说明列出集成测试和验收测试中的每一项测试内容的名称、这些测试的进度安排以及这些测试的内容和目的,例如摸块功能测试、接口正确性测试、数据文卷存取的测试、运行时间的测试、设计约束和极限的测试等。3.1 测试名称给出第n个测试的名称(n为测试序号)3.2 测试进度给出测试的日期和工作内容的详细安排,说明测试的进度和次序。3.3 测试软件说明测试需用的测试软件,如测试驱动程序、测试监控程序和摸拟程序等。软件工程90“软件设计国家标准GB 8567-88”测试计划的大纲 3.4 测试环境说明测试所在计算机运行环境,包括计算机型号、内存要求、外围设备、终端的数量及预计的使用时间。3.

19、5 专用工具说明测试用到的全部软硬件工具3.6 测试人员列出测试负责人和所有参加测试的单位及负责人,说明整个测试其间对人员数量、技术水平的要求,其中包括一些特殊要求,如倒班工作和数据录入人员等。软件工程91“软件设计国家标准GB 8567-88”测试计划的大纲 3.7 测试资料列出测试所需要的资料,如:有关本项任务的文档;被测试程序列表及存储介质;测试的输入和输出的举例;有关控制次项测试的方法、过程的图表3.8 测试用例A.控制方式:说明对测试用例的控制方式,如输入是人工、半自动或自动引入,操作顺序,结果记录等B.输入数据:说明测试使用的输入数据;软件工程92“软件设计国家标准GB 8567-

20、88”测试计划的大纲 C.输出结果:说明期望输出结果、输出格式及可能产生的中间信息。D.测试步骤:说明测试的步骤,包括测试的准备、初始化、中间步骤及结束方式等4. 注释以上个部分中没有规定但与有关的信息都可以放入注释部分.如:偏差标准的统计判断、数学模型、对计算机硬件或操作系统的说明以及精度数据的附加说明等.5.评价5.1 评价范围说明所选择的测试用例能够检查的范围和局限性软件工程93“软件设计国家标准GB 8567-88”测试计划的大纲 5.2 评价准则说明用来判断测试工作是否能通过的评价尺度,如合理的输出结构的类型、测试输出结果与预期输出中间的容许偏离范围、允许中断或停机的最大次数.5.3 数据整理说明如何把测试结果加工成便于评价的适当形式,说明将测试结果同期望结果进行比较所用到的转换处理技术,如手工方式或自动方式;如果是用自动方式整理数据,还要说明为进行处理而要用到的硬件、软件资源.6. 附录列出测试用例清单,分别标志每个测试用例并给出驱动程序清单等.软件工程94“软件设计国家标准GB 8567-88”测试分析报告的大纲 引言1.1 目的说明编写本测试报告的目的1.2 测试背

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论