最近刚接触软件测试,有什么与黑盒测试想关的以上三种测试编程例子吗
参考GPT和自己的思路:
好的,我可以为您提供一些关于等价类测试、边界值测试和决策表测试的例子和Python编程代码。以下是示例代码:
def get_grade(score):
if score < 0 or score > 100:
return "Invalid score"
elif score >= 90:
return "A"
elif score >= 80:
return "B"
elif score >= 70:
return "C"
elif score >= 60:
return "D"
else:
return "F"
# Equivalent class partitioning test cases
assert get_grade(-1) == "Invalid score"
assert get_grade(101) == "Invalid score"
assert get_grade(90) == "A"
assert get_grade(85) == "B"
assert get_grade(75) == "C"
assert get_grade(65) == "D"
assert get_grade(55) == "F"
def get_discount(price):
if price < 0:
return "Invalid price"
elif price < 100:
return 0
elif price < 500:
return 10
elif price < 1000:
return 20
else:
return 30
# Boundary value test cases
assert get_discount(0) == "Invalid price"
assert get_discount(99) == 0
assert get_discount(100) == 10
assert get_discount(499) == 10
assert get_discount(500) == 20
assert get_discount(999) == 20
assert get_discount(1000) == 30
assert get_discount(2000) == 30
def calculate_tax(income, is_married, has_children):
if income < 0:
return "Invalid income"
tax_rate = 0
if income <= 10000:
tax_rate = 0.1
elif income <= 50000:
tax_rate = 0.2
else:
tax_rate = 0.3
if is_married:
tax_rate -= 0.1
if has_children:
tax_rate -= 0.05
tax = income * tax_rate
return tax
# Decision table test cases
assert calculate_tax(5000, False, False) == 500
assert calculate_tax(15000, True, False) == 2250
assert calculate_tax(40000, False, True) == 8400
assert calculate_tax(-1, False, False) == "Invalid income"
希望这些示例代码可以帮助您更好地了解等价类、边界值和决策表测试的应用。