2013-10-14 26 views
0

这个问题在我之前的问题Positive test cases and negative test cases的继续。否定测试用例

假设有一个只接受字母的字段,假设我编写了一个测试用例,只用字母测试它,那么这就是正确的测试用例。

预计如果我输入除字母以外的任何值,则系统将显示错误消息“仅允许使用字母!”。

如果我用数值检查它,它会抛出错误消息“只有字母允许!” (与预期的一样)那么这是一个否定的测试用例还是正的测试用例呢?

回答

2

输入错误的字段是Negative test case。你写负面测试用例,并可能会有两种结果吧:

  1. 无论这个will work as expected,这意味着你会得到错误信息,你会说测试通过即negative test passed

  2. 或者它will break,手段它会接受输入,在这种情况下,测试失败,即您的negative test case has failed, this is a bug

1

对不起,我的回复将关闭主题,但(我)的理由将在下面解释。

为什么按照积极性或否定性对测试用例进行分类很重要?无论如何,你必须执行两项测试。我更喜欢将测试分类为“主要”和“备用”。 “主要”描述了开心的路径,即允许最终用户真正完成她的软件工作的路径。备用测试案例描述了妨碍最终用户完成工作或取得成果的途径。 (输入无效,凭据错误,资源不可用,...)

这是我对分类测试的定义。这些是我的话(借用外部文章,定义比较清晰)对我很有用,因为我先编写/执行初级测试,然后再进行替代测试。我写主要测试考虑用户想要做什么以及如何做。 (UX模式)我写了一些考虑可能实际“出错”的备用测试,比如腐败的sysetm数据,泄漏的公司信息以及所有我能想到的其他弊端。 (质量保证模式)

只有当你身边的很多人在同一个项目中使用这些词时,使用两个词来分类测试(正面/负面)的重要性才是重要的。那么你应该就一个共同的定义达成一致。 (以及分类标准)我认为你不会通过使用这些词汇来获得绝对的答案,只是当地测试文化的回声......除非你找到任何提供精确定义的中央独特权威机构,比如一本关于测试的书或者测试网站或公司测试文档。

1

如果您的功能描述类似于“在yiffy字段中只允许使用字母字符”,那么对数字进行测试就是一个负面的测试用例。

但是,如果未输入其他字母字符对于特征描述如“在yiffy字段中,用户不能输入非字母字符”这一点很重要,那么对数字进行测试将是一个积极的测试用例。

但是对此不要太严格,因为测试都是关于寻找灰线。在我的语言中,ij是一个非常正常的字符,而在德国ß是非常普遍的。 ٠١٢٣٤٥٦٧٨٩是数字/数字(实际上,它们是阿拉伯数字)。 作为一名测试人员,您需要考虑测试用例,并在测试时评估某项功能的重要性(任何人做这件事的风险)。你不想花费宝贵的时间来测试废话。