做接口测试需要掌握的知识—全栈软件测试自动化(14)

发表于:2020-7-28 10:32

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:赵旭斌 余杰    来源:51Testing软件测试网原创

  5.9 做接口测试需要掌握的知识
  做接口测试需要掌握的知识如下:
  系统及内部各个组件之间的业务逻辑;
  接口的I/O(输入与输出);
  协议的基本内容,包括通信原理、三次握手、常用的协议类型、报文构成、数据传输方式、常见的状态码、URL构成等;
  常用的接口测试工具,如JMeter、LoadRunner、Postman、SoapUI、QTP(UFT)、Python Requests等。
  数据库基础操作命令(检查数据入库、提取测试数据等)。
  常见的字符类型,如char、varchar、text、int、float、datatime、string等。
  1.如何学习这些知识
  关于系统间业务交互逻辑,建议通过需求文档、流程图、思维导图、沟通等渠道学习。
  关于协议,建议学习《图解HTTP》(ISBN是978-7-115-35153-1)这本书,内容生动,相对容易入门。
  关于接口测试工具建议通过网络学习这些工具或者选择合适的书。
  关于数据库操作命令建议学习与数据库相关的书。
  关于字符类型建议通过网络或相关书学习。
  2.如何获取接口相关信息
  一般的项目开发人员或者对应的技术负责人员会编写接口文档,文档中会注明接口相关的地址、参数类型、方法、输入、输出等信息。如果没有接口文档,则只能靠抓包工具慢慢地去探索,然后自己写出一份接口文档。
  3.接口文档的要素
  封面:封面最好是本公司规定的封面,有徽标、标题、版本号、公司名称及文档产生日期等。
  修订历史:用表格形式表示较好,表格内容包括版本、修订说明、修订日期、修订人、审核时间及审核人等。
  接口信息:包括接口调用方式、常用的GET/POST方式、接口地址。
  功能描述:简洁、清晰地描述接口功能,如接口获取的信息包括哪些内容。
  接口参数说明:每个参数都要和实际中调用的一样,包括大小写;参数应该言简意赅。
  说明部分:说明参数值需要如何提供,并详细说明参数是怎么生成的,例如,时间戳是哪个时间段的,参数是否必填。关于返回值的说明如下。
  最好有一个返回值模板,并说明每个返回值的意义。
  提供一个真实的调用接口、真实的返回值。
  调用限制和安全性:采用加密方式,保证接口调用的安全性。
  文档维护:在维护文档的时候,如有修改一定要写上修改日期、修改人。另外,对文档大的修改要有版本号变更信息。
  下面列出一些接口测试必备的知识点。
  1.GET请求和POST请求的区别
  (1)GET使用URL或Cookie传递参数,而POST将数据放在Body中。
  (2)GET的URL有长度的限制,而POST的数据可以非常大。
  (3)POST比GET安全,因为数据在地址栏上不可见。
  (4)一般GET请求用来获取数据,POST请求用来发送数据。
  2.HTTP状态码
  [2**]:表示这个请求发送成功,最常见的是200,表示这个请求成功了,服务器也返回了数值。
  [3**]:代表重定向,最常见的是302,表示把这个请求重定向到其他地方。
  [4**]:代表客户端发送的请求有语法错误。例如,401表示访问的页面没有授权,403表示没有权限访问这个页面,404表示没有这个页面。
  [5**]:代表服务器有异常、例如,500表示服务器内部异常,504表示服务器端超时,因此没有返回结果。
  3.怎么测试WebService接口
  通过WebService的地址或者WSDL文件,直接在SoapUI中导入WebService地址,就可以看到WebService的所有接口。在调用接口时直接输入参数,运行后即可得到返回结果。
  4.Cookie与Session的区别
  (1)Cookie数据存放在客户的浏览器上,Session数据存放在服务器上。
  (2)Cookie中的数据不安全,用户可以分析存放在本地的Cookie并进行Cookie欺骗攻击,所以出于安全性考虑应当使用Session。
  (3)Session会在一定时间内保存在服务器上。用户访问量增多会降低服务器的性能,考虑到服务器的性能,应当使用Cookie。
  (4)单个Cookie保存的数据不能超过4KB,很多浏览器限制一个站点最多保存20个Cookie。
  (5)建议将登录信息等重要信息存放在Session中,而将其他信息可以放在Cookie中。
  5.10 本章小结
  和复杂的UI自动化测试相比,接口测试技术并不难,学习一些工具或者学习第6章将要讲到的Python Requests包即可快速掌握。接口测试比较难的部分是对各种专业知识的理解,就像性能测试一样,使用测试工具编写一些性能测试脚本其实很简单,但是比较难的是性能分析。

查看《全栈软件测试自动化 SeleniumAppium (Python版)》全部连载章节
版权声明:51Testing软件测试网获得人民邮电出版社和作者授权连载本书部分章节。
任何个人或单位未获得明确的书面许可,不得对本文内容复制、转载或进行镜像,否则将追究法律责任
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号