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


软件测试技术有哪些不同类型?

软件测试技术可以帮助您创建更有效的测试用例。手动测试技术有助于减少需要执行的测试用例数量,同时提高测试覆盖率,因为穷举测试是不可能的。它们有助于检测可能难以检测到的测试场景。

边界值分析 (BVA)

边界值分析是一种在分区交点处进行的测试类型。包括最大值、最小值、内部或外部边界、典型值和错误值。

大量的错误发生在定义的输入值的边界,而不是中心。它也称为 BVA,它提供了一组将边界值进行测试的测试场景。

这种黑盒测试方法是对等价划分的补充。这种软件测试方法基于这样的思想:如果系统对这些特定值执行良好,那么它将对两个边界值之间的所有值执行良好。

边界值分析指南

如果输入条件限制在值 x 和 y 之间,则测试用例应包括 x 和 y 值以及 x 和 y 以上和以下的值。

如果输入条件具有大量值,则应创建一个执行最低值和最大值的测试用例。本节还检查最小值和最大值以上和以下的值。

将第一和第二条建议应用于输出条件。它产生一个代表预测的最小值和最大值的输出。它还检查低于或高于某个阈值的值。

等价类划分的示例

等价类划分将一组测试条件划分为应以相同方式处理的分区。这种软件测试方法将程序的输入域划分为数据类,从中应创建测试用例。

这种方法背后的理念是,每个类的代表值的测试用例与同一类的任何其他值的测试相同。它使您能够区分有效和无效的等价类。

示例

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

从 1 到 10 和从 20 到 30

因此,有五种等价类型。

-- 等于 0(无效)

1 到 10(有效)

11 到 19(无效)

20 到 30(有效)

31 到 --(无效)

您从每个类中选择值,例如,

-2, 3, 15, 25, 45, 45, 45, 45, 45, 45, 45, 45

使用决策表进行测试。

因果图也称为决策表。这种软件测试方法用于响应各种输入或事件组合的功能。例如,如果用户已填写所有必要信息,则应激活提交按钮。

第一步是识别其输出取决于多个不同输入的功能。如果输入可能性集合很大,则将其分解成更小的子集,以便于管理决策表。

为每个函数创建一个表,并列出所有可能的输入和输出组合。这有助于检测测试人员可能错过的条件。

创建决策表的步骤如下:

  • 在列中列出输入。

  • 在列中填写所有规则。

  • 用各种输入组合填充表。

  • 在最后一行记录输出与输入组合的关系。

例如,联系表单上的提交按钮仅在最终用户填写所有必填字段后才会激活。

状态转换

在状态转换方法中,输入条件的变化会改变被测应用程序 (AUT) 的状态。测试人员可以使用此方法测试 AUT 的行为。测试人员可以通过依次输入各种输入条件来执行此操作。测试团队使用状态转换方法,通过提供正负输入测试值来评估系统的行为。

状态转换指南

  • 当测试团队正在评估应用程序的一组有限的输入值时,应使用状态转换。

  • 当测试团队希望测试在被测应用程序中发生的一系列事件时,应使用此方法。

示例

在以下示例中,如果用户在前三次尝试中的任何一次都提供了正确的密码,则用户将能够成功登录。如果用户在第一次或第二次尝试中输入了错误的密码,则会要求用户重新输入密码。当用户第三次错误地输入密码时,将采取操作,并且帐户将被阻止。

白盒或基于结构的方法

基于结构或白盒的方法根据软件的底层结构创建测试用例。此方法彻底检查已生成的代码。深入了解软件代码、其内部结构和设计的开发人员有助于创建测试用例。这种方法有五种不同的类型。

语句测试和覆盖率

此方法包括至少运行一次源代码的所有可执行语句。根据指定的需要,确定可执行语句的比例。对于检查测试覆盖率,这是最不希望有的统计数据。

决策测试覆盖率

此方法也称为分支覆盖率,是一种测试方法,它通过至少执行每个决策点的所有可能分支来确保所有可到达的代码都被执行。这有助于使代码的所有分支无效。这确保了没有分支会导致程序以意外的方式运行。

条件评估

在条件测试(也称为谓词覆盖测试)中,每个布尔表达式都被预测为 TRUE 或 FALSE。所有测试结果至少测试一次。这种测试方法确保代码完全被覆盖。测试用例的编写方式使得条件结果易于实现。

多条件测试

多条件测试的目标是测试所有可能的条件组合以实现 100% 的覆盖率。需要两个或多个测试脚本才能确保全面覆盖,这需要付出更多努力。

所有路径评估

此方法使用程序的源代码来发现每个可执行路径。这有助于识别给定代码中的所有缺陷。

基于经验的技术

为了理解程序的最关键方面,这些方法在很大程度上依赖于测试人员的经验。参与人员的能力、知识和技能决定了这些程序的结果。以下是基于经验的技术示例

探索性测试

此方法用于在没有任何正式文档的情况下测试程序。测试允许的最少时间和测试执行的最大时间。探索性测试同时进行测试设计和执行。

错误猜测

测试人员使用此方法根据其过去的经验、数据可用性和产品故障知识来预测故障。测试人员的能力、直觉和经验都在错误猜测中发挥作用。

错误猜测是一种软件测试方法,它涉及预测代码中可能发生的错误类型。该方法主要侧重于经验,测试分析师根据其以往经验猜测测试应用程序中出现问题的部分。因此,为了改进错误猜测,测试分析师必须具备熟练的技能和丰富的经验。

使用这种方法,会统计出一系列可能的错误或易出错的场景。然后,测试人员创建测试场景来揭示缺陷。分析师可以利用以往的经验,根据这种软件测试方法来建立设计测试用例的条件。

错误猜测指南

  • 测试应基于过去对类似应用程序的测试经验。

  • 了解正在测试的系统

  • 了解常见的实现错误

  • 还记得过去的一些难点吗?

  • 分析过去的数据和测试结果

结论

  • 软件测试技术使您能够创建更有效的实例。通常采用五种方法。

  • 边界值分析是一种在分区交点处进行的测试类型。

  • 等价类划分将一组测试条件划分为应以相同方式处理的分区。

  • 对于响应输入或事件组合的函数,使用决策表软件测试方法。

  • 在状态转换方法中,输入条件的变化会修改被测应用程序(AUT)的状态。

  • 错误猜测是一种软件测试方法,它涉及预测代码中可能发生的错误类型。

提高测试用例效率不是一个简单的概念,它可以通过完善的方法和持续的实践来实现。

测试团队不应厌倦参与此类活动的改进,因为这是在质量领域取得更大成功的最有效武器。全球许多测试公司已在关键任务项目和复杂应用程序中证明了这一点。

更新于:2021年12月2日

672 次浏览

开启你的职业生涯

通过完成课程获得认证

开始学习
广告