软件测试实验一 黑盒测试

简介: 软件测试实验一 黑盒测试

一、实验目的

1.掌握等价类划分法;

2.掌握边界值分析法;

3.掌握因果图与决策表法;

4.掌握正交实验设计法。

二、实验内容

1.判断三角形的形状。输入三条边,如果可以构成三角形,进一步判断是否是等腰三角形或等边三角形。请用边界值分析法设计测试用例。

2.输入三个整数a、b、c,分别作为三角形的三条边,通过程序判断这三条边是否能构成三角形?要求输入三个整数a、b、c,必须满足以下条件:1≤a≤100;1≤b≤100;1≤c≤100。请用边界值分析法设计测试用例。

3.现有一份自动饮料售货机软件的规格说明如下:

有一个处理单价为1元5角的盒装饮料的自动售货机软件。若投入1元5角硬币,按下“可乐”、“雪碧”、“红茶”按钮,相应的饮料就送出来。若投入的是2元硬币,在送出饮料的同时退还5角硬币。请画出该说明的因果图,然后采用决策表法为该功能设计测试用例。

4. 在信息系统中,设有3个独立的查询条件:员工号(ID)、员工姓名(Name)、员工邮件地址(Mail Address),以获得特定员工的个人信息。用正交实验设计法设计测试用例。

三、实验步骤

1.等价类法

1)确定等价类的原则:

① 在输入条件规定了取值范围或值的个数的情况下,可以确立一个有效等价类和两个无效等价类。

② 在输入条件规定了输入值的集合或者规定“必须如何”的条件下,可以确立一个有效等价类和一个无效等价类。

③ 在输入条件是一个布尔量的情况下,可以确定一个有效等价类和一个无效等价类。

④ 在规定了输入数据的一组值(假定 n 个),并且程序要对每一个值分别处理的情况下,可确立 n 个有效等价类和一个无效等价类。

⑤ 在规定了输入数据必须遵守的规则的情况下,可确立一个有效等价类(符合规则)和若干个无效等价类(不同角度违反规则)。

⑥ 在确知已划分的等价类中,各元素在程序处理中的方式不同的情况下,则应再将该等价类进一步地划分为更小的等价类

2)等价类法设计测试用例步骤

①划分等价类后,建立等价类表,并为每一个等价类规定一个唯一的编号;

②设计一个测试用例,使其尽可能多地覆盖尚未被覆盖地有效等价类,重复这一步骤,直到所有的有效等价类都被覆盖为止;

③设计一个新的测试用例,使其仅覆盖一个尚未被覆盖的无效等价类,重复这一步骤,直到所有的无效等价类都被覆盖为止。(因为用单个测试用例覆盖无效等价类,是因为某些特定的输入错误会屏蔽或取代其他输入错误检查)

2.边界值法设计测试用例的原则:

① 如果输入条件规定了值的范围,则应取刚达到这个范围的边界的值,以及刚刚超越这个范围边界的值作为测试输入数据。

② 如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少 1 、比最大个数多 1 的数作为测试数据。

③ 根据规则说明的每个输出条件,使用前面的原则 ①。

④ 根据规则说明的每个输出条件,应用前面的原则 ②。

⑤ 如果程序的规格说明给出的输入域是有序集合,则应选取集合的第一个元素和最后一个元素作为测试用例。

⑥ 如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构边界上的值作为测试用例。

⑦ 分析规格说明,找出其他可能的边界条件。

3)决策表(判定表)设计测试用例的步骤:

1确定规则数,条件数为n,规则个数=2n

2列出所有条件桩和动作桩

3填入条件项

4填入动作项

5简化判定表,合并相似规则

4)因果图法设计测试用例的步骤:

1分析程序规格说明书的描述中,哪些是原因,哪些是结果,原因常常是输入条件或输入条件的等价类,而结果常常是输出条件。

2分析程序规格说明书中描述的的语义内容,并将其表示成连接各个原因与各个结果的因果图。

3由于语法或环境的限制,有些原因和结果的组合情况是不可能出现的,为表现这些特定的情况,在因果图上使用若干特殊的符号表明约束条件。

4把因果图转化为决策表(判断表)。

5为决策表中每一列表示的情况设计测试用例。

5)正交实验设计法

四、实验结果

1.等价类法

要求

有效等价类

编号

无效等价类

编号

输入3个数

输入3个数

1

不输入任何数

2

只输入1个数

3

只输入2个数

4

多于3个数

5

输入3个数是否为正

3个数都为正

6

有1个数小于0

7

有2个数小于0

8

有3个数小于0

9

3个数能否构成三角形

任意两数之和大于第三数

10

任意两数之和小于第三数

11

3个数能否构成等腰三角形

任意两数相等:a=b|a=c|b=c

12

3个数能否构成等边三角形

构成等边三角形:a=b=c

13

2.边界值法

测试用例

输入数据

预期输出

备注

a

b

c

1

1

100

100

等腰三角形

对A的边界值分析

2

2

100

100

等腰三角形

3

99

100

100

等腰三角形

4

100

100

100

等边三角形

5

100

1

100

等腰三角形

对B的边界值分析

6

100

2

100

等腰三角形

7

100

99

100

等腰三角形

8

100

100

100

等边三角形

9

100

100

1

等腰三角形

对C的边界值分析

10

100

100

2

等腰三角形

11

100

100

99

等腰三角形

12

100

100

100

等边三角形

3.

(1)因果图

原因

结果

C1:投入1元5角硬币

E1:送出可乐

C2:投入2元硬币

E2:送出雪碧

C3:按下“可乐”

E3:送出红茶

C4:按下“雪碧”

E4:退还5角硬币

C5:按下“红茶”

E5:提示投入硬币

(2)决策法

选项/

规则

1

2

3

4

5

6

7

条件

C1

1

1

1

0

0

0

0

C2

0

0

0

1

1

1

0

C3

1

0

0

1

0

0

-

C4

0

1

0

0

1

0

-

C5

0

0

1

0

0

1

-

10

1

1

1

1

1

1

0

动作

E1

E2

E3

E4

E5

测试用例

投1元5角硬币按下可乐

投1元5角硬币按下雪碧

投1元5角硬币按下红茶

投2元硬币按下可乐

投2元硬币按下雪碧

投2元硬币按下红茶

不投硬币按下可乐

测试用例:

测试用例编号

输入

预期输出

1

投1元5角硬币按下可乐

送出可乐

2

投1元5角硬币按下雪碧

送出雪碧

3

投1元5角硬币按下红茶

送出红茶

4

投2元硬币按下可乐

送出可乐退还5角

5

投2元硬币按下雪碧

送出雪碧退还5角

6

投2元硬币按下红茶

送出红茶退还5角

7

不投硬币按下可乐

提示投入硬币

4.正交实验设计

员工号(ID)

员工姓名(Name)

员工邮件地址(Mail Address)

因子数

水平数

1

2

3

1

1

1

1

2

1

0

0

3

0

1

0

4

0

0

1

查询条件

测试用例

员工号

姓名

邮件地址

1

True

True

True

2

True

False

False

3

False

True

False

4

False

False

True

五、实验总结

在实验过程中遇到了各种各样的问题,有些是对概念理解不清楚,但是通过与同学们相互讨论,所有问题都迎刃而解,并且成功完成了实验。

目录
相关文章
|
17天前
|
人工智能 搜索推荐 数据管理
探索软件测试中的自动化测试框架选择与优化策略
本文深入探讨了在现代软件开发流程中,如何根据项目特性、团队技能和长期维护需求,精准选择合适的自动化测试框架。
68 8
|
1月前
|
测试技术
软件测试的艺术:探索式测试的实践与思考
在软件开发的广阔海洋中,测试是确保航船稳健行驶的关键。本文将带你领略探索式测试的魅力,一种结合创造性思维和严格方法论的测试方式。我们将一起揭开探索式测试的神秘面纱,了解其核心概念、实施步骤和带来的效益。通过实际代码示例,你将学会如何将探索式测试融入日常的软件质量保证流程中,提升测试效率与质量。
|
25天前
|
测试技术 持续交付
探索软件测试中的自动化测试策略
随着软件开发周期的加速和市场需求的不断增长,传统的手动软件测试方法已难以满足现代软件开发的高效性和准确性要求。本文旨在探讨自动化测试在软件测试中的重要性、实施策略及其对提高软件质量的影响。通过分析自动化测试的优势与挑战,以及提供实用的自动化测试工具和框架选择指南,旨在帮助读者理解并应用自动化测试以提升软件开发效率和产品质量。
|
24天前
|
机器学习/深度学习 人工智能 监控
软件测试中的自动化测试策略与最佳实践##
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和加速产品上市的关键工具。本文将探讨自动化测试的重要性,分析不同类型的自动化测试工具和框架,并深入讨论实施自动化测试的最佳实践。通过案例研究和数据分析,我们将揭示如何有效整合自动化测试到软件开发生命周期中,以及它如何帮助团队提高测试效率和覆盖率。 ##
43 1
|
1月前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
1月前
|
测试技术 UED 开发者
软件测试的艺术与科学:探索有效的测试策略
在软件开发的宇宙中,测试是一颗璀璨的星辰,它不仅保障着产品的质量,也指引着项目的方向。本文将带你穿梭于测试的银河系,从基础的单元测试到复杂的集成测试,再到全面的系统测试,我们将一探究竟。你会发现,每一个测试阶段都是一次对代码深度和广度的挑战,也是一次对开发者耐心和智慧的考验。准备好了吗?让我们开始这段探索之旅,看看如何通过精心设计的测试案例来确保我们的软件能够在现实世界中稳健运行。
|
22天前
|
Java 测试技术 API
探索软件测试中的自动化测试框架
本文深入探讨了自动化测试在软件开发中的重要性,并详细介绍了几种流行的自动化测试框架。通过比较它们的优缺点和适用场景,旨在为读者提供选择合适自动化测试工具的参考依据。
|
23天前
|
数据管理 测试技术 持续交付
软件测试中的自动化测试策略与最佳实践
在当今快速迭代的软件开发环境中,自动化测试已成为确保软件质量和加速产品上市的关键手段。本文旨在探讨软件测试中的自动化测试策略,包括选择合适的自动化测试工具、构建有效的自动化测试框架以及实施持续集成和持续部署(CI/CD)。通过分析自动化测试的最佳实践,本文为软件开发团队提供了一系列实用的指南,以优化测试流程、提高测试效率并减少人为错误。
57 4
|
23天前
|
监控 测试技术 定位技术
探索软件测试中的自动化测试框架选择与实施###
本文不概述传统意义上的摘要内容,而是直接以一段对话形式引入,旨在激发读者兴趣。想象一下,你是一名勇敢的探险家,面前摆满了各式各样的自动化测试工具地图,每张地图都指向未知的宝藏——高效、精准的软件测试领域。我们将一起踏上这段旅程,探讨如何根据项目特性选择合适的自动化测试框架,并分享实施过程中的关键步骤与避坑指南。 ###
32 4
|
23天前
|
测试技术 持续交付 数据安全/隐私保护
软件测试的艺术与科学:探索自动化测试框架
在软件开发的世界中,测试是确保产品质量的关键环节。本文将深入探讨自动化测试框架的重要性和实现方法,旨在为读者揭示如何通过自动化测试提升软件测试效率和准确性。我们将从测试的基本概念出发,逐步引导读者了解自动化测试框架的设计和实施过程,以及如何选择合适的工具来支持测试活动。文章不仅提供理论知识,还将分享实用的代码示例,帮助读者将理论应用于实践。无论你是测试新手还是经验丰富的开发者,这篇文章都将为你打开一扇通往更高效、更可靠软件测试的大门。
23 1

热门文章

最新文章