软件测试实验一 黑盒测试

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

一、实验目的

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

五、实验总结

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

目录
相关文章
|
9天前
|
机器学习/深度学习 前端开发 测试技术
探索软件测试中的自动化测试框架选择与优化策略####
本文深入探讨了在当前软件开发生命周期中,自动化测试框架的选择对于提升测试效率、保障产品质量的重要性。通过分析市场上主流的自动化测试工具,如Selenium、Appium、Jest等,结合具体项目需求,提出了一套系统化的选型与优化策略。文章首先概述了自动化测试的基本原理及其在现代软件开发中的角色变迁,随后详细对比了各主流框架的功能特点、适用场景及优缺点,最后基于实际案例,阐述了如何根据项目特性量身定制自动化测试解决方案,并给出了持续集成/持续部署(CI/CD)环境下的最佳实践建议。 --- ####
|
1月前
|
机器学习/深度学习 人工智能 监控
提升软件质量的关键路径:高效测试策略与实践在软件开发的宇宙中,每一行代码都如同星辰般璀璨,而将这些星辰编织成星系的过程,则依赖于严谨而高效的测试策略。本文将引领读者探索软件测试的奥秘,揭示如何通过精心设计的测试方案,不仅提升软件的性能与稳定性,还能加速产品上市的步伐,最终实现质量与效率的双重飞跃。
在软件工程的浩瀚星海中,测试不仅是发现缺陷的放大镜,更是保障软件质量的坚固防线。本文旨在探讨一种高效且创新的软件测试策略框架,它融合了传统方法的精髓与现代技术的突破,旨在为软件开发团队提供一套系统化、可执行性强的测试指引。我们将从测试规划的起点出发,沿着测试设计、执行、反馈再到持续优化的轨迹,逐步展开论述。每一步都强调实用性与前瞻性相结合,确保测试活动能够紧跟软件开发的步伐,及时适应变化,有效应对各种挑战。
|
1月前
|
测试技术 UED
软件测试的艺术:探索性测试的力量
【10月更文挑战第6天】在软件开发的世界中,测试是确保产品质量的关键步骤。传统的测试方法往往遵循严格的脚本和预定义的路径进行,但探索性测试(ET)则提供了一种更为灵活、创造性的替代方案。通过模拟真实用户的行为和思考过程,ET能够揭示那些传统测试可能遗漏的问题。本文将深入探讨探索性测试的核心原则、实施策略以及它如何提高软件测试的效率和有效性。
|
13天前
|
测试技术 开发者 UED
探索软件测试的深度:从单元测试到自动化测试
【10月更文挑战第30天】在软件开发的世界中,测试是确保产品质量和用户满意度的关键步骤。本文将深入探讨软件测试的不同层次,从基本的单元测试到复杂的自动化测试,揭示它们如何共同构建一个坚实的质量保证体系。我们将通过实际代码示例,展示如何在开发过程中实施有效的测试策略,以确保软件的稳定性和可靠性。无论你是新手还是经验丰富的开发者,这篇文章都将为你提供宝贵的见解和实用技巧。
|
11天前
|
jenkins 测试技术 持续交付
软件测试中的自动化测试策略
在当今快速发展的软件行业中,自动化测试已成为确保软件质量和效率的关键工具。本文将探讨自动化测试的重要性、实施策略以及面临的挑战,旨在为软件开发团队提供实用的指导和建议。
|
20天前
|
测试技术
探索软件测试中的“思维侧翼”——如何以创新思维引领测试策略###
本文旨在探讨软件测试领域中,如何通过培养与运用创新思维,提升测试策略的有效性与效率。不同于传统的技术解析或理论阐述,本文将以“思维侧翼”为喻,启发读者从不同维度审视软件测试,寻找突破常规的思路与方法。我们相信,在快速迭代的软件开发周期中,灵活多变且富有创造力的测试思维,是发现潜在缺陷、保障产品质量的关键。 ###
|
21天前
|
测试技术 定位技术 UED
软件测试的艺术:探索性测试的深度与广度
【10月更文挑战第22天】在软件开发的广阔舞台上,测试扮演着不可或缺的角色。本文将带领读者深入理解探索性测试(Exploratory Testing)的精髓,揭示其在现代软件质量保证中的价值。我们将通过实际案例、生动比喻和具体步骤,展现如何像艺术家一样进行软件测试,确保产品质量的同时,提升测试的效率和乐趣。文章不仅适合初学者建立测试基础,也能帮助资深测试人员深化对探索性测试的理解和应用。
|
20天前
|
监控 安全 jenkins
探索软件测试的奥秘:自动化测试框架的搭建与实践
【10月更文挑战第24天】在软件开发的海洋里,测试是确保航行安全的灯塔。本文将带领读者揭开软件测试的神秘面纱,深入探讨如何从零开始搭建一个自动化测试框架,并配以代码示例。我们将一起航行在自动化测试的浪潮之上,体验从理论到实践的转变,最终达到提高测试效率和质量的彼岸。
|
1月前
|
测试技术
软件质量保护与测试(第2版)学习总结第十章 黑盒测试
本文是《软件质量保护与测试》(第2版)第十章的学习总结,介绍了黑盒测试的基本概念和方法,包括等价类划分、边界值分析和因果图法,并通过具体例子展示了如何设计测试用例来验证软件的功能性需求。
65 1
软件质量保护与测试(第2版)学习总结第十章 黑盒测试
|
1月前
|
测试技术
软件测试中的探索性测试(ET)实践
【10月更文挑战第5天】本文将深入探讨一种与传统脚本化测试不同的测试方法——探索性测试(Exploratory Testing,简称ET)。我们将通过一个实际案例来展示ET的有效性,并分享如何将ET融入日常的软件测试流程中。文章旨在为测试人员提供一种灵活、高效的测试策略,帮助他们更好地发现软件中的缺陷。