08级软件工程专业《软件测试技术》实验文档1 - 马丽1026 联系客服

发布时间 : 星期二 文章08级软件工程专业《软件测试技术》实验文档1 - 马丽1026更新完毕开始阅读63050fc7d5bbfd0a795673cd

《软件测试技术》实验指导书

适用专业: 软件工程(本科) 实验学时:30

一、 适用范围

大纲适用于软件工程专业本科教学使用。

二、课程名称

《软件测试技术》

三、实验教学目的和要求

1、实验目的

本实验课程配合《软件测试技术》理论课同步开设,其中包括验证型、设计型和综合型实验。本实验课程着眼于理论与应用的结合,注重培养学生软件测试的实际动手能力,增强软件工程项目的质量管理意识。通过实验教学,使学生掌握软件测试的方法和技术,并能运用软件测试工具进行自动化测试。

2、实验要求

实验前要充分做好准备工作:

1.复习和掌握与本实验有关的知识内容; 2.预习、思考实验内容; 3.对实验内容进行分析和设计。

实验过程中,实验者必须服从指导教师和实验室工作人员的安排,遵守纪律与实验制度,爱护设备及卫生。在指定的实验时间内,必须到实验室内做实验。

对于上机过程中出现的问题,尽量先独立思考和解决;对于难以解决的问题可以和同学交流或询问老师;对于同一个实验题目,可以考虑多种方法来实现,然后比较并选择出一种较为有效的方法来实现。

对于设计型和验证型实验,实验时一人一组,独立上机。对于综合型实验,每四人组成一个小组,由组长来组织管理小组成员,共同完成实验内容。

四、实验项目与学时分配

序号 1 2 3 实验项目 实例程序设计 功能性测试(黑盒测试) 结构性测试(白盒测试) 学时数 4 6 4 实验类型 设计 设计、验证 设计、验证 4 5 6 7 8 合计 单元测试 QTP的使用 LoadRunner的使用 WinRunner的使用 Web系统测试 2 4 4 2 4 30 设计、验证 验证 验证 验证 综合 实验1 测试的实例程序的设计(4学时)

一、实验目的

完成测试程序的编写,后续的实验将以这些程序作为测试对象用不同的测试方法来进行测试。 二、实验内容

1、设计三角形问题的程序 2、设计Nextdate函数的程序 3、设计佣金问题的程序 4、简单ATM系统 5、货币转换器 三、实验步骤

1、第2周完成各程序的总体设计和前两个程序的实现并进行调试。 2、第3、4周实现后3个程序的功能。 四、实验要求

1、用C或C++、JAVA语言开发程序,根据题目要求实现程序功能;

2、画出程序功能的实现图(流程图或数据流图或对象(类)模型或状态图等); 3、撰写实验报告;

4、打包各程序相关资料且上交。

实验2 功能性测试(6学时)

一、 实验目的

1、能熟练应用功能性测试技术进行测试用例设计; 2、对测试用例进行优化设计; 二、 实验内容

1.题目一:货币转换器

根据该程序的规格说明,作等价类的划分,并设计测试方案。 2.题目二:三角形问题

根据下面给出的规格说明,利用等价类划分的方法,给出足够的测试用例。

“一个程序读入三个整数。把此三个数值看成是一个三角形的三个边。这个程序要打印出信息,说明这个三角形是三边不等的、是等腰的、还是等边的。” 3.题目三:日期问题

用决策表测试法测试以下程序:该程序有三个输入变量month、day、year(month 、 day和year均为整数值,并且满足:1≤month≤12和1≤day≤31),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上隔一天的日期。例如,输入为 2004 年11月29日,则该程序的输出为2004年12月1日。

(1) 分析各种输入情况,列出为输入变量 month 、 day 、 year 划分的有效等价类。

(2) 分析程序的规格说明,并结合以上等价类划分的情况,给出问题规定的可能采取的操作(即列出所有的动作桩)。 (3) 根据 (1) 和 (2) ,画出简化后的决策表。 4.题目四:计算器 三、实验步骤

1、根据功能性测试技术设计测试用例,主要考虑等价类划分和边界值分析测试技术;

2、根据所学知识确定优化策略(原则:用最少的用例检测出更多的缺陷、软件测试的充分性与冗余性考虑),设计两套测试用例集; 3、根据设计的两套测试用例集进行测试; 四、实验要求

1、根据题目要求编写测试用例(参照表1进行用例设计); 2、实验结果要求给出两套测试用例集测试效果比较; 3、撰写实验报告;

实验3 结构性测试(4学时)

一、实验目的

1、掌握结构性测试技术,并能应用结构性测试技术设计测试用例; 2、对测试用例进行优化设计 二、实验内容

1.题目一:使用逻辑覆盖测试方法测试以下程序段 void DoWork (int x,int y,int z) {

int k=0, j=0; if ( (x>3)&&(z<10) ) {

4 k=x*y-1; 5 j=sqrt(k); 6 }

7 if((x==4)||(y>5)) 8 j=x*y+10; 9 j=j%3; 10 }

说明:程序段中每行开头的数字(1~10)是对每条语句的编号。 (1)画出程序的控制流图(用题中给出的语句编号表示)。

(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径(用题中给出的语句编号表示)。

2.题目二:三角形问题

在三角形计算中,要求输入三角型的三个边长:A、B 和C。当三边不可能构成三角形时提示错误,可构成三角形时计算三角形周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则提示“等边三角形”。画出程序流程图、控制流程图、计算圈复杂度V(g),找出基本测试路径。

3.题目三:计算生日是星期几

已知公元1年1月1日是星期一。编写一个程序,只要输入年月日,就能回答那天是星期几。应用逻辑覆盖方法和基路径测试方法为上面的问题设计测试用例。