自动化负面测试场景是全面测试系统不可或缺的一部分。这是对系统在错误操作、不正确数据、服务故障和其他异常情况下的稳健性进行验证的测试。
问题历史:
以前,主要关注的是正面场景(happy paths),因为它们更容易自动化和维护。然而,对质量的要求提高,越来越多的缺陷出现在边界条件上,以及错误或明显不正确的条件上。这些手动测试很快会过时,而自动化可以跟踪退化。
问题:
解决方案:
关键特性:
仅检查负面测试时返回的错误是否足够?
不够。重要的是不仅要检查错误的内容,还要检查错误后系统状态是否未发生变化(例如,未在数据库中添加不正确的记录)。
需要自动化所有可能的负面测试场景吗?
不需要。可能有无数个场景;应突出最可能和关键的(边界值、空值、不正确的类型、SQL注入等),其余的按需处理。
可以对所有负面案例使用相同的处理方式吗?
不可以。不同的负面场景需要不同的检查、异常处理和回滚,模板断言是不够的。
系统只测试有效的注册场景。未对空邮箱的注册进行自动化测试。结果,出现用户可以使用空邮箱注册的问题,只在生产环境中被发现。
优点:
缺点:
每个负面场景(缺失邮箱、不正确格式、SQL注入)都有一个自动化测试,明确检查新账户的缺失和错误消息的内容。
优点:
缺点: