《接口测试培训》PPT课件.ppt
接口测试培训,姓名:李卓 部门:研发-业务保障部 岗位:测试开发工程师 2012年6月21日,目录,测试依据测试范围&内容总结,测试依据,一切以需求文档为准,需求文档,产品,开发,测试,测试依据-需求规范,接口文档包含如下内容:1、接口概述:1)接口名称2)接口功能3)接口类别4)提交者、提交时间、需求来源及时间要求2、HTTP请求方式3、认证说明4、请求限制说明5、请求参数说明 参数名、是否必选、类型、取值范围、描述(非必选项的默认值)6、相关约束7、注意事项8、调用示例9、返回说明1)返回数据格式2)返回结果示例3)错误代码及返回说明,测试范围&内容,安全性调用方式参数格式校验返回结果功能逻辑其他异常场景,测试范围&内容-安全性,Referer限制反射型XSS存储型XSS防暴力破解应用程序隐私SQL注入,测试范围&内容-安全性,Referer限制:为了防止CSRF(跨站请求伪造),采取的一种防范方式。,测试范围&内容-安全性,反射型XSS、存储型XSS:XSS是一种经常出现在web应用中的计算机安全漏洞,它允许恶意web用户将代码植入到提供给其它用户使用的页面中。,解决方案:使用htmlspecialchars把html标签转化。,注意:当允许输入HTML标签的页面,可能会出现问题。,测试范围&内容-安全性,防暴力破解:暴力破解法,是一种针对于密码的破译方法,即将密码进行逐个推算直到找出真正的密码为止。,解决方案:方案1:限制密码输入一定次数后,需要输入动态码。方案2:密码输入错误达到一定次数后,在一段时间内不允许输入。,测试范围&内容-安全性,应用程序隐私:用户的敏感输入字段未经加密即进行了传递,导致用户信息存在泄露的风险。,解决方案:关键信息需加密传输。,实例:,测试范围&内容-安全性,SQL注入:通过恶意输入,构造非法sql语句,操作数据库,从而达到非法攻击或取得非法结果的手段。,举例:,测试范围&内容-调用方式,HTTP调用 注意:提交数据,一定使用POST方式,不能使用GET方式。实际项目举例:其他调用方式,测试范围&内容-参数格式校验(1),必选项检查非必选项默认值类型取值范围长度全/半角、大/小写转换,测试范围&内容-参数格式校验(2),举例:添加好友接口,需求文档中uid参数,opt参数描述如下:案例设计:1、带/不带uid参数,uid参数为空2、不带opt参数3、uid填写字母、汉字、特殊字符4、uid填写3位、11位数字;opt参数填写2;5、uid填写全、半角数字,测试范围&内容-返回结果(1),原则:1、与需求一致(返回码及返回字段)。2、每种错误要有单独且明确的错误码。,测试范围&内容-返回结果(2),实际项目举例:,测试范围&内容-功能逻辑(1),正常流程的验证方式:1、通过查数据库或MC验证数据是否处理正确。2、通过其他辅助途径进行验证。例如:验证插入数据是否成功,可在插入数据后,通过查询功能进行验证。,切记:1、不能在看到正常调用且系统返回成功后,就认为该功能没有问题。2、所有的正确流程分支都需要覆盖。,测试范围&内容-功能逻辑(2),异常流程测试,测试案例设计思路:1、根据被测系统的功能,深入挖掘隐性需求。2、尽可能地把自己放在一个完全不了解需求的用户角度去设计。,测试范围&内容-功能逻辑(3),功能逻辑测试举例:添加好友功能,存在用户uid和目标uid两个参数,且存在查看好友、加入黑名单等功能。,正常流程验证:1、添加好友后,查看数据库好友关系是否入库。2、使用查看好友功能,验证是否可正常查看到好友记录。,异常流程验证:1、添加好友后,再次添加好友。2、将某用户加入黑名单后,添加该用户为好友。3、两个uid分别使用系统中不存在的值。4、两个uid填写相同值。以上情况系统均应返回对应的正确的错误返回码,注意:正常流程正确,是异常流程验证的前提。,测试范围&内容-其他异常场景,研发的项目,有些项目是底层使用的系统,根据项目特点,可能会存在特殊的异常场景。,举例:消息仓库项目,可支持消息的持久化存储。需要特殊考虑的异常场景:1、在接收消息后,重启应用。2、删除消息文件。3、硬盘写满。实际项目举例:,总结,功能实现是否正确,以需求为准。在测试过程中,请脱离产品、开发的角色,以用户的角度考虑问题。,Q&A,联系方式:姓名:李卓 分机:6561 邮箱:,积 极 创新 责任,