Testing 如果您对一项功能有一个场景/测试,您是否必须测试相反的场景/测试?

Testing 如果您对一项功能有一个场景/测试,您是否必须测试相反的场景/测试?,testing,specflow,acceptance-testing,Testing,Specflow,Acceptance Testing,我有一些用小黄瓜语法编写的验收测试,我正在使用SpecFlow将它们自动化。一个场景的例子(尽管它不在小黄瓜中)是 当提交加薪百分比高于公司阈值的审核时,“加薪审批人”需要批准审核 如您所见,这是一个特殊情况的示例,该情况会导致另一个人必须批准审核。在这个例子中,是否有必要为 如果提交的审核的加薪百分比在公司阈值内,则“加薪审批人”无需批准审核 如果是,截止线在哪里。显然,这可能导致每1个场景有2个场景——一个与您试图完成的内容相关,另一个只是验证您没有犯错误(例如,增加审批人最终不得不批准每次

我有一些用小黄瓜语法编写的验收测试,我正在使用SpecFlow将它们自动化。一个场景的例子(尽管它不在小黄瓜中)是

当提交加薪百分比高于公司阈值的审核时,“加薪审批人”需要批准审核

如您所见,这是一个特殊情况的示例,该情况会导致另一个人必须批准审核。在这个例子中,是否有必要为

如果提交的审核的加薪百分比在公司阈值内,则“加薪审批人”无需批准审核


如果是,截止线在哪里。显然,这可能导致每1个场景有2个场景——一个与您试图完成的内容相关,另一个只是验证您没有犯错误(例如,增加审批人最终不得不批准每次审核)

测试的程度取决于各种因素,包括您拥有的时间和正确进行测试的必要性,因此在决定盲目测试之前应考虑这一点

您指定的场景定义了贯穿代码的两条非常明显的路径和两个不同的结果,因此通常都应该对它们进行测试

理想情况下,您应该有一套测试现有功能的现有测试,在这种情况下,可能是在阈值内加薪,而不需要“加薪审批人”,在这种情况下,您可以循环使用此测试(作为回归测试运行),并且只需要对阈值以上的加薪进行测试。当您建立回归测试套件时,此测试会变得更快

注意:我不熟悉您使用的工具,因此无法给出相关示例

 > .. do you have to test the opposite?

在有业务需求之前我会说不,因为如果员工是经理或老板的儿子,也可能存在不需要审批人工作流的情况。在这种情况下,简单的threshold相反测试将失败,而没有任何businessvalue

,我想这可以归结为语义,但我相信这句话“当提交加薪百分比高于公司阈值的审核时,那么“加薪审批人”需要批准审核。”“正如您所看到的,这是一个特殊条件的示例”推断出一个业务需求,即低于阈值且未标记。但这肯定是业务分析师的一个问题