软件测试实验.doc
文本预览下载声明
软件测试实验
实验目的
学会使用CASE工具完成软件测试用例的设计以及初步完成对单元测试,深刻理解单元测试的基本原理及CASE工具的基本使用。
实验内容
1、单元测试的逻辑覆盖测试验证实验:运用Nunit工具完成对如下例子的单元测试,要求分别完成语句覆盖、判定覆盖、条件覆盖、判定条件覆盖、条件组合覆盖和路径覆盖测试的测试用例编写以及测试。要求首先按格式编写出该测试所需要的测试用例,然后编写测试程序,对其进行测试,最后把你写的测试用例按格式记录到实验报告中。
测试用例的格式如下:
{[输入], [期望结果]},对于本例请遵循如下格式:
{[A,B,X],[X]}
图1 单元测试逻辑覆盖的验证实验
此外,请测试如下情况:
如果将第1个判定中的“AND”错写成了“OR”,用数据{[2,0,3],[2.5]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
如果将第2个判定中的“x1”错写成了“x=1”,则用数据{[2,0,3],[2.5]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
如果将第1个判定中的“AND”错写成了“OR”,则用数据{[3,0,1],[1/3]}和{[2,1,2],[3]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
如果将第2个判定中的“x1”错写成了“x=1”,则用数据{[3,0,1],[1/3]}和{[2,1,2],[3]})对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
如果将第2个判定中的“x1”错写成了“x=1”,则用数据{[2,0,3],[2.5]}和{[1,1,1],[1]}(首先,该组数据满足何种逻辑覆盖)对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
如果将第1个判定中的“a1”错写成了“a=1”,且把“b=0”错写成了“b0”,则用数据{[2,1,1],[2]}和{[1,0,2],[3]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
如果将第1个判定中的“a1”错写成了“a=1”,且把“b=0”错写成了“b0”,则用数据{[2,1,1],[2]}、{[2,0,2],[2]}、{[1,1,1],[1]}和{[1,0,2],[3]}对程序进行测试,可否发现错误?为什么?请先测试,然后把结论记录到实验报告中。
2、循环结构测试
现有一个简单循环,需要对其进行测试,其程序伪代码如下:
Int i,a;
Input(i,a);
While(i=10)
{
a += 2;
if(a4)
{
a *= 2;
a += 3;
}
Else
{
If(a1)
a -= 4;
else
a += 5;
}
i++;
}
a *=4;
Output(a);
要求为该程序设计满足简单循环的所有测试用例,记录到实验报告中。
3、等价类划分及边界值测试的验证实验:有如下算法A和B均是非负整型变量(注:int型),如果10A100,则B=A*20-5,如果0A=10,则B=A*15+20,如果A=100,则B=A*100-200,请分别用等价类划分方法和边界值分析方法设计测试用例,然后编写测试程序完成测试。并把测试结论写入到实验报告中。
实验结果
包含测试用例、测试程序以及测试结论的实验报告一份。
成绩评定
该实验成绩满分5分,即占总成绩的5%。
附录:Nunit的基本配置
Step1:安装Nunit,本实验使用的是其2.4.7版本,大家可去其网站下载最新版本(/download.html)
图2 Nunit安装向导
Step2:如何在.NET环境中使用Nunit。
Step2.1:首先在.NET环境中创建一个新的工程,并选择其工程类型是Class Library模板(当然也可以是其它类型的模板,只是后面的配置会不一样),将工程命名为ZhbTest1,如下图:
图3 C#创建程序向导
Step2.2:然后为测试程序增加一个Nunit.Framework.dll的引用(目的是让你的程序可以支持Nunit测试,一般只要Nunit程序成功安装,都会在“添加引用”中找到该库),如下图在解决方案的项目中右击鼠标,然后选择“添加引用”,找到Nunit.Framework(当前版本是2.4.7),确定。
图4 在应用程序中引入Nunit
Step2.3:添加头部引用以及待测试代码如下图所示:
图5 编写测试程序
Step2.4: 使得当前的应用程序可以自动运行Nunit程序,如下设置,右键选
显示全部