正向测试用例和负向测试用例是什么?
通过谷歌搜索,我发现的答案非常令人困惑。能否举个例子来解释一下?
正向测试用例测试系统是否执行其预期功能。例如:当提供有效凭据时,将允许您登录。
负向测试用例测试系统不应该做的事情。例如:当提供无效凭据时,不应该允许您登录。
正向测试是指系统针对有效输入数据进行验证的情况。
例如,考虑这样一个场景:您想测试一个包含搜索字段的应用程序,要求是不应输入特殊字符。
ID: 1
Name/Idea: 验证搜索字段使用有效输入工作
前置步骤:"搜索"屏幕应该已经打开
重现步骤:
使用有效信息填写搜索字段
点击“搜索”按钮
预期结果:应该显示搜索结果屏幕
正/负测试:1
负向测试是指系统针对无效输入数据进行验证的情况。负向测试检查应用程序在处理其负面输入时是否按预期行为。
例如,考虑仅接受字母的相同示例。因此,在搜索字段中提供像“@,#,/”这样的字符,并检查应用程序的行为,无论所有无效输入是否应显示验证错误消息或系统是否应禁止输入特殊字符。
ID: 1
名称/想法: 验证搜索字段是否能处理无效输入
前置条件: "搜索"屏幕应该已经打开
重现步骤:
填写无效信息的搜索字段 (例如:@,#,/)
点击 "搜索" 按钮
期望结果: 弹出错误消息的弹窗应该出现
积极/消极: 0
我不确定,但我对以上回答有些不满意。因此,以下是我的观点:
让我们来看一个场景,其中有两个需求:
现在,一个正向场景会是:
另一方面,一个负向场景会是:
正向测试用例是指测试旨在根据需求返回预期结果的情况。
负向测试用例是指测试旨在确定产品响应超出定义范围的情况。
您不是通过结果来确定测试类型,而是基于输入来确定预期结果。
希望这有意义,这里有一个很好的例子 http://osdir.com/ml/programming.software-qa/2004-12/msg00060.html
除非您在内容中提出要求,否则正面或负面都毫无意义。假设一个要求是“如果用户ID不正确,则登录应失败”。我知道这有点反直觉,但正向测试是一种会在登录失败时生成故障的测试类型,而负向测试将生成成功登录的结果。
我们使用正向测试用例来检查一些场景,例如我们为代码使用的任何场景。
负向测试用例以负面方式检查某些特定场景。
通过两者的帮助,我们可以增加代码覆盖率。