那登录场景来说,据我观察大概有两个派别:
A:把业务的异常流程当作反向用例,什么密码错误、验证码错误之类的,
B:把系统或者设备的异常情况当作反向用例,比如登录过程断网
到底哪一种才是真正的反向?我个人倾向于 B,但是架不住观察到的大部分都是 A。。
举个例子
业务场景:用户首次绑定银行卡进行身份验证
测试步骤:
1.用户填写姓名、身份证号码、银行卡号码、银行注册手机号
2.银行发送短信验证码到用户手机
3.用户输入验证码
4.第三方支付公司将所有信息发送给银行确认
5.银行验证通过,返回用户内部 ID(Token)
预期结果:验证成功,获得合法的支付 Token,可以进行后续支付操作
异常场景:用户提供的信息与银行记录不一致
测试步骤:
1.用户填写正确的身份证、银行卡号、手机号
2.但故意填写错误的姓名(与银行开户姓名不符)
3.银行发送验证码,用户正确输入
4.第三方支付公司发送验证信息给银行
5.银行发现姓名不匹配,拒绝验证
预期结果:银行返回验证失败,不生成 Token,用户无法进行支付操作,系统记录验证失败日志
正向用例定义:验证系统在正常业务条件和合法输入下,能否按照设计要求正确执行业务流程的测试用例
反向用例定义:验证系统在异常条件、错误输入、边界情况或系统故障下,能否正确识别问题并进行合理处理的测试用例。
正向用例验证系统可以按照预期正常工作,正向用例关注正常输入,标准流程,有效数据。
反向用例验证异常处理能力,反向用例关注异常输入,非标准流程,无效数据、无效操作。
你举例的两个派别其实都可以算反向用例,只不过在实际操作中,只验证有代表性的异常用例。
AB 都算吧
我架不住你的架不住
2 个都是
建议复习一下测试基础 有效与无效等价类的划分
密码错误, 验证码错误 不就是反向用例吗
网络异常, 这不是异常用例吗
这不就是等价类吗?
各种环境异常的用例更像是稳定性测试用例的范围
假如有条件 ABCD,当且仅当 ABCD 均为真时,通过,那么任一 or 任意为假,都可以作为 “非正向用例”,我理解的是,事务是多面的,不一定存在一个绝对的反面
举个例子
业务场景:用户首次绑定银行卡进行身份验证
测试步骤:
1.用户填写姓名、身份证号码、银行卡号码、银行注册手机号
2.银行发送短信验证码到用户手机
3.用户输入验证码
4.第三方支付公司将所有信息发送给银行确认
5.银行验证通过,返回用户内部 ID(Token)
预期结果:验证成功,获得合法的支付 Token,可以进行后续支付操作
异常场景:用户提供的信息与银行记录不一致
测试步骤:
1.用户填写正确的身份证、银行卡号、手机号
2.但故意填写错误的姓名(与银行开户姓名不符)
3.银行发送验证码,用户正确输入
4.第三方支付公司发送验证信息给银行
5.银行发现姓名不匹配,拒绝验证
预期结果:银行返回验证失败,不生成 Token,用户无法进行支付操作,系统记录验证失败日志
正向用例定义:验证系统在正常业务条件和合法输入下,能否按照设计要求正确执行业务流程的测试用例
反向用例定义:验证系统在异常条件、错误输入、边界情况或系统故障下,能否正确识别问题并进行合理处理的测试用例。