tceic.com
学霸学习网 这下你爽了
相关文章
当前位置:首页 >> 信息与通信 >>

实验四、白盒测试技术(二)


实验四、白盒测试技术(二)
一、 实验类型
实验类型为验证型,2 个学时。

二、 实验目的
(1) 通过简单程序白盒测试,熟悉测试过程,对软件测试行程初步了解,并养成良好 的测试习惯; (2) 熟练掌握如何运用基路径测试方法进行测试用例设计,初步熟悉如何利用程序插装 技术进行逻辑覆盖率分析;

三、 背景知识 基本路径测试
如果把覆盖的路径数压缩到一定限度内,例如,程序中的循环体只执行零次和一次,就 成为基本路径测试。它是在程序控制流图的基础上,通过分析控制构造的环路复杂性,导出 基本可执行路径集合,从而设计测试用例的方法。 设计出的测试用例要保证在测试中,程序的每一个可执行语句至少要执行一次。 ① 程序的控制流图 控制流图是描述程序控制流的一种图示方法。 基本控制构造的图形符号如图所示。 符号 ○称为控制流图的一个结点,一组顺序处理框可以映射为一个单一的结点。控制流图中的箭 头称为边,它表示了控制流的方向,在选择或多分支结构中分支的汇聚处,即使没有执行语 句也应该有一个汇聚结点。边和结点圈定的区域叫做区域,当对区域计数时,图形外的区域 也应记为一个区域。

图 1 控制流图的各种图形符号 如果判定中的条件表达式是复合条件时,即条件表达式是由一个或多个逻辑运算符 (OR,AND,NAND,NOR)连接的逻辑表达式,则需要改复合条件的判定为一系列只有单 个条件的嵌套的判定。例如对应图 3-2. (a) 的复合条件的判定,应该画成如图 3-2. (b) 所示 的控制流图。 条件语句 if a OR b 中条件 a 和条件 b 各有一个只有单个条件的判定结点。

图 2 复合逻辑下的控制流图 ② 计算程序环路复杂性 进行程序的基本路径测试时, 程序的环路复杂性给出了程序基本路径集合中的独立路径 条数,这是确保程序中每个可执行语句至少执行一次所必需的测试用例数目的上界。 所谓独立路径,是指包括一组以前没有处理的语句或条件的一条路径。如在图 3-3(b)所 示的控制流图中,一组独立的路径是: path1:1 - 11 path2:1 - 2 - 3 - 4 - 5 - 10 - 1 - 11 path3:1 - 2 - 3 - 6 - 8 - 9 - 10 - 1 - 11 path4:1 - 2 - 3 - 6 - 7 - 9 - 10 - 1 - 11 路径 path1,path2,path3,path4 组成了图 3-3 (b) 所示控制流图的一个基本路径集。 只要设计出的测试用例能够确保这些基本路径的执行, 就可以使得程序中的每个可执行语句 至少执行一次,每个条件的取真分支和取假分支也能得到测试。基本路径集不是唯一的,对 于给定的控制流图,可以得到不同的基本路径集。

(a) 程序流程图

(b) 控制流图

图 3 程序流程图与对应的控制流图 通常环路复杂性可用以下三种方法求得。 ? 将环路复杂性定义为控制流图中的区域数。 ? 设 E 为控制流图的边数,N 为图的结点数,则定义环路复杂性为 V(G)=E-N+2。 ? 若设 P 为控制流图中的判定结点数,则有 V(G)=P+1。 因为图 5.14(b)所示控制流图有 4 个区域。其环路复杂性为 4。 它是构成基本路径集的

独立路径数的上界。可以据此得到应该设计的测试用例的数目。 ③ 导出测试用例 利用逻辑覆盖方法生成测试用例,确保基本路径集中每条路径的执行。

四、 实验设备
主流 PC 机一套,要求安装 windows 操作系统、VC++开发工具和 OFFICE 工具;

五、 实验内容
被测测试程序功能:计算被输入日期是星期几,已知公元 1 年 1 月 1 日是星期一,只要 输入年月日,能自动回复当天是星期几。 程序代码,测试对象为 while 循环内代码: #include <iostream> using namespace std; int main() { int x=1,year,month,day; while(x){ 1 int i,num=0,total,total1,total2; 2 3 4 5 6 7 8 9 10 11 12 13 cout<<"请输入年份:"; cin>>year; cout<<"请输入月份:"; cin>>month; cout<<"请输入日期:"; cin>>day; //求得输入年份之前一年末的总天数 for(i=1;i<year;i++){ if(((i%4==0)&&(i%100!=0))||(i%400==0)) num++; } total1=365*(year-num-1)+366*num; //求得输入年份的总天数 if(((i%4==0)&&(i%100!=0))||(i%400==0)){ //求得输入月份之前一个月末的总天数 switch(month){ case 1:total2=0;break; case 2:total2=31;break; case 3:total2=60;break; case 4:total2=91;break; case 5:total2=121;break; case 6:total2=152;break;

case 7:total2=182;break; case 8:total2=213;break; case 9:total2=244;break; case 10:total2=274;break; case 11:total2=305;break; case 12:total2=335;break; } }else{ 14 switch(month){ case 1:total2=0;break; case 2:total2=31;break; case 3:total2=59;break; case 4:total2=90;break; case 5:total2=120;break; case 6:total2=151;break; case 7:total2=181;break; case 8:total2=212;break; case 9:total2=243;break; case 10:total2=273;break; case 11:total2=304;break; case 12:total2=334;break; } } //再加上输入的日,求其总和可得到总天数 total=total1+total2+day; int week; week=total%7; cout<<"请输入的日期是"; switch(week){ case 0:cout<<"星期天"<<endl;break; case 1:cout<<"星期一"<<endl;break; case 2:cout<<"星期二"<<endl;break; case 3:cout<<"星期三"<<endl;break; case 4:cout<<"星期四"<<endl;break; case 5:cout<<"星期五"<<endl;break; case 6:cout<<"星期六"<<endl;break; } 20 21 } } 程序运行结果 cout<<"********退出程序请输入 0,否则任意输入继续********"<<endl; cin>>x;

15 16 17 18 19

六、 实验步骤
(1) 画控制流图(简化)

(2) 计算环形复杂度; (3) 导出基本路径集; A、 B、 C、 D、 (4) 设计测试用例; A、

B、 C、 D、 (5) 执行测试用例,记录结果 用例编号 输入 期望输出 覆盖路径 测试结果

七、 实验报告要求
完成以上实验步骤


推荐相关:

实验四、白盒测试技术(二).doc

实验四白盒测试技术(二) - 实验四白盒测试技术(二) 一、 实验类型 实验

实验4白盒测试(二).doc

实验四一、 实验目的 白盒测试(二) 理解白盒测试的基本方法,掌握语句覆盖、判定

白盒测试实验.doc

白盒测试实验_计算机软件及应用_IT/计算机_专业资料。实验四 白盒测试 一、实验目的 1. 掌握白盒测试技术,并能应用白盒测试技术设计测试用例。 2. 熟练使用 ...

白盒测试及答案.doc

白盒测试及答案 - 实验 4 白盒测试 实验目的: 理解白盒测试的基本方法,掌握语句覆盖、分支覆盖、条件覆盖、路径覆盖等代码覆 盖测试策略,并能应用白盒测试技术...

基于白盒测试的用例设计与验证(二).doc

基于白盒测试的用例设计与验证(二) - 学号: 《软件 测试技术实验报告与习

白盒测试实验报告_三角形(2).doc

白盒测试实验报告_三角形(2) - 白盒测试实验报告三角形 一、实验目的 (1)巩固白盒测试技术,能熟练应用控制流覆盖方法设计测试用例; (2)学习测试用例的...

实验三、白盒测试技术(一).doc

实验三、白盒测试技术(一) - 实验三、白盒测试技术(一) 一、 实验类型 实验类型为验证型,2 个学时。 二、 实验目的 (1) 熟练掌握白盒测试方法中的逻辑...

白盒测试(二).doc

路径 覆盖等代码覆盖测试策略,并能应用白盒测试技术设计测试用例 二、 实验内容...#include<stdio.h> 1 void main() 2 { 3 int i,a,b,c; 4 i = 0;...

白盒测试实验报告-范例.doc

白盒测试实验报告-范例 - 广西科技大学计算机学院 《软件测试技术实验报告书 实验白盒测试 学生姓名:xxxx 学班号:xxxx 级:xxxx 指导老师:xxxxx 专业:计...

实验4白盒测试(二)new.doc

实验4白盒测试(二)new - 实验四 一、 实验目的 白盒测试(二) 理解白盒测试的基本方法,掌握语句覆盖、判定覆盖、条件覆盖、判定/条件 覆盖、条件组合覆盖和路径...

实验2-动态白盒测试.doc

实验2-动态白盒测试_工学_高等教育_教育专区。云南大学软件测试,动态白盒测试,软件测试实验2, 云南大学软件学院实课程: 软件测试技术 验 报 告实验指导教师(签名...

白盒测试技术.doc

白盒测试技术 - 实验白盒测试技术 1 实验要求与目的 ●了解白盒测试技术的原理; ●熟悉常用的白盒测试技术; ●掌握逻辑覆盖的不同标准及原理,能够设计测试...

实验四.doc

实验四 - 实验四 软件测试 一、实验目的 1.掌握软件测试方法 2.掌握白盒测试法,黑盒测试法 二、实验要求 1.编写三角形的判定函数 2.对三角形判定函数进行黑...

实验二 Nextdata实验白盒测试.doc

实验二 Nextdata实验白盒测试_物理_自然科学_专业资料。辽宁工程技术大学上机实验...4 测试用例 5 输入条件 2000.2.29 2001.2.28 2000.3.28 2001.12.31 ...

实验01 白盒测试方法..pdf

实验01 白盒测试方法. - 实验 01 白盒测试方法 [实验目的] 1. 2. 掌握白盒测试技术 能应用白盒测试技术设计测试用例; [预习要求] 1. 逻辑覆盖: 逻辑覆盖...

白盒测试实验报告-范例.doc

白盒测试实验报告-范例 - 实验报告书 实验白盒测试 学生姓名:李庆忠 专学业:计算机科学与技术 号:1341901317 白盒测试实验报告 一 实验内容 1、 系统地学习...

白盒测试(一).doc

代码覆盖测试策略,并能应用白盒测试技术设计测试用例 二、 实验时间 2 学时 ...四、 实验内容 1.题目一:使用逻辑覆盖测试方法测试以下程序段(必做) void Do...

白盒测试实验报告_三角形.doc

白盒测试实验报告三角形一、实验目的(1)巩固白盒测试技术,能熟练应用控制...(2)程序的流图: (3)语句覆盖; (4)判定覆盖; (5)条件覆盖; (6)判定/...

白盒测试实验报告.doc

白盒测试实验报告 - 白盒测试实验报告 一 实验内容 1、 系统地学习和理解白盒测试的基本概念、原理,掌握白盒测试的基本技术和方法; 2、 举例进行白盒测试,使用...

白盒测试(一).doc

白盒测试(一) - XX 大学 软件质量控制和测试 实验(实习)报告 实验(实习)名称 系 白盒测试() 实验(实习)日期 班级 1 姓名 2011-12-2 学号 得分 指导...

网站首页 | 网站地图
All rights reserved Powered by 学霸学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com