软件测试-黑盒测试1

实验三 黑盒测试1

  1. 实验目的

(1)能熟练应用黑盒测试技术进行测试用例设计;

(2)对测试用例进行优化设计。

  1. 实验内容

题目1:三角形问题。

根据下面给出的规格说明,利用等价类划分的方法,导出足够的测试用例。

输入三个整数a、b、c 分别作为三角形的三条边,现通过程序判断由三条边

构成的三角形的类型为等边三角形、等腰三角形、一般三角形以及构不成三角形。

现在要求输入三个整数a、b、c,必须满足以下条件:

条件1: 1≤a≤100 条件2: 1≤b≤100

条件3: 1≤c≤100 条件4: a<b+c

条件5: b<a+c 条件6: c<a+b

步骤一:根据程序清单,给出等价类表

Test case

有效

编号

无效

编号

条件1

1≤a≤100

1

a<1

7

a>100

8

条件2

1≤b≤100

2

b<1

9

b>100

10

条件3

1≤c≤100

3

c<1

11

c>100

12

条件4

a≤b+c

4

a≥b+c

13

条件5

b≤a+c

5

b≥a+c

14

条件6

c≤a+b

6

c≥a+b

15

条件7

a,b,c均为整数

16

给的数存在非整数值

17

步骤二:设计测试用例,运行程序检查测试用例

Test

case

a

b

c

预期输出

实际输出

测试结果

1

3

3

3

等边三角形

等边三角形

2

4

4

1

等腰三角形

等腰三角形

3

2

3

4

一般三角形

一般三角形

4

-1

2

3

a= -1 不满足条件 1,不能够成三角形

a= -1 不满足条件 1,不能够成三角形

5

101

100

12

a= 101 不满足条件 1,不能够成三角形

a= 101 不满足条件 1,不能够成三角形

6

2

-1

3

b= -1 不满足条件 2,不能够成三角形

b=-1不满足条件 2,不能构成三角形

7

100

101

12

b= 101 不满足条件 2,不能够成三角形

b= 101 不满足条件 2,不能够成三角形

8

2

3

-1

c= -1 不满足条件 3,不能够成三角形

c= -1 不满足条件 3,不能够成三角形

9

100

12

101

c= 101 不满足条件 3,不能够成三角形

c= 101 不满足条件 3,不能够成三角形

10

10

2

5

不满足a<b+c,不能构成三角形

不满足a<b+c,不能构成三角形

11

2

10

5

不满足b<a+c,不能构成三角形

不满足b<a+c,不能构成三角形

12

2

5

10

不满足c<a+b,不能构成三角形

不满足c<a+b,不能构成三角形

13

4.2

1.2

5.2

输入a,b,c的值存在非整数

输入a,b,c的值存在非整数

×

题目2:能够求出三个在-10000 到 10000 间整数中的最大者。

1 单个文本框的测试用例设计

一、数值等价类

对每个文本框而言,输入值的限制是在-10000到10000之间。因此我们可以

划分一个有效等价类和两个无效等价类。根据这三个等价类,设计如下测试用例:

用例序号

测试用例

预期输出

实际结果

测试结果

失败原因

MAX001

输入-9800

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX002

输入0

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX003

输入9800

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX004

输入-110000

程序必须能判断输入的数越界并能告知用户

请输入一个-10000至10000之间的整数

MAX005

输入110000

程序必须能判断输入的数越界并能告知用户

请输入一个-10000至10000之间的整数

二、数据类型等价类

1、由于在文本框中只能输入整数,因此我们可以确定:

有效等价类:数字 无效等价类:字母、小数点、控制字符、功能键

MAX006

输入9

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX007

输入-数

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX008

输入+数

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX009

输入A

程序必须能检查用户输入的字符是否合理并能告知用户

请输入一个整数

MAX010

输入a

程序必须能检查用户输入的字符是否合理并能告知用户

请输入一个整数

MAX011

输入特殊字符如% ? !等

程序必须能检查用户输入的字符是否合理并能告知用户

请输入一个整数

MAX012

输入控制字符如ctrl shift

程序必须能检查用户输入的字符是否合理并能告知用户

请输入一个整数

MAX013

输入功能键如F1

程序必须能检查用户输入的字符是否合理并能告知用户

请输入一个整数

MAX014

输入12.34

程序必须能检查用户输入的字符是否合理并能告知用户

程序会自动将小数变为整数

MAX015

输入空格

程序必须能检查用户输入的字符是否合理并能告知用户

请输入一个整数

MAX016

输入0100

程序必须能按需求说明书中的规定将其自动转换为100

程序能按需求说明书中的规定将其自动转换为100

MAX017

输入00010

程序必须能按需求说明书中的规定将其自动转换为10

程序能按需求说明书中的规定将其自动转换为10

MAX018

输入---1

程序必须能检查用户输入的字符是否合理并能告知用户

请输入一个整数

MAX019

输入+++1

程序必须能检查用户输入的字符是否合理并能告知用户

请输入一个整数

根据上述分析,确定如下测试用例:

三、除了上面列出的测试用例,为了使程序的性能更稳定、良好,我们还要

MAX020

在输入一个数字后等待很长时间再输入下一个数字

测试的超时控制能否正常工作

测试的超时控制能正常工作

MAX021

输入120后按下回车

光标应自动转移到合适的位置

光标应自动转移到合适的位置

MAX022

直接输入回车

程序必须能够给出提示,要求用户必须进行输入

请输入一个整数

MAX023

输入Delete和退格键

程序必须能够正常删除

程序能够正常删除

MAX024

利用光标键移动

光标必须能跟踪到相应的位置

光标能跟踪到相应的位置

MAX025

在输入框内单击鼠标

光标必须能跟踪到相应的位置

光标能跟踪到相应的位置

MAX026

在输入框内双击鼠标

文本框内的全部内容处于选中状态

文本框内的全部内容处于选中状态

MAX027

输入一个数字后切换到其他程序然后切换回来

光标应该停留在原处

光标应该停留在原处

设计如下的测试用例:

四、边界值

要测试的程序边界值,我们可以设计出如下的测试用例:

MAX028

输入-10000

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX029

输入-10001

程序必须能检查用户的输入是否合理并给出提示

请输入一个-10000至10000之间的整数

MAX030

输入-9999

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX031

输入10000

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX032

输入10001

程序必须能检查用户的输入是否合理并给出提示

请输入一个-10000至10000之间的整数

MAX033

输入9999

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX034

输入0

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX035

输入1

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX036

输入-1

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX037

输入-99999

程序必须能检查用户的输入是否合理并给出提示

请输入一个-10000至10000之间的整数

MAX038

输入99999

程序必须能检查用户的输入是否合理并给出提示

请输入一个-10000至10000之间的整数

MAX039

输入99

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX040

输入100

程序必须能接受输入并运行正常

程序能接受输入并运行正常

MAX041

输入101

程序必须能接受输入并运行正常

程序能接受输入并运行正常

2 程序功能的测试用例设计

一、等价类

两个数值的大小有三种情况,大于、等于或小于,现在我们要对三个数进行

比较,因此可以划分出如下的等价类:

根据上面的等价类划分,我们可以设计出如下的测试用例:

MAX042

输入3 2 1

显示最大数是3

显示最大数是3

MAX043

输入3 2 2

显示最大数是3

显示最大数是3

MAX044

输入3 1 2

显示最大数是3

显示最大数是3

MAX045

输入3 3 2

显示最大数是3

显示最大数是3

MAX046

输入3 3 3

显示最大数是3

显示最大数是3

MAX047

输入3 3 4

显示最大数是4

显示最大数是4

MAX048

输入2 3 1

显示最大数是3

显示最大数是3

MAX049

输入2 3 3

显示最大数是3

显示最大数是3

MAX050

输入2 3 4

显示最大数是4

显示最大数是4

MAX051

输入3 1 4

显示最大数是4

显示最大数是4

二、其它

我们还可以测试其它的一些测试用例,如下表所示:

MAX052

使用Tab键

光标可在文本框间顺序移动

光标可在文本框间顺序移动

MAX053

当光标停在“取最大值”命令按钮上时按下确定按钮

求出最大值

求出最大值

MAX054

单击最小化、最大化、还原按钮

能正常工作

能正常工作

  1. 实验分析

对于实验题目一采用等价类划分来进行黑盒测试,有七个有效等价类和十个无效等价类。但是程序无法判断使用者输入不足三个整数,或者输入的三个数字不全为整数的情况。if ((typeid(a).name() == "int") && (typeid(b).name() == "int") && (typeid(c).name() == "int"))来进行非整数的判断。题目二采用了等价类和边界值测试方法,还考虑了一些其他可能导致程序出现错误的可能,程序测试没有出现很大问题,可以满足大体需要。

  1. 实验思考题

(1)在实际的测试中,如何设计测试用例才能达到用最少的测试用例检测出最多的缺陷?

答:首先要对需求做充足的分析,结合被测对象的特点,列出等价类。在此基础上分析出所有边界值,包括隐性的边界。在上述两类集合中选取交集,进行用例设计。尊崇以下原则:

•根据输入参数的代表值组合而成的有效等价类和无效测试用例按照测试用例的使用频率和重要程度排序,为每个测试用例设置不同的优先级,根据时间和资源的实际情况,有针对性地选择要执行的测试用例;

•优先选择包含边界值和边界值组合的测试用例;

•将一个等价类的每个代表值和其他等价类的每个代表值组合设计测试用例;

•保证满足最小原则,及一个等价类的每个代表值至少在一个测试用例中出现。

(2) 在进行用例设计时,如何考虑软件测试用例的充分性和减少软件测试用例的冗余性?

答:在编写测试用例的时候,要充分熟悉需求,并且了解软件的架构设计,各个模块的设计。精心选择测试数据来达到对需求的一个较好的覆盖率。在实际测试过程中,会因为软件的特性,可能各个模块之间有关联,这时可以安排好测试用例的执行顺序,以达到测试数据的重用。

  1. 实验总结

黑盒测试技术是我们常用的软件测试的方法,任何一款软件都不可能做到完全测试,只是尽可能的将方法结合使用,减少软件的缺陷,以便用户更好的体验。

问题:开始划分等价类的时候忘记边界值的问题,没有将边界值考虑进去,使得测试用例没有尽可能的覆盖。没有仔细辨别题目浪费了时间。最后发现自己基础知识有待提高,对待问题存在一知半解。

改进措施:对于黑盒测试,要尽可能考虑出每一种情况,所选的用例尽可能的覆盖到每一个类,加强专业知识的提高。

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
- 黑盒测试的目的是验证软件系统的功能是否按照规格说明书的要求正常工作,而不需要了解系统内部的实现细节。测试人员根据输入和预期输出来设计测试用例,然后执行这些测试用例,验证系统是否能够正确地处理输入并产生正确的输出。 - 白盒测试的目的是验证软件系统的内部逻辑是否正确。测试人员需要了解系统的内部实现细节,通过检查代码、执行路径和数据流等来设计测试用例,然后执行这些测试用例,验证系统是否能够正确地执行各种情况下的代码路径。 - 沙箱测试的目的是测试软件系统在隔离环境中的行为。测试人员在隔离的环境中运行系统,以确保系统不会对外部系统或环境产生负面影响。 - 单元测试的目的是验证系统中的单个模块是否按照设计要求正常工作。测试人员编写测试用例来验证模块的输入和输出,以确保模块能够正确地处理各种情况下的数据和逻辑。 - 集成测试的目的是验证系统中各个子系统之间的交互是否按照设计要求正常工作。测试人员使用模拟数据和环境来测试系统的各个部分,以确保它们能够协同工作。 - 用户验收测试的目的是验证系统是否满足用户的需求和期望。测试人员使用真实数据和环境来测试系统,并且模拟用户的使用情况,以确保系统能够满足用户的需求,并且易于使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

如果说爱他

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值