美文网首页程序员
编程测试相关整理(初)

编程测试相关整理(初)

作者: 天宇不看海 | 来源:发表于2018-11-24 17:22 被阅读6次

    什么是接口测试

    接口测试是测试系统组件间接口的一种测试.

    1.作用

    主要用于检测外部系统与系统之间以及内部各个系统之间的交互点,测试的重点是要检查数据的交换,传递和控制管理过程,以及系统的相互逻辑依赖关系等.

    2.有哪些接口

    (1) Webservice接口

    走soap协议通过http传输,请求报文和返回报文都是xml格式,测试通过工具soapUI进行测试.
    

    (2) HTTP api接口

    走http传输协议,通过路径来区分调用的方法,最常用的是get和post请求.  请求报文都是 key-value字典形式的,返回报文一般都是json串.  
    

    3.接口测试的目的

    (1) 通过测试,暴露问题
    (2) 保证系统的正确和稳定性(以持续集成为手段)
    (3)提高测试效率,降低产品维护成本

    4.如何进行接口测试

    可以从以下几个角度进行验证:

    • 输入参数分析
    • 接口逻辑分析
    • 输出分析
    1) 参数详解
    • 参数类型(1) ----数值型(int,float,double等)
      运用等价类,边界值,特殊数值(-1,0),数值类型最大值范围进行数值录入验证.

    • 参数类型(2) ----字符串类型
      运用等价类,边界值,特殊字符,敏感字符,超长字符,空等进行录入验证.

    • 参数类型(3) ----日期类型
      输入正常日期,非法日期,输入非日期格式字符

    • 参数类型(4) ----数组或链表
      运用等价类,边界值,合法成员,非法成员,重复id等输入验证

    • 参数类型(5) ----参数安全性输入验证
      sql注入,XSS攻击,越权访问等

    验证方法

    • 测试传递正确的参数,返回结果是否正确
    • 参数组合,通过排列组合,或者正则分析用例设计方法,得出组合参数,验证返回结果
    • 异常参数传递,测试接口对异常处理是否正确
    2)接口业务逻辑分析详解
    • 约束条件分析
      比如: 已完成的问题不能修改
    • 操作对象分析
      比如: 无权限的用户不能越界操作等
    • 状态转换分析
      比如: 已通过状态的问题不能回退到待整改问题
    • 时序分析
      比如:
      1.用户必须有效登录才能上传数据
      2.新增问题上传,必须先 问题主记录上传,才能上传问题抄送人记录,不能跳过主记录就能上传从表记录(具体业务逻辑)

    概括来说: 就是通过分析,得出需要验证的场景,验证接口逻辑处理是否正确

    3)输出结果分析详解

    接口处理正确的结果可能只有一个,但是错误异常返回结果有很多情况,很多值.
    如果知道返回结果有很多种,就可以针对不同结果分别进行验证.

    5.接口测试的实现过程

    • 手动测试
      (1)拿到接口定义文档
      (2)编写接口测试用例
      (3)准备接口测试
      (4) 执行测试

    • 自动化测试
      (1)拿到接口定义文档
      (2)编写接口场景用例
      (3)根据用例编写脚本
      (4) 准备测试数据
      (5) 持续集成测试(jenkins)

    6.接口测试的工具

    • 手工测试

      介入时间: 接口手工测试不依赖于界面,接口开发完便可以测试.
      使用工具:手工测试一般使用fiddler,postman(谷歌浏览器工具),RESTClient,jmeter等工具测试.

      ps:推荐使用postman工具,使用简单,有各种记录留存,方便回溯,个性化设置(如各种url地址,参数等)
      
    • 自动化测试

      介入时间:自动化测试一般是等接口稳定以后,对接口主流程场景进行脚本化,现在做法是在每个迭代完成以后进行接口脚本补充.

      使用工具: jmeter,postman,RFS+ReqyestsLibrary,Python+unitest+Request测试.

       ps:以上工具各有优劣,meter,postman断言功能不够强大,RFS框架安装复杂,但封装的类库比较丰富,用例组织比较清晰. Python+unitest需要编写脚本代码,要有代码基础,学习成本比较高.
      

    关于在测试过程中用到的测试用例,请参考我的另一篇测试用例的文章,
    <<PHP测试用例概述及详解>>
    这里可以详细了解测试用例的一些知识点.

    结尾

    写于11/22日质检组测试帅哥-红灵分享会

    相关文章

      网友评论

        本文标题:编程测试相关整理(初)

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