实验一 白盒测试
一、 实验目的
1、 掌握白盒测试的基本方法;
2、 掌握白盒测试用例的编写。
二、 实验要求
1、 根据给出的程序分别使用语句覆盖、判定覆盖、条件覆盖、判定-条件覆盖、条件组合覆盖、路径覆盖、基本路径覆盖来设计相应的测试用例。
2、 输入数据进行测试,执行测试用例。
三、 实验内容
程序:用VC++ 6.0编写三角形函数:
三角形中,要求输入三边的长度:a,b,c,当三边不可能构成三角形时提示错误,可构成三角形时计算三角形的周长。若是等腰三角形打印“等腰三角形”,若是等边三角形,则打印“等边三角形”。
源代码:
#include
using namespace std;
double triangleType(double a,double b,double c)
{
double l;
l=a+b+c;
if(a+b<=c&&a+c<=b&&b+c<=a)
cout<<"error:不能构成三角形"<>x>>y>>z;
triangleType(x,y,z);
}
四、实验步骤
1、依次按照每种方法的步骤来写出测试用例(方法如果需要的
流程图
破产流程图 免费下载数据库流程图下载数据库流程图下载研究框架流程图下载流程图下载word
的话,也必须写上)
流程图如下:
语句覆盖测试
编号
输入数据
预期输出结果
实际结果
1
2 3 4
不能构成三角形
只计算出三角形周长
2
3 3 4
输出等腰三角形
输出等腰三角形
3
5 5 5
输出等边三角形
输出等边三角形
判定覆盖测试
编号
输入数据
预期输出结果
实际结果
1
2 3 4
不能构成三角形
输出三角形周长
2
3 3 3
输出等边三角形
输出等边三角形
3
4 4 5
输出等腰三角形
输出等腰三角形
4
3 4 5
只计算出三角形周长
只计算出三角形周长
条件覆盖测试
编号
输入数据
预期输出结果
实际结果
1
2 3 5
不能构成三角形
只计算出三角形周长
2
4 4 5
输出等腰三角形
输出等腰三角形
2、测试,得出结果。
3、如果发现缺陷,找出缺陷所在并修改程序。
错误:
第一处错误:第10行不支持中文字符“=”
第二处错误:第6行判断逻辑错误
修改后的程序为:
#include
using namespace std;
double triangleType(double a,double b,double c)
{
double l;
l=a+b+c;
if(a+b<=c||a+c<=b||b+c<=a)
cout<<"error:不能构成三角形"<>x>>y>>z;
triangleType(x,y,z);
}
再次测试的结果。
改正后流程图:
语句覆盖测试
编号
输入数据
预期输出结果
实际结果
1
2 3 4
不能构成三角形
不能构成三角形
2
3 3 4
输出等腰三角形
输出等腰三角形
3
5 5 5
输出等边三角形
输出等边三角形
判定覆盖测试
编号
输入数据
预期输出结果
实际结果
1
2 3 4
不能构成三角形
不能构成三角形
2
3 3 3
输出等边三角形
输出等边三角形
3
4 4 5
输出等腰三角形
输出等腰三角形
4
3 4 5
只计算出三角形周长
只计算出三角形周长
条件覆盖测试
编号
输入数据
预期输出结果
实际结果
1
2 3 5
不能构成三角形
不能构成三角形
2
4 4 5
输出等腰三角形
输出等腰三角形
五、实验
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
:
白盒测试是一种被广泛使用的逻辑测试方法,是由程序内部逻辑驱动的一种单元测试方法。只有对程序内部十分了解才能进行适度有效的白盒测试。但是往往我们设计时考虑不是很全面,常常存在逻辑上的错误,而且我们又一时无法发现,所以很难立即解决。再加上存在贯穿在程序内部逻辑的不确定性和无穷性,尤其对于大规模复杂软件。因此我们不能穷举所有的逻辑路径,即使穷举也未必会带来好运,这样多少还会存在问题。
那么正确使用白盒测试,就要先从代码分析入手,根据不同的代码逻辑规则、语句执行情况,选用适合的覆盖方法。任何一个高效的测试用例,都是针对具体测试场景的。逻辑测试不是片面的测试正确的结果或是测试错误的结果,而是尽可能全面地覆盖每一个逻辑路径。
而本次的白盒测试实验就存在细节上的逻辑问题,不细心就不容易发现。所以我深感细心对软件测人员是多么重要,我们切不可粗心大意。
_1445102562.vsd
�
�
L=a+b+c�
a+b<=c&&b+c<=a&&a+c<=b
不能构成三角形
a==b&&b==c�
等边三角形
等腰三角形�
a==b||b==c||a==c
三角形周长�
T
T
T
F
F
F
_1445093228.vsd
�
�
L=a+b+c�
a+b<=c||b+c<=a||a+c<=b
不能构成三角形
a==b&&b==c�
等边三角形
等腰三角形�
a==b||b==c||a==c
三角形周长�
T
T
T
F
F
F