提高服务端编码质量,对我们的编码进行Code Review十分重要,今天我整理下我在开发过程中的历史经验,整理了一份检查列表,欢迎大家一起来补充和完善。
查询
分页显示
检查分页功能是否正常,分页边界是否有矫正机制,例如非数值类型,下限是否校验,上限是否设置允许最大值等。
数据一致性
· 查询数据是否一致,这种情况不一致可能是接口错误,或者存在缓存。
· 返回总数是否正确,这个经常会被忽略。
分类排序
是否有进行排序功能,排序是否符合需求,例如需求是要根据热度排序,接口返回按更新时间排序明显就和需求有偏差了。
模糊查询
· 是否是模糊查询,还是精确查询。
· 特殊字符是否过滤,例如MySQL的特殊字符:“&”和“_”。
· 查询的性能问题,MySQL的模糊查询走全表,所以客户端接口一定要确认性能是否有影响。客户端接口对性能有要求,建议使用Elasticsearch、Solr等全文搜索。
查询条件
· 开始时间和结束时间的边界
· 关键字对于特殊字符、空字符串、超长字符、数字边界等约束。
新增
是否必填
对于强制输入的字段,是否必填,错误信息是否正确。
字符长度
最长最短长度都要测。举个例子,比如数据库的一个字段类型是text,觉得需要测试它的上限么?答案是:要。一个真实案例,一个文章的内容一不小心可能就超过65535的上限,这个时候接口就出现500的错误咯。
数字边界
对于数字型的字段,测试上下边界非常重要。经常我们会忽略这点,举个例子,超过Integer上限并不是我们想象的那么遥不可及。
合法数据
如枚举类型(1-上架;2-下架),电话号码、电子邮箱、时间格式等。
特殊字符
· 特殊字符允不允许(业务决定),会不会导致数据库报错和乱码
· 是否存在SQL注入的可能。
· 是否存在xss攻击的可能。
带空格的字段
服务端是否有做trim操作,只输入空格是否正确保存。
上传功能
上传的文件是否可以使用,上传的文件格式是否有限制等。
重复添加
是否输入字段不能输入重复的数据,是否区分大小写的情况,如果输入重复数据,程序不能奔溃并且错误的提示信息正常(正常是409错误码)。
修改
修改接口检验标准和新增接口类似。
是否必填
对于强制输入的字段,是否必填,错误信息是否正确。
字符长度
最长最短长度都要测。举个例子,比如数据库的一个字段类型是text,觉得需要测试它的上限么?答案是:要。一个真实案例,一个文章的内容一不小心可能就超过65535的上限,这个时候接口就出现500的错误咯
数字边界
对于数字型的字段,测试上下边界非常重要。经常我们会忽略这点,举个例子,超过Integer上限并不是我们想象的那么遥不可及。
合法数据
如枚举类型(1-上架;2-下架),电话号码、电子邮箱、时间格式等。
特殊字符
· 特殊字符允不允许(业务决定),会不会导致数据库报错和乱码
· 是否存在SQL注入的可能。
· 是否存在xss攻击的可能。
带空格的字段
服务端是否有做trim操作,只输入空格是否正确保存。
重复修改
· 修改不存在的数据:是否有合理的错误提示。(正常是404错误码)。
· 修改合理数据:是否修改
删除
删除不存在的数据
是否有合理的错误提示。
删除合法数据
这个有几个Code Review点
· 是否删除成功(数据层面)
· 删除后数据库应该是查不到的。(这个特别注意缓存的同步问题)
· 是真删除,还是伪删除。
· 删除后可以添加同样的数据记录。
不允许删除的数据
因为业务的需求,有些数据正在使用,所以不允许删除。根据业务情况,进行分析。
删除数据的衍生影响
例如这个记录在其他表由被引用到,互联网产品一般情况下不用外键,所以要特别注意,衍生数据的影响和处理机制。
提高服务端编码质量 - 用例检查列表
发表于:2017-01-09
作者:网络转载
来源:
 相关文章
如何使测试用例可执行? 漫谈测试成长之探索——测试用例评审 七分钟教会你如何编写一个合格的测试用例 软件测试技术之测试用例场景法的3个例子 测试用例基础:接口测试流程及用例设计 软件测试人员一定要会的用例设计思路- 周排行
- 月排行
-   相机测试用例:手机、相机和摄像头测...
-   测试用例之支付功能测试点整理
-   阿里巴巴B2B测试用例编写规范
-   软件测试用例设计的基础概述
-   用单例的方法实现夜间模式
-   如果让你来测试扫码支付,你会考虑哪...
-   我所理解的测试策略——功能用例设计策略
-   相机测试用例:手机、相机和摄像头测...
-   测试用例之支付功能测试点整理
-   浅谈测试用例分级
-   嵌入式软件测试方法、案例与模板详解...
-   系统测试用例设计思路/模型
-   史上最详细的测试用例设计方法讲解
-   Python自动化测试如何自动生成测试用例?