这个问题是我之前在正面测试用例和负面测试用例中的问题的延续。
假设有一个只接受字母的字段,并且假设我编写了一个仅使用字母来测试它的测试用例,那么这是肯定的测试用例。
预计如果我输入除字母以外的任何值,则系统将显示错误消息“仅允许使用字母!”。
如果我用数值检查它并抛出错误消息“只允许使用字母!” (正如预期的那样)那么这将是一个负面的测试用例还是正面的?
这个问题是我之前在正面测试用例和负面测试用例中的问题的延续。
假设有一个只接受字母的字段,并且假设我编写了一个仅使用字母来测试它的测试用例,那么这是肯定的测试用例。
预计如果我输入除字母以外的任何值,则系统将显示错误消息“仅允许使用字母!”。
如果我用数值检查它并抛出错误消息“只允许使用字母!” (正如预期的那样)那么这将是一个负面的测试用例还是正面的?
在字段中输入错误的输入是Negative test case
。你写了否定的测试用例,它可能有两种结果:
无论是这个will work as expected
,这意味着你会得到错误信息,你会说测试通过,即negative test passed
或者它will break
,意味着它将接受输入,在这种情况下测试失败,即你的negative test case has failed, this is a bug
.
对不起,我的回答将是题外话,但(我的)理由将在下面解释。
为什么按积极性或消极性对测试用例进行分类很重要?无论如何,您必须执行这两个测试。我更喜欢将测试分类为“主要”和“替代”。“主要”描述了愉快的路径,即允许最终用户实际使用您的软件完成工作的路径。替代测试用例描述了阻碍最终用户完成工作或获得结果的路径。(输入无效、凭据错误、资源不可用……)
这是我对测试分类的定义。这些是我的话(从外部文章中借用,具有清晰的定义)这对我很有用,因为我首先编写/执行主要测试,然后是替代测试。我编写初级测试时会考虑用户想要做什么以及如何做。(UX 模式)我编写替代测试来思考实际上可能“出错”的地方,比如损坏的系统数据、泄露公司信息以及我能想到的所有其他邪恶。(QA 模式)
仅当您周围的许多人在同一个项目中使用这些词时,使用两个词对测试(正面/负面)进行分类的重要性才重要。那么你应该同意一个共同的定义。(和分类标准)我不认为你会通过谷歌搜索这些词得到绝对的答案,只是当地测试文化的回声......除非你找到任何提供精确定义的中央独特权威,比如一本关于测试的书,或者有关测试的网站,或有关测试的公司文件。
如果您的功能描述类似于“在 yiffy 字段中,只允许使用字母字符”,那么对数字进行测试是一个否定测试用例。
但是,如果不输入字母字符以外的其他字符非常重要,以至于特征描述就像“在 yiffy 字段中,用户不能输入非字母字符”,那么对数字进行测试将是一个肯定的测试用例。
但不要对此过于严格,因为测试就是寻找灰线。在我的语言中,ij
是一个完全正常的字符,而在德国ß
是很常见的。٠١٢٣٤٥٦٧٨٩
是数字/数字(实际上,它们是阿拉伯数字)。作为测试人员,您需要在测试时考虑测试用例并评估功能的重要性(任何人这样做的风险是什么)。你不想把宝贵的时间花在测试废话上。