软件测试技术及测试用例设计示例

什么是软件测试技术?

软件测试技术有助于您设计更好的测试用例。由于不可能进行穷尽测试,手动测试技术有助于减少要执行的测试用例数量,同时增加测试覆盖率。它们有助于识别否则难以识别的测试条件。

边界值分析 (BVA)

边界值分析基于在分区边界处进行测试。它包括最大值、最小值、边界内部或外部、典型值和错误值。

通常观察到,大量的错误发生在定义输入值的边界处,而不是中心。它也称为 BVA,提供了一组测试用例,用于测试边界值。

这种黑盒测试技术补充了等价类划分。这种软件测试技术基于这样一个原则:如果系统对于这些特定值运行良好,那么它对于介于两个边界值之间的所有值都将运行良好。

边界值分析指南

  • 如果输入条件限制在值 x 和 y 之间,则测试用例应设计为使用值 x 和 y 以及高于和低于 x 和 y 的值。
  • 如果输入条件是大量值,则应开发测试用例,需要测试最小值和最大值。在此,还将测试高于和低于最小值和最大值的值。
  • 将指南 1 和 2 应用于输出条件。它提供了一个反映预期最小值和最大值的输出。它还测试低于或高于的值。

示例

Input condition is valid between 1 to 10

Boundary values 0,1,2 and 9,10,11

等价类划分

等价类划分允许您将一组测试条件划分为应被视为相同的分区。这种软件测试方法将程序的输入域划分为数据类,从中设计测试用例。

此测试用例设计技术背后的概念是,每个类的代表值的测试等同于同一类的任何其他值的测试。它允许您识别有效和无效的等价类。

示例

输入条件在以下范围内有效

 1 to 10 and 20 to 30

因此有五个等价类

--- to 0 (invalid)
1 to 10 (valid)
11 to 19 (invalid)
20 to 30 (valid)
31 to --- (invalid)

您从每个类中选择值,即

-2, 3, 15, 25, 45

另请阅读更多关于 – 边界值分析和等价类划分测试

基于决策表的测试

决策表也称为因果表。这种软件测试技术用于响应输入或事件组合的函数。例如,如果用户已输入所有必填字段,则应启用提交按钮。

第一个任务是识别输出取决于输入组合的功能。如果输入组合集很大,则将其划分为较小的子集,这有助于管理决策表。

对于每个函数,您需要创建一个表,并列出所有类型的输入组合及其相应的输出。这有助于识别测试人员可能忽略的条件。

以下是创建决策表的步骤

  • 在行中列出输入
  • 在列中输入所有规则
  • 用不同的输入组合填充表格
  • 在最后一行,记下与输入组合对应的输出。

示例:联系表中的提交按钮仅在最终用户输入所有输入后才启用。

Decision Table Based Testing

状态转换

在状态转换技术中,输入条件的变化会改变被测应用程序 (AUT) 的状态。这种测试技术允许测试人员测试 AUT 的行为。测试人员可以通过按顺序输入各种输入条件来执行此操作。在状态转换技术中,测试团队提供正面和负面输入测试值来评估系统行为。

状态转换指南

  • 当测试团队测试具有有限输入值集的应用程序时,应使用状态转换。
  • 当测试团队想要测试被测应用程序中发生的一系列事件时,应使用测试用例设计技术。

示例

在以下示例中,如果用户在前三次尝试中的任何一次输入有效密码,用户将能够成功登录。如果用户在第一次或第二次尝试时输入无效密码,则会提示用户重新输入密码。当用户第三次输入密码不正确时,将采取措施,账户将被锁定。

状态转换图

State Transition Diagram

在此图中,当用户输入正确的 PIN 码时,他或她将进入“访问已授予”状态。下表是根据上图创建的。

状态转换表

正确 PIN 码 不正确 PIN 码
S1) 开始 S5 S2
S2) 第一次尝试 S5 S3
S3) 第二次尝试 S5 S4
S4) 第三次尝试 S5 S6
S5) 访问已授予
S6) 账户已锁定

在上述表格中,当用户输入正确的 PIN 码时,状态转换为“访问已授予”。如果用户输入不正确的密码,他或她将进入下一个状态。如果他第三次这样做,他将达到“账户已锁定”状态。

错误推测

错误猜测是一种基于猜测代码中可能存在的错误的软件测试技术。该技术严重依赖经验,测试分析师利用他们的经验来猜测测试应用程序中存在问题的部分。因此,测试分析师必须熟练且经验丰富,才能更好地进行错误猜测。

该技术列出了可能出现的错误或易出错情况。然后测试人员编写 测试用例 来揭示这些错误。为了根据这种软件测试技术设计测试用例,分析师可以利用过去的经验来识别条件。

错误猜测指南

  • 测试应利用测试类似应用程序的先前经验
  • 理解被测系统
  • 了解典型的实现错误
  • 记住以前出现问题的领域
  • 评估历史数据和测试结果

结论

  • 测试用例设计技术允许您设计更好的用例。主要有五种常用技术。
  • 边界值分析是在分区边界处进行测试。
  • 等价类划分允许您将一组测试条件划分为应被视为相同的分区。
  • 决策表软件测试技术用于响应输入或事件组合的函数。
  • 在状态转换技术中,输入条件的变化会改变被测应用程序 (AUT) 的状态。
  • 错误猜测是一种软件测试技术,它基于猜测代码中可能存在的错误。