gpt4 book ai didi

unit-testing - 单元测试组合的数量惊人

转载 作者:行者123 更新时间:2023-11-28 19:52:10 25 4
gpt4 key购买 nike

我是单元测试的新手(应届毕业生,现在在现实世界中)。我对编写测试需要多长时间感到困惑。

让我们举一个基本的例子。我写了一个像这样的函数:

def add(a, b)
return a + b

我想测试它的整数输入和无限精度的 float 。例如,测试用例名称可能是 test_add_negative_integer_to_negative_integer。


假设
在边界处测试边缘案例是所有其他案例的代表。
边缘/边界
数值类型= {integer, float}
数值= {负数,零,正数}
测试用例数
重复组合(假设参数顺序不重要)。

C(3 + 2 - 1, 2) * C(2 + 2 - 1, 1) = 18 个测试用例满足假设条件。
将另一个值添加到数字类型集会产生36 个 不同的测试用例。

我做错了什么吗?

最佳答案

我认为您问题的答案很简单:应用TDD 流程,您会发现问题会自动消失。

更具体地说,您将从为“add(a, b)”功能编写您的第一个测试开始。这可以通过单行测试方法来完成,用于“添加”方法的初始空实现。测试(例如 add(1, 2) == 3)将按预期失败。

只有在第一个测试通过后,您才会尝试编写第二个测试。

此过程之所以有效的关键在于:第二个测试首先需要因正当理由而失败。 “正当理由”将与当前“添加”实现尚未满足的其他一些业务需求直接相关。如果找不到这样的需求,就不会进行二次测试。

重复以上操作,直到不能添加新的测试为止。您会发现实现对所需功能的全面覆盖所需的测试数量要少得多。

关于unit-testing - 单元测试组合的数量惊人,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39607598/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com