软件测试实验.docx

上传人:b****6 文档编号:7292290 上传时间:2023-01-22 格式:DOCX 页数:12 大小:92.15KB
下载 相关 举报
软件测试实验.docx_第1页
第1页 / 共12页
软件测试实验.docx_第2页
第2页 / 共12页
软件测试实验.docx_第3页
第3页 / 共12页
软件测试实验.docx_第4页
第4页 / 共12页
软件测试实验.docx_第5页
第5页 / 共12页
点击查看更多>>
下载资源
资源描述

软件测试实验.docx

《软件测试实验.docx》由会员分享,可在线阅读,更多相关《软件测试实验.docx(12页珍藏版)》请在冰豆网上搜索。

软件测试实验.docx

软件测试实验

淮海工学院

(计算机工程学院)

课内实验报告

实验名称:

黑盒测试

专业名称:

软件工程

班级:

Z软件161

姓名:

陈真杰

学号:

2018140539

指导教师:

陈艳艳

实验日期:

2019年3月13

1、实验目的与环境

1.实验目的:

(1)理解黑盒测试的含义以及基本的测试方法。

(2)采用等价类划分法设计测试用例。

(3)掌握用等价类划分法设计测试用例的方法。

(4)掌握用因果图设计测试用例的方法。

(5)掌握用边界值分析法设计测试用例的方法。

2.实验环境:

C语言、Java语言、Python语言等。

2、实验内容

1.三角形问题:

输入3个整数a、b、c,分别作为三角形的3条边,通过程序判断由3条边构成的三角形的类型为等边三角形、等腰三角形、一般三角形或者3条边不构成三角形。

2.现有一个学生标准化考试批阅试卷、产生成绩报告的程序。

其规格说明为:

程序的输入文件有80个字符的记录组成,分为试题部分和学生答卷部分,具体内容如图所示。

试题部分包括如下内容:

(1)标题。

这一组只有一个记录,其内容为输出成绩报告的名字。

(2)标准答案。

每个记录在第80个字符处标以数字2。

第一个记录的第1~3个字符为“试题数”,用于标示题目编号;第10~59个字符给出第1~50题的答案,以此类推。

学生答卷部分包括内容:

每个记录的第80个字符均为数字3。

第1~9个字符给出学号,第10~59字符给出第1至第50题的答案,以此类推。

程序的输出有4个报告:

(1)按学号排列的成绩单,列出每个学生的成绩、名次。

(2)按学生成绩排序的成绩单。

(3)平均分数及标准偏差的报告。

(4)试题分析报告。

按试题号排序,列出各题学生答对的百分比。

3.售货机软件若投入1.5元硬币,按“可乐”“雪碧”或“红茶”按钮,送出相应的饮料;若投入的是2元硬币,在送出饮料的同时退还5角硬币。

请用因果图设计测试用例。

3、方案设计

1.等价类划分

输入3条边a、b、c必须满足以下条件:

条件11≤a≤100条件4a

条件21≤b≤100条件5b

条件31≤c≤100条件6c

如果输入值a、b、c满足条件1、条件2和条件3,则输出下列4种情况之一:

(1)如果不同时满足条件4、条件5和条件6.则程序输出为“不构成三角形”。

(2)如果3条边相等,则程序输出为“等边三角形”。

(3)如果恰好有两条边相等则程序输出为“等腰三角形”。

(4)如果3条边都不相等则程序输出为“一般三角形”。

2.边界值分析法

输入条件和输出条件详见测试用例设计部分。

3.因果图

执行以下操作:

投入硬币。

按按钮。

如果执行了以上两个操作中的一个或两个,则会出现以下3种情况之一:

(1)给出提示信息

(2)送出商品

(3)找零并送出商品

4、测试数据及运行结果

1.等价类划分

等价类划分如表1所示。

表1等价类划分表

输入条件

有效等价类

无效等价类

是否是三角形的3条边

(0

(1)

(0

(2)

(0

(a+b>c)(4)

(b+c>a)(5)

(c+a>b)(6)

(a<=0||a>100)(7)

(b<=0||b>100)(8)

(c<=0||c>100)(9)

(a+b<=c)(10)

(b+c<=a)(11)

(c+a<=b)(12)

是否是等腰三角形

(a=b)(13)

(b=c)(14)

(a=c)(15)

(a≠b&&b≠c&&a≠c)(16)

是否是等边三角形

(a=b&&b=c&&a=c)(17)

(a≠b)(18)

(b≠c)(19)

(a≠c)(20)

根据等价类划分设计测试用例,如表2所示。

表2等价类测试用例

用例

(a,b,c)

覆盖等价类

预期输出

实际输出

Test1

(4,5,6)

(1)~(6)

一般三角形

null

Test2

(0,1,2)

(7)

不构成三角形

不构成三角形

Test3

(2,0,3)

(8)

不构成三角形

Test4

(0,3,4)

(9)

不构成三角形

Test5

(2,3,6)

(10)

一般三角形

Test6

(6,2,3)

(11)

一般三角形

Test7

(2,3,6)

(12)

一般三角形

Test8

(4,4,5)

(1)~(6),(13)

等腰三角形

等腰三角形

Test9

(6,5,5)

(1)~(6),(14)

等腰三角形

等腰三角形

Test10

(6,7,6)

(1)~(6),(15)

等腰三角形

等腰三角形

Test11

(3,4,5)

(1)~(6),(16)

一般三角形

一般三角形

Test12

(4,4,4)

(1)~(6),(17)

等边三角形

等边三角形

Test13

(4,5,4)

(1)~(6),(18)

等边三角形

等腰三角形

Test14

(5,5,4)

(1)~(6),(19)

等边三角形

等腰三角形

Test15

(4,5,5)

(1)~(6),(20)

等边三角形

等腰三角形

测试结果如图1所示。

图2测试用例测试结果

2.边界值分析法

表为输入条件及相应的测试用例。

输入条件

测试用例

输入文件

空输入文件

标题

没有标题

标题只有一个字符

标题有80个字符

试题数

试题数为1

试题数为50

试题数为51

试题数为100

试题数为0

试题数含有非数字字符

标准答案记录

没有标准答案记录,有标题

标准答案记录多于一个

标准答案记录少于一个

学生人数

0个学生

1个学生

200个学生

201个学生

学生答题

某学生只有一一个回答记录,但有两个标准答案记录

该学生是文件中的第一个学生

该学生是文件中最后一-个学生(记录数出错的学生)

学生答题

某学生有两个回答记录,但只有一个标准答案记录

该学生是文件中的第一个学生(记录数出错的学生)

该学生是文件中最后一个学生

学生成绩

所有学生的成绩都相同

所有学生的成绩各不相同

部分学生的成绩相同

(检查是否能按成绩正确排名次)

有一个学生得0分

有一个学生得100分

输出条件及相应的测试用例如表所示。

输出条件

测试用例

输出第

(1)、

(2)个报告

有一个学生的学号最小(检查按学号排序是否正确)

有一个学生的学号最大(检查按学号排序是否正确)

适当的学生人数,使产生的报告刚好打满一页(检查打印页数)

学生人数比上一用例多出1人(检查打印换页)

输出第(3)个报告

平均成绩100

平均成绩0

标准偏差为最大值(有一半为0分,其他为100分)

标准偏差为0(所有成绩相同)

输出第(4)个报告

所有学生都答对了第一题

所有学生都答错了第一题

所有学生都答对了最后一题

所有学生都答错了最后一题

选择适当的试题数,使第(4)个报告刚好打满一页

试题数比上一用例多1,使报告打满一页后,刚好剩下一题未打

3.因果图

步骤1:

原因和结果分析。

原因(输入):

(1)投入1.5元硬币。

(2)投入2元硬币。

(3)按“可乐”按钮。

(4)按“雪碧”按钮。

(5)按“红茶”按钮。

中间状态:

(11)已投币。

(12)已按钮。

结果(输出):

(21)退还5角硬币。

(22)送出可乐。

(23)送出雪碧。

(24)送出红茶。

步骤2:

画出因果图,如图所示。

图1因果图

步骤3:

设计决策表。

根据因果图设计决策表,如表所示,这里只有11个,而不是2=32个,这是因为图中有很多限制条件导致某些情况不可能出现。

表1.1决策表

条件桩

动作桩

1

2

3

4

5

6

7

8

9

10

11

输入

投入1.5元硬币

(1)

1

1

1

1

0

0

0

0

0

0

0

投入2元硬币

(2)

0

0

0

0

1

1

1

1

0

0

0

按“可乐”按钮

(3)

1

0

0

0

1

0

0

0

1

0

0

按“雪碧”按钮

(4)

0

1

0

0

0

1

0

0

0

1

0

按“红茶”按钮

(5)

0

0

1

0

0

0

1

0

0

0

1

中间节点

已投币

(11)

1

1

1

1

1

1

1

1

0

0

0

已按钮

(12)

1

1

1

0

1

1

1

0

1

1

1

输出

退还5角硬币

(21)

0

0

0

0

1

1

1

0

0

0

0

送出可乐

(22)

1

0

0

0

1

0

0

0

0

0

0

步骤4:

设计测试用例。

根据决策表设计测试用例,如表所示。

并执行了相关测试,得到的结果如表所示。

编号

用例说明

输入数据

预期结果

实际结果

01

投入硬币,按下按钮

1.5元,按“可乐”按钮

送出可乐

送出可乐

02

投入硬币,按下按钮

1.5元,按“雪碧”按钮

送出雪碧

送出雪碧

03

投入硬币,按下按钮

1.5元,按“红茶”按钮

送出红茶

送出红茶

04

投入硬币

1.5元

给出提示信息

给出提示信息

05

投入硬币,按下按钮

2元,按“可乐”按钮

退还5角,送出可乐

退还5角,送出可乐

06

投入硬币,按下按钮

2元,按“雪碧”按钮

退还5角,送出雪碧

退还5角,送出雪碧

07

投入硬币,按下按钮

2元,按“红茶”按钮

退还5角,送出红茶

退还5角,送出红茶

08

投入硬币

2元

给出提示信息

给出提示信息

09

按下按钮

按“可乐”按钮

给出提示信息

给出提示信息

10

按下按钮

按“雪碧”按钮

给出提示信息

给出提示信息

11

按下按钮

按“红茶”按钮

给出提示信息

给出提示信息

5、总结

通过本次软件测试我学到了很多东西,也有了很多的体会,使我想到有一句话说的是“从已知现象解决未知问题!

”这句话很好的概括了黑盒测试。

我对黑盒测试的理解是:

站在用户的角度去思考使用程序的所有情况,完全摒弃代码部分的逻辑结构。

这样测试,通过结果去推断出现问题的原因,这个过程是程序员对自己代码的重新梳理,还可以对代码的逻辑结构进行优化。

是一个很好的测试方法,但这只是黑盒测试中的一个小部分,我还会继续学习其它的黑盒测试方法,并去思考和总结的。

6、附录:

源代码

importjava.util.Scanner;

publicclassTriangle_test{

publicstaticvoidmain(String[]args)

{

Scannerss=newScanner(System.in);

floata=1,b=1,c=1;

while(a!

=1000||b!

=1000||c!

=1000)

{

System.out.println("请输入三角形的三边a,b,c的值:

");

a=ss.nextFloat();

b=ss.nextFloat();

c=ss.nextFloat();

System.out.println(test(a,b,c));

}

}

publicstaticStringtest(floatx,floaty,floatz)

{

Stringk=null;

if(x>0&&x<101&&y>0&&y<101&&z>0&&z<101)

{

if(x+y>z&&x+z>y&&y+z>x)

{

if(x==y&&y==z)

{

k="是等边三角形";

}

elseif(x==y||x==z||y==z)//调整并列关系

{

k="是等腰三角形";

}

else{

k="是一般三角形";//调整并列关系

}

}else{

k="不构成三角形";//添加补充条件

}

}

else{

k="不构成三角形";

}

returnk;

}

}

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 研究生入学考试

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1