《软件测试-逻辑覆盖的测试(共6页).docx》由会员分享,可在线阅读,更多相关《软件测试-逻辑覆盖的测试(共6页).docx(6页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上软件测试实验报告 题目:逻辑覆盖的测试 学号: 姓名: 教师: 东南大学成贤学院电子与计算机工程学院2017年 10月 13 日方案30%设计30%文字表述20%分析与总结20%总分实验题目1、 实验内容 为以下流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合条件覆盖和路径覆盖。2、 实验目的与要求为流程图所示的程序段设计一组测试用例,要求分别满足语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合条件覆盖和路径覆盖。3、 实验环境操作系统:win10测试工具:VS2010测试语言:C+4、 设计思路分析(包括需求分析、
2、整体设计思路、概要设计)语句覆盖的公式:语句覆盖率=被评价到的语句数量/可执行的语句总数 x 100%的缺点:对程序执行逻辑的覆盖很低。判定覆盖(分支覆盖)的公式: 判定覆盖率=被评价到的判定分支个数/判定分支的总数X100%判定率(DDP)=被评价到的判定路径数量/判定路径的总数X100%的缺点:判定覆盖虽然把程序所有分支均覆盖到了,但其主要对整个最终取值进行度量,忽略了表达式内部取值。条件覆盖CC(Condition Coverage),设计足够多的,运行被测程序,使得每一判定语句中每个逻辑条件的可能取值至少满足一次。率的公式:条件覆盖率=被评价到的条件取值的数量/条件取值的总数X100%
3、的缺点:只考虑到每个判定语句中的每个,没有考虑到各个条件分支(或者涉及不到全部分支),即不能够满足判定覆盖判定条件覆盖判定条件覆盖率的公式: 条件率=被评价到的条件取值和判定分支的数量/(条件取值总数+判定分支总数)的缺点:没有考虑单个判定对整体结果的影响,无法发现逻辑错误。补充:修正判定条件覆盖修正单元的入口与出口必须至少被调用一次,程序中判断的每一个分支必须至少被执行一次。对于程序中通过逻辑运算(AND,OR等)组成判断的基本布尔条件,每个条件必须取遍所有可能的值且每一个条件对判断的结果具有独立的作用。条件组合覆盖,也称多MCC (Multiple Condition Coverage),
4、设计足够多的测试用例,使得每个判定中条件的各种可能组合都至少出现一次(以数轴形式划分区域,提取交集,建立最少的测试用例)。这种方法包含了“”和“”的各种要求。满足一定满足、条件覆盖、判定条件覆盖。率的公式:条件组合覆盖率=被评价到的条件取值组合的数量/条件取值组合的总数的缺点:判定语句较多时,条件组合值比较多。路径覆盖测试步骤:1. 将转换成;2. 经过求的路径;3. 生成路径图;4. 进行路径编码;5. 经过得到执行的路径;6. 通过枚举产生特定路径;7. 修正的条件判断覆盖率(MC/DC)。5、 详细设计(1) 语句覆盖语句覆盖是指设计足够的测试用例使得程序中的每一条可执行语句至少执行一次
5、测试用例覆盖语句XY717执行语句300执行语句110执行语句2(2) 判定覆盖判定覆盖又称为分支覆盖或所有边覆盖,测试控制结构中布尔表达式分别为真和假(例如if语句和while语句)。判定覆盖的基本思想是指设计的测试用例,使得程序中的每一个判定至少分别取“真”分支和取“假”分支至少经历一次,即判断真假值是否满足。输入执行语句XY00判定1的N,2的N10判定1的Y,2的N155判定1的Y,3的N912判定1的Y,3的Y(3) 条件覆盖条件覆盖是设计测试用例,使每个判断中每个条件的可能取值至少满足一次。对于第一个判定(X8ANDY5)条件X8取值记为T1,取假值记为F1条件Y5取值记为T2,取
6、假值记为F2对于第二个判定(X0ORY0)条件X0取值记为T3,取假值记为F3条件Y0取值记为T4,取假值记为F4对于第三个判定(X16ORY10)条件X16取值记为T5,取假值记为F5条件Y10取值记为T6,取假值记为F6测试用例覆盖条件执行语句XY-2-2F1F2F3F4F5F6执行语句11716T1T2T3T4T5T6执行语句3(4) 条件判定覆盖条件判定覆盖的含义是通过设计足够的测试用例,使得判断条件中的所有可能至少执行一次取值,同时,所有判断的可能结果至少执行一次。因此,条件判定覆盖的测试用例满足如下条件。测试用例覆盖条件执行语句XY-2-2F1F2F3F4F5F6执行语句11716
7、T1T2T3T4T5T6执行语句3(5) 条件组合覆盖设计测试用例使得判断中每个条件的所有可能至少出现一次,并且每个判断本身的判定结果也至少出现一次。1、X8,Y5记作T1T22、X8,Y=5记作T1F23、X5记作F1T24、X=8,Y0,Y0记作T3T46、X0,Y=0记作T3F47、X0记作F3T48、X=0,Y20,Y20记作T5T610、X16,Y=10记作T5F611、X10记作F5T612、X=16,YA3-A7-A10X=7,y=-1A1-A4-A8-A10X=6,y=8A2-A5-A10X=10,y=6A2-A6-A9-A106、 实验结果与分析通过实验完成如上图所示的测试用例计划。7、 实验体会与建议通过本次实验,我掌握了逻辑覆盖法的设计测试用例、了解语句覆盖,判定覆盖,条件覆盖,判定-条件覆盖,条件组合覆盖以及路径覆盖的基本测试用例设计。通过不同的测试方法,我对软件测试有了进更深入的了解,为今后的学习奠定了坚实的基础。专心-专注-专业