📜  边值分析——三角问题(1)

📅  最后修改于: 2023-12-03 15:28:17.808000             🧑  作者: Mango

边值分析 - 三角问题

介绍

边值分析是一种黑盒测试方法,该方法对输入值进行验证,并将测试用例集限制在某些特定的输入值或值范围内。本文将介绍边值分析在三角问题中的应用。

在三角问题中,我们需要判断三条边能否构成一个三角形。如果能够构成三角形,我们需要判断其种类:等边三角形、等腰三角形还是普通三角形。

边界情况是指输入的值恰好等于最小或最大允许值的情形。边值分析可以帮助我们快速找到这些边界情况,以此来得到更准确的测试用例。

三角问题代码
def triangle_type(a,b,c):
    if a+b>c and a+c>b and b+c>a:
        if a == b == c:
            return "Equilateral"
        elif a == b or a == c or b == c:
            return "Isosceles"
        else:
            return "Scalene"
    else:
        return "Not a triangle"
边值分析

在三角问题中,我们需要验证三条边是否能够构成一个三角形。因此,我们需要考虑以下几种情况:

  • 三条边的长度均为最小值
  • 三条边的长度分别为最小值、最小值+1、最小值+2
  • 三条边的长度分别为最大值-2、最大值-1、最大值
  • 三条边的长度均为最大值

假设最小值为1,最大值为100,我们可以编写如下的测试用例:

print(triangle_type(1, 1, 1)) # Equilateral
print(triangle_type(1, 2, 3)) # Not a triangle
print(triangle_type(1, 2, 100)) # Not a triangle
print(triangle_type(98, 99, 100)) # Scalene
print(triangle_type(100, 100, 100)) # Equilateral

通过边值分析,我们得到了一组用例,覆盖了最小值、最大值以及其它情况下的输入值。这样可以帮助我们更全面地测试代码,发现潜在的问题。

结论

边值分析是一种有效的黑盒测试方法,可以帮助我们快速定位边界情况,并得到更准确的测试用例。在三角问题中,边值分析可以帮助我们找到三条边可能的组合方式,并验证是否能够构成一个三角形。