【专项测试】异常测试总结

异常测试分类 子类型 异常内容描述
页面UI 数值类型 1、边界值(最大值,最小值、比最大值大一个单位,比最小值小一个单位)、开闭区间(开区间:(A,B)和闭区间[A,B]的区别等)
2、特殊字符(空,“”,null,&,^,*,. %,/,\等特殊字符)
3、超出字符类型的定义范围(例如整型----32位 最大值 2147483647,最小值-2147483647;16位 最大值 32767,最小值-32767)(属于边界值,字符型,数字进制转换)
4、必填字段为空
5、html、脚本注入
字符类型 1、全角、半角字符
2、用户名/密码输入框是否大小写字母敏感、是否支持拷贝粘贴、自否允许输入特殊字符、转义字符
3、多行文本是否允许换行、回车等
其他UI异常类型 页面依赖的接口连接异常、页面依赖的接口返回值不在约定范围内或未按约定的顺序、页面依赖的数据源异常、服务器异常(拖底页)
参见第二个sheet页:UI异常测试总结
接口 入参 1、实际传入的入参个数、入参类型(特殊字符等)、入参顺序、约束条件(非空等约束等)与约定的不一致(入参为自定义对象型的属性异常)
2、入参的边界值(入参值等于边界值,比最大边界值大一个单位,比最小边界值小一个单位)、开闭区间
返回值 接口返回值的类型超出预定范围。示例:约定返回结果为"",实际返回结果为null
依赖的第三方服务 1、依赖的第三方服务异常。例:依赖的第三方服务不存活,依赖的第三方存活,或链接超时
2、依赖的上游接口返回结果不是约定范围或者约定顺序
依赖的存储 1、依赖的redis异常。例:依赖的redis连接超时,redis实例无法提供服务(分片异常)
2、依赖的db(Mysql,oracle等)异常。例:依赖的db连接超时,依赖的db的库表异常;
3、接口的读写操作异常。连接超时,写多表,同时操作redis和数据库的时候部分异常
4、sql死锁
异步处理 worker 1、当worker检测到待处理的任务队列为0时,系统运行是否正常
2、woker操作多个数据库或同时操作数据和redis,其中对某一个库操作失败,检查是否对其他库的数据操作有影响、数据在逻辑和业务上是否一致等
3、当worker调用其他接口,但是数据未请求到,检查系统处理是否合理
4、检查worker在运行过程中被异常终止(进程被杀掉),系统处理是否正常
异步消息系统:MQ 1、MQ消息体中某些必填参数为NULL,或者全部必填为NULL,字段类型、长度是否不符合约定
2、MQ消息体中参数位置错误
3、检查系统对多个重复MQ消息的处理。示例:系统接收到一个订单支付失败的MQ,之后又收到对同一订单支付成功的MQ;消息排重
4、MQ重试
5、对MQ消息的时间控制是否考虑。示例:MQ消息先发后到
其他 配置异常 开关取得了除有效值、无效值、其他超出约定范围的值
并发异常 在业务并发处理场景中出现的异常。示例1:在业务中具有的读写操作,写操作依赖读操作读到的数据,
在写操作执行时,读到的数据已经被其他并发线程修改,验证是否正常。
多平台 业务逻辑的处理或者页面UI的展示缺少考虑不同平台(PC、APP等)的差异性导致异常

    推荐阅读