三角形问题测试分析报告.docx
《三角形问题测试分析报告.docx》由会员分享,可在线阅读,更多相关《三角形问题测试分析报告.docx(14页珍藏版)》请在冰豆网上搜索。
三角形问题测试分析报告
三角形问题测试报告
————————————————————————————————作者:
————————————————————————————————日期:
三角形问题测试报告
1、简介
1.1编写目的
本测试报告为三角形问题的测试报告,目的在于总结测试阶段的测试以及分析测试结果,通过测试来检测每个功能是否都能正常使用。
预期参考人员包括测试人员、开发人员和需要阅读本报告的老师。
1.2项目背景
本项目为软件测试专周任务。
1.3术语
边界值分析法:
就是对输入或输出的边界值进行测试的一种黑盒测试方法。
通常边界值分析法是作为对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。
等价类划分:
把程序的输入域划分成若干部分(子集),然后从每个部分中选取少数代表性数据作为测试用例。
每一类的代表性数据在测试中的作用等价于这一类中的其他值。
白盒测试:
又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。
"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。
"白盒"法是穷举路径测试。
在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。
贯穿程序的独立路径数是天文数字。
黑盒测试:
也称功能测试,它是通过测试来检测每个功能是否都能正常使用。
在测试中,把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,它只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。
黑盒测试着眼于程序外部结构,不考虑内部逻辑结构,主要针对软件界面和软件功能进行测试。
1.4参考资料
《软件测试教程第2版》
《软件测试入门与提高》
《软件测试实例分析》
2、测试概要
2.1程序流程图
2.2测试程序源代码
usingSystem;
usingSystem.Collections.Generic;
usingSystem.ComponentModel;
usingSystem.Data;
usingSystem.Drawing;
usingSystem.Linq;
usingSystem.Text;
usingSystem.Windows.Forms;
namespacetriangle
{
publicpartialclassForm1:
Form
{
publicForm1()
{
InitializeComponent();
}
privatevoidForm1_Load(objectsender,EventArgse)
{
lb_result.Text="";
tb_sideA.Focus();
}
privatevoidbt_test_Click(objectsender,EventArgse)
{
try
{
intx=int.Parse(tb_sideA.Text);
inty=int.Parse(tb_sideB.Text);
intz=int.Parse(tb_sideC.Text);
utilsu=newutils();
if(u.checkNotZero(x,y,z))
{
if(u.checkTriangle(x,y,z))
{
if(x==y&&x==z&&z==y)
{
lb_result.Text="(*^__^*)嘻嘻这是一个等边三角形";
}
elseif(x*x+y*y==z*z||x*x+z*z==y*y||z*z+y*y==x*x)
{
lb_result.Text="(*^__^*)嘻嘻这是一个直角三角形";
}
elseif(x==y||x==z||z==y)
{
lb_result.Text="(*^__^*)嘻嘻这是一个等腰三角形";
}
else
{
lb_result.Text="⊙﹏⊙b汗这是一个一般三角形";
}
}
else
{
lb_result.Text="╮(╯_╰)╭这不是一个三角形";
}
}
else
{
lb_result.Text="+_+输入有误,请重来";
}
}
catch{}
}
privatevoidbt_clear_Click(objectsender,EventArgse)
{
tb_sideA.Text="";
tb_sideB.Text="";
tb_sideC.Text="";
tb_sideA.Focus();
}
privatevoidbt_exit_Click(objectsender,EventArgse)
{
this.Close();
this.Dispose();
}
}
classutils
{
publicBooleancheckTriangle(intx,inty,intz)
{
if(x+y>z&&x+z>y&&z+y>x)
{
returntrue;
}
returnfalse;
}
publicBooleancheckNotZero(intx,inty,intz)
{
if(x>=0&&x<=100&&y>=0&&y<=100&&z>=0&&z<=100)
{
returntrue;
}
returnfalse;
}
}
}
2.3白盒测试
语句覆盖:
编号
a
b
c
覆盖对象
期望输出
实际结果
1
4
4
5
①②③
等腰三角形
等腰三角形
2
4
4
4
①②④⑤
等边三角形
等边三角形
3
3
4
5
①②④⑥⑦
直角三角形
直角三角形
4
4
5
6
①②④⑥⑧
一般三角形
直角三角形
5
4
5
9
①⑨
不能构成三角形
不能构成三角形
判定覆盖:
编号
a
b
c
覆盖对象
期望输出
实际结果
1
4
4
5
①②③
等腰三角形
等腰三角形
2
4
4
4
①②④⑤
等边三角形
等边三角形
3
3
4
5
①②④⑥⑦
直角三角形
直角三角形
4
4
5
6
①②④⑥⑧
一般三角形
一般三角形
5
4
5
9
①⑨
不能构成三角形
不能构成三角形
条件覆盖:
判定1T1_1(a+b>c)T1_2(a+c>b)T1_3(b+c>a)
判定2T2_1(a==b&&b!
=c)
T2_2(a==c&&c!
=b)
T2_3(b==c&&a!
=b)
判定3T3_1(a==b)T3_2(b==c)
判定4T4_1(a*a+b*b==c*c)
T4_2(a*a+c*c==b*b)
T4_3(c*c+b*b==a*a)
编号
a
b
c
覆盖对象
期望输出
实际结果
6
4
4
5
T1_1,T1_2,T1_3,T2_1,F2_2,F2_3
等腰三角形
等腰三角形
7
4
5
4
T1_1,T1_2,T1_3,F2_1,T2_2,F2_3
等腰三角形
等腰三角形
8
4
5
5
T1_1,T1_2,T1_3,F2_1,F2_2,T2_3
等腰三角形
等腰三角形
9
4
4
4
T1_1,T1_2,T1_3,F2_1,F2_2,F2_3,T3_1,T3_2
等边三角形
等边三角形
10
3
4
5
T1_1,T1_2,T1_3,F2_1,F2_2,F2_3,
F3_1,F3_2,
T4_1,F4_1,F4_1
直角三角形
直角三角形
11
3
5
4
T1_1,T1_2,T1_3,F2_1,F2_2,F2_3,F3_1,F3_2,
T4_1,F4_2,F4_3
直角三角形
直角三角形
12
5
3
4
T1_1,T1_2,T1_3,F2_1,F2_2,F2_3,F3_1,F3_2,
F4_1,T4_2,F4_3
直角三角形
直角三角形
13
4
5
6
T1_1,T1_2,T1_3,F2_1,F2_2,F2_3,F3_1,F3_2,
F4_1,F4_2,F4_3
一般三角形
一般三角形
14
3
4
7
F1_1,T1_2,T1_3
不能构成三角形
不能构成三角形
15
3
7
4
T1_1,F1_2,T1_3
不能构成三角形
不能构成三角形
16
7
3
4
T1_1,T1_2,F1_3
不能构成三角形
不能构成三角形
2.4黑盒测试
边界值分析:
每条边的取值范围[0,100]
编号
a
b
c
期望输出
实际结果
1
0
50
50
无效输入
无效输入
2
1
50
50
等腰三角形
等腰三角形
3
100
50
50
等腰三角形
等腰三角形
4
101
50
50
无效输入
无效输入
5
50
0
50
无效输入
无效输入
6
50
1
50
等腰三角形
等腰三角形
7
50
100
50
等腰三角形
等腰三角形
8
50
101
50
无效输入
无效输入
9
50
50
0
无效输入
无效输入
10
50
50
1
等腰三角形
等腰三角形
11
50
50
100
等腰三角形
等腰三角形
12
-1
50
101
无效输入
无效输入
13
50
50
50
等边三角形
等边三角形
等价类划分:
输入条件
有效等价类
编号
无效等价类
编号
是否构成三角形
a>=1&&a<=100
1
a<1
7
b<1
8
b>=1&&b<=100
2
c<1
9
a>100
10
c>=1&&c<=100
3
c>100
11
c>100
12
a+b>c
4
a+b<=c
13
a+c>b
5
a+c<=b
14
b+c>a
6
b+c<=a
15
是否等腰三角形
a==b&&b!
=c
16
a!
=b&&b!
=c
19
a==c&&c!
=b
17
b==c&&a!
=b
18
是否等边三角形
a==b&&a==c
20
a!
=b
21
b!
=c
22
a!
=c
23
是否直角三角形
a*a+b*b==c*c
24
a*a+b*b!
=c*c&&
a*a+c*c!
=b*b&&
c*c+b*b!
=a*a
27
a*a+c*c==b*b
25
c*c+b*b==a*a
26
编号
a
b
c
覆盖等价类
预期输出
1
4
5
6
1,2,3,4,5,6
一般三角形
2
-4
5
6
7
无效输入
3
4
-5
6
8
无效输入
4
4
5
-6
9
无效输入
5
101
5
6
10
无效输入
6
4
101
6
11
无效输入
7
4
5
101
12
无效输入
8
4
5
9
13
不能构成三角形
9
4
13
9
14
不能构成三角形
10
14
5
9
15
不能构成三角形
11
4
4
6
1,2,3,4,5,6,16
等腰三角形
12
4
6
4
1,2,3,4,5,6,17
等腰三角形
13
4
6
6
1,2,3,4,5,6,18
等腰三角形
14
4
5
6
1,2,3,4,5,6,19
一般三角形
15
4
4
4
1,2,3,4,5,6,20
等边三角形
16
4
5
6
1,2,3,4,5,6,21
一般三角形
17
4
5
6
1,2,3,4,5,6,22
一般三角形
18
4
5
6
1,2,3,4,5,6,23
一般三角形
19
3
4
5
1,2,3,4,5,6,24
直角三角形
20
3
5
4
1,2,3,4,5,6,25
直角三角形
21
5
3
4
1,2,3,4,5,6,26
直角三角形
22
4
5
6
1,2,3,4,5,6,27
一般三角形
2.5测试环境与配置
操作系统:
windows8.1
Cpu:
Intel(R)Core(TM)i7_4700HQ
内存:
8G
3、测试结论与总结
测试执行只是针对部分用户进行测试,尚有未考虑充分之处。
留待以后发现错误时进行纠正。
同时对测试工程师的工作也有了一定的认识。
知道测试工程师不是一个简单的工作,需要全面的知识和丰富的经验,还要有细心和耐心