黑盒测试
1. 黑盒测试定义
黑盒测试是一种软件测试技术,它可以检查软件的功能,而不会窥视其内部结构或编码。黑盒测试的主要来源是客户声明的要求规范。
黑盒测试的特点:
- 黑盒测试与软件的具体实现过程无关,如果实现过程发生了变化,测试用例与数据仍然可以正常使用。
- 黑盒测试的测试用例设计可以与软件的开发工作同时进行,可以压缩项目的总开发时间。
在此方法中,测试人员选择一个函数并提供输入值以检查它的功能,并检查该函数是否给出了预期的输出。如果函数产生正确的输出,则在测试中传递,否则测试失败。测试团队将结果报告给开发团队,然后测试下一个功能。如果出现严重问题,在完成所有功能的测试后,会将测试结果返回给开发团队进行更正。
黑盒测试的测试过程是测试人员对软件工作有特定知识的一种过程,它开发测试用例以检查软件功能的准确性。
它不需要软件的编程知识。所有测试用例都是通过考虑特定函数的输入和输出来设计的。测试人员知道特定输入的确定输出,但不知道结果是如何产生的。黑盒测试中使用各种技术进行测试,如决策表技术,边界值分析技术,状态转换,全对测试,因果图技术,等价划分技术,错误猜测技术,用例技术和用户故事技术。所有这些技术都已在本教程中详细解释。
以下是黑盒测试使用的技术
编号 | 技术 | 描述说明 |
---|---|---|
1 | 决策表技术 | 决策表技术是一种系统方法,以表形式捕获各种输入组合及其各自的系统行为。它适用于在两个和两个以上输入之间具有逻辑关系的函数。 |
2 | 边界值问题技术 | 边界值技术用于测试边界值,边界值是包含变量上限和下限的边界值。它在输入边界值时测试软件是否产生正确的输出。 |
3 | 状态转换技术 | 状态转换技术用于在向同一功能提供不同的输入值时捕获软件应用程序的行为。它适用于那些提供访问应用程序的特定尝试次数的应用程序类型。 |
4 | 成对测试技术 | 成对测试技术用于测试所有可能的离散值组合。这种组合方法用于测试使用复选框输入,单选按钮输入,列表框,文本框等的应用程序。 |
5 | 因果技术 | 因果技术强调了给定结果与影响结果的所有因素之间的关系。它基于一系列要求。 |
6 | 等价类划分技术 | 等价类划分是一种软件测试技术,其输入数据被划分为有效值和无效值的分区,并且所有分区必须表现出相同的行为。 |
7 | 错误猜测技术 | 错误猜测是一种没有用于识别错误的特定方法的技术。它基于测试分析师的经验,测试人员使用该经验来猜测软件的有问题区域。 |
8 | 用例技术 | 用例技术用于根据系统的使用情况从系统的开头到结尾识别测试用例。通过使用这种技术,测试团队创建了一个测试场景,可以从头到尾根据每个功能的功能运行整个软件。 |
2. 决策表技术
决策表技术是用于黑盒测试的广泛使用的用例设计技术之一。这是一种系统方法,它以表格形式捕获各种输入组合及其各自的系统行为。
它也称为因果表。该技术用于系统地选择测试用例; 它节省了测试时间,并为软件应用程序的测试区域提供了良好的覆盖。
决策表技术适用于在两个和两个以上输入之间具有逻辑关系的函数。
该技术与输入的正确组合有关,并确定各种输入组合的结果。要通过决策表技术设计测试用例,需要将条件视为输入,将操作视为输出。
案例:
邮箱登陆,输入邮箱号与密码
如果电子邮件和密码都正确匹配,则将用户定向到电子邮件帐户的主页; 否则,它将返回登录页面,并显示错误消息“电子邮件不正确”或“密码不正确”。
条件1 | 条件2 | 结果 |
---|---|---|
邮箱号正确 | 密码正确 | 成功登陆 |
邮箱号不正确 | 密码正确 | 提示邮箱号错误 |
邮箱号正确 | 密码不正确 | 提示密码错误 |
邮箱号不正确 | 密码不正确 | 提示密码或邮箱号错误 |
3. 边界值分析
边界值分析是广泛使用的黑盒测试用例设计技术之一。它用于测试边界值,因为边界附近的输入值具有较高的误差机会。
每当我们通过边界值分析进行测试时,测试人员会在输入边界值时关注软件是否产生正确的输出。
边界值是包含变量上限和下限的值。假设age是任何函数的变量,其最小值为18,最大值为30,18和30都将被视为边界值。
边界值分析的基本假设是,使用边界值创建的测试用例最有可能导致错误。
使用边界值划分法的步骤:
- 如果软件需求中对输入数据规定了范围,则在实施测试时应当选择范围的边界 [1]、略微超出边界 [2]、略微低于边界 [3] 的三种值作为软件测试的输入数据。
- 示例:待测试软件为一个可以计算 0 - 100 之间的两整数相加结果的计算器。当使用边界值划分法进行测试时,可以选择 0、100、1、101、-1、99 作为加数的主要测试输入数据,而不必测试例如 “30 + 45” 一类的结果。
- 如果软件需求中对输入数据规定了个数,则在实施测试时应当选择最大个数 [1]、最小个数 [2]、最大个数 +1 [3]、最小个数 -1 [4] 的四种值作为软件测试的输入数据。
- 示例:待测试软件为一个可以计算 4 - 7 个数字相加结果的计算器。当使用边界值划分法进行测试时,可以选择 4 个、7 个、3 个、8 个数字作为加数个数的主要测试输入数据,而不必测试例如 “5 个数字” 或 “6 个数字” 相加时的结果。
- 如果软件需求中指出输入域或输出域是有序集合的话,则在实施测试时应当选择集合中的第一个与最后一个元素作为测试用例。如果软件中使用了内部数据结构的话,则应当选择内部数据结构的边界上的值作为测试用例。
边界值数据的总体选择原则:刚刚等于、刚刚大于、刚刚小于。
4. 状态转化技术
状态转换的一般含义是,相同情况的不同形式,并且根据含义,状态转换方法也是如此。当不同的输入值赋予相同的函数时,它用于捕获软件应用程序的行为。 我们都使用过自动取款机,当从中取款时,它会显示帐户详细信息。现在再次进行另一次交易,然后再次显示帐户详细信息,但第二次交易后显示的详细信息与第一次交易不同,但两个详细信息都使用ATM的相同功能显示。所以这里使用了相同的函数,但每次输出不同时,这称为状态转换。在测试软件应用程序的情况下,此方法测试函数是否遵循进入不同输入的状态转换规范。 这适用于那些提供访问应用程序的特定尝试次数的应用程序类型,例如:在指定次数的错误尝试后会锁定应用程序的登录功能。在使用电子邮件和密码的登录功能中,它提供了特定次数的尝试来访问应用程序,在超过最大尝试次数后,它会锁定然后显示错误消息。
应用程序的登录功能提供最多三次尝试,并且在超过三次尝试之后,它将定向到错误页面。
5. 成对测试技术
成对测试技术也称为配对测试。它用于测试所有可能的离散值组合。这种组合方法用于测试使用复选框输入,单选按钮输入的应用程序(当必须选择一个选项时使用单选按钮,例如当选择性别男性或女性时,只能选择一个选项),列表框 ,文本框等
6. 因果测试技术
因果图来自黑盒测试技术,该技术强调了给定结果与影响结果的所有因素之间的关系。它用于编写动态测试用例。
当代码根据用户输入动态运行时,将使用动态测试用例。例如,在使用电子邮件帐户时,在输入有效的电子邮件时,系统会接受它,但是当您输入无效的电子邮件时,它会抛出错误消息。在这种技术中,输入条件被赋予原因,并且这些输入条件的结果具有效果。
因果图技术基于一系列需求,用于确定可覆盖软件最大测试区域的最小可能测试用例。
因果图测试的主要优点是,它减少了测试执行的时间和成本。
该技术旨在减少测试用例的数量,但仍覆盖所有必要的测试用例,覆盖范围最大,以达到所需的应用程序质量。
因果图技术通过使用AND,OR和NOT等逻辑运算符将需求规范转换为输入和输出条件之间的逻辑关系。
7.等价类法
等价类划分法:指的是依据软件需求对测试输入数据的范围进行细分,然后在每个细分区域中选取一个有代表性的测试数据,以此测试数据来开展测试工作。
等价类划分法摒弃了工作量繁重的穷举测试法,将测试输入数据进行合理的分类,形成对应的有代表性的测试用例,以此来减轻软件测试的工作量。
等价类分为以下两种:等价类 = 有效等价类 + 无效等价类
- 有效等价类:符合需求说明的合理软件测试输入数据的集合。
- 无效等价类:不符合需求说明的无意义软件测试输入数据的集合。
使用等价类划分法的步骤:
- 依据常用方法来为软件的测试输入数据划分等价类
- 为列表中的每一个等价类规定唯一的编号
- 设计一个新的软件测试用例,使其可以覆盖尽可能多的尚未被覆盖的有效等价类
- 重复步骤 3,直至所有的有效等价类全部被测试用例覆盖
- 设计一个新的软件测试用例,使其仅覆盖一个尚未被覆盖的无效等价类
覆盖尽可能多的尚未被覆盖的有效等价类 - 重复步骤 3,直至所有的有效等价类全部被测试用例覆盖
- 设计一个新的软件测试用例,使其仅覆盖一个尚未被覆盖的无效等价类
- 重复步骤 5,直至所有的无效等价类全部被测试用例覆盖