美文网首页AutoTest
Python系列三--接口手工测试

Python系列三--接口手工测试

作者: 倔强的潇洒小姐 | 来源:发表于2018-04-10 22:48 被阅读44次

    接口测试怎么做?

    1、了解接口是做什么的
    2、理清接口的业务处理逻辑(画业务流程图)
    对接口功能的理解建立在需求的基础上,这个需求需要实现什么业务,什么逻辑,业务流程是怎么运转的,至于开发怎么实现代码,怎么逻辑实现可以先不用管,只从业务层次先了解,然后再了解物理逻辑,避免忽略需求本身
    3、接口核心三大件
    地址、入参、返回包,其中入参是接口测试中最重要的
    4、依据参数校验和逻辑校验两块设计入参组合
    5、检查接口返回数据包和日志(接口日志和数据库日志)
    (1)返回包正常,日志可能异常
    (2)现网出问题,可以通过日志分析问题原因
    (3)数据库SQL执行日志,对于理解接口和底层数据之间的交互很有帮助

    接口测试用例设计

    1、接口的入参是参数的组合形式,那么不同的参数会有不同返回结果,所以需要做参数校验
    2、接口是传递数据、处理数据的业务逻辑集中体现,所以需要做功能测试
    3、接口用例设计是两个维度:参数校验、逻辑校验

    接口案例.png

    用例设计-参数校验:

    对上面的接口协议文档分析可知
    1、接口完整的请求地址是:
    http://192.168.1.171:8081/api/search_name?content=test
    2、参数要求: string类型、长度限制8位、必填

    对业务逻辑分析可知
    1、底层查询内容的语句是:
    'SELECT * from event_manage where name like'+"'%"+search_name+"%'"

    通过对接口入参要求和业务逻辑了解,可以按照以下几点设计入参组成:
    1、必填参数存在 必填参数不存在
    2、string类型 非string类型
    3、长度7位、8位、9位
    4、SQL注入

    入参设计.png

    重点说下SQL注入,也借机强调接口测试重要性
    底层查询内容的语句是: 'SELECT * from event_manage where name like'+"'%"+search_name+"%'"
    如果接口入参是:contenet=test,那么最终在数据库中执行的语句就变成了 SELECT * from event_manage where name like'%test%'
    如果接口入参是:content='or'1=1'or',那么最终在数据库中执行的语句就变成了 SELECT * from event_manage where name like '%' or '1=1' or '%'

    返回数据.png 接口测试.png

    测试模式:
    1、前后端绝对分离:前端只关心业务、页面展示、数据展现
    2、前后端半分离:比如接口入参校验是通过工具去模拟的,业务逻辑场景是通过页面进行测试

    接口测试人员保证:
    1、参数校验没有问题
    2、业务逻辑正向没有问题
    3、(业务层没法模拟)把页面中不能模拟出来的通过接口模拟,协助测试

    相关文章

      网友评论

      本文标题:Python系列三--接口手工测试

      本文链接:https://www.haomeiwen.com/subject/plzirxtx.html