《软件测试技术》实验教学大纲

发布者:syzx发布时间:2023-05-24浏览次数:1108

课程编号:01312250          实验学时:16 
实验个数: 7个            适用专业:计算机科学与技术
教材及参考书:
教材:张大方/李玮,软件测试技术与管理,长沙:湖南大学出版社,2007年
参考书:
朱少民,软件测试方法和技术,北京:清华大学出版社,2005年
贺平,软件测试技术,北京:机械工业出版社,2004年
大纲执笔人:裴承丹        大纲审定人:
一、实验课的性质与任务
本课程是与软件测试技术课程相配套的实训课程,其目的和任务是在软件测试理论指导下,使学生能够熟练掌握基本的测试技术来解决具体的测试任务,并通过完成项目工作任务,培养技术的运用能力,协同合作工作能力以及沟通交流的能力,以提高学生的职业综合素质。
二、实验目的与要求
通过对本课程的学习,使学生了解软件测试在软件生命周期和软件工程中的地位及作用,学习软件测试的基本原理、技术方法、设计文档、实施步骤和常用的软件测试工具,掌握开发可测试的模型和进行软件测试设计的基本技能。
三、实验项目及内容提要
四、实验内容安排
实验一 程序白盒单元测试
(设计性实验 2课时)
一、实验目的和要求
 了解程序结构的分析方法,掌握白盒测试技术测试用例的设计。
二、实验内容(包括步骤、方法等)
1.用C语言编写的一个求一元二次方程的求解程序p1如下:
#include
#include
void main(){
float a,b,c,x1,x2,t,d;
printf(“enter a,b,c:”);
scanf(“%f%f%f”,&a,&b,&c);
if(a==0) x1=-c/b;
else
{d=b*b-4*a*c;
 t=2*a;
 x1=-b/t;
if(d>=0) x2=sqrt(d)/t;
else x2=sqrt(-d)/t;
}
if(a==0) //输出一次方程根
printf(“root=%f/n”,x1);
else
 if(d>=0) //输出实根
   {printf(“real root:/n”);
printf(“root1=%f,root2=%f/n”,x1+x2,x1-x2);
}
 else     //输出复根
 { printf(“complex root:/n”);
printf(“root1=%f+%fi/n”,x1,x2);
printf(“root2=%f-%fi/n”,x1,x2);
}
 }
(2)画出程序流程图,并指出路径的走向(如P1:1-2-3)。(紫色代码部分)
(3)根据语句覆盖的方法,设计测试用例。
(4)根据判定覆盖的方法,设计测试用例。
2.已知如下程序段
begin
if((age>25) AND (sex=M)) then comm=comm+150;
if(age>=50 OR (comm>2000.0)) then comm=comm-200;
end;
(1)画出程序流程图,并指出路径的走向(如P1:1-2-3)。
(2)根据判定覆盖的方法,设计测试用例。
(3)根据条件组合+路径覆盖的方法,设计测试用例。
3.主要实验仪器及材料
能够提供学生一人一台电脑,C/C++或Java编程环境。
 
实验二 程序黑盒测试
(设计性实验 2课时)
一、实验目的和要求
熟悉掌握黑盒测试中的等价类划分、边界值、因果图等方法。
二、实验内容(包括步骤、方法等)
1、等价类划分方法
(1)三角形问题等价类划分设计测试用例
分析三角形问题中的逻辑,用等价类划分的方法先划分等价类,然后设计测试用例。
(2)NextDate问题,对它的输入进行分析,划分等价类,然后根据等价类设计测试用例。
4、边界值和因果图
(1)NextDate问题用边界值分析法设计测试用例
分析NextDate问题中的逻辑,用边界值分析法的思想设计测试用例。
(2)有一个处理单价为5角钱的饮料的自动售货机软件测试用例的设计。其规格说明如下:若投入5角钱或1元钱的硬币,押下[橙汁]或[啤酒]的按钮,则相应的饮料酒送出来。若售货机没有零钱找,则一个显示[零钱找完]的红灯亮,这时再投入1元硬币并押下按钮后,饮料不送出来而且1元硬币也退出来;若有零钱找,则显示[零钱找完]的红灯灭,在送出饮料的同时退还5角硬币。
用因果图法对自动售货机设计测试用例。
三、主要实验仪器及材料
能够提供学生一人一台电脑,C/C++或Java编程环境。
 
实验三 单元测试
(操作性实验 4课时)
一、实验目的和要求
熟练掌握单元测试工具的运用,理解单元测试的策略。
二、实验内容(包括步骤、方法等)
1.使用单元测试工具,对以下的类成员函数进行白盒测试。
(1)int mode2(int nParam)
   记录自动生成的测试用例,并进行分析。
(2)void strcpy(char* dest, char const* src)
        记录自动生成的测试用例,并进行分析。
2.使用单元测试工具,对给定的工程进行黑盒测试。
         记录测试过程,并对结果进行分析。
3.在修改源代码后用原有的测试用例进行重新测试。
         对给定工程进行要求的修改,重新设计测试过程。
三、主要实验仪器及材料
 能够提供学生一人一台电脑,C/C++或Java编程环境,单元测试工具C++ Test/JUnit/NUnit。
 
实验四 系统测试用例的设计和策略
(设计性实验 4课时)
一、实验目的和要求
通过实验,熟悉软件的安装测试、用户界面测试,熟悉Web系统的性能测试。
二、实验内容(包括步骤、方法等)
任务一:对图书管理系统进行安装和用户界面测试
1. 下载并运行图书管理系统。
2. 思考安装的测试方案,进行安装测试设计
3. 针对图书管理系统编写用户界面测试用例,并执行。
4. 提交测试中发现的错误
任务二:对图书管理系统进行性能和负载测试
1. 安装和设置图书馆系统后台数据库
2. 安装和设置图书馆网站
3. 针对图书管理系统设计负载测试方案
4. 利用LoadRunner软件运行测试方案,观察并分析测试结果。
三、主要实验仪器及材料
能够提供学生一人一台电脑,C/C++或Java编程环境,ACCESS数据库软件,LoadRunner8.0,IIS。
 
实验五 软件缺陷管理
(综合性实验 4课时)
一、实验目的和要求
熟悉单元、集成、系统三层次的测试,掌握程序缺陷的合理、有效的管理。
二、实验内容(包括步骤、方法等)
任务一:提交软件测试中发现的错误。
       安装酒店管理系统,对该系统进行单元、集成、系统三层的测试,针对所发现的错误,记录并提交错误以便开发人员修改。
任务二:寻找软件测试中错误的触发条件,并编写有一定质量的错误报告。
1. 测试酒店管理系统,根据任务一中提交错误报告存在的问题,重新编写错误报告,错误报告格式如下。
错误编号:
 
程序名:
 
严重性:
 
错误概要:
 
错误描述:
 
注释:
2. 错误报告的描述注意错误发生的步骤和错误隔离。
3. 测试中需要考虑错误重现
4. 错误报告通过TestDirector软件进行管理。
三、主要实验仪器及材料
能够提供学生一人一台电脑,系统测试工具软件,软件缺陷管理系统软件。
 
五 、考核方式、方法及实验成绩评定方法
实验考核方式为上机考试,在规定时间内完成指定要求的测试内容。平时实验表现和报告占总分10%,上机考试占总分30%。
 
六、主要教材及参考书
教材:张大方/李玮,软件测试技术与管理,长沙:湖南大学出版社,2007年
参考书:
朱少民,软件测试方法和技术, 北京:清华大学出版社,2005年
贺平,软件测试技术,北京:机械工业出版社,2004年