1、什么是接口测试?
• 接口测试是测试系统组件间接口的一种测试方法。
• 接口测试的重点是检查数据的交换,传递的正确性,以及接口间逻辑相互依赖关系。
• 提交接口测试的重要意义:实现开发期并行测试,减少页面层测试的深度,缩短整个项目的测试周期。
2、接口自动化测试的流程?
• 基本的接口功能自动化测试流程为: 需求评审->需求分析 -> 用例设计 -> 脚本开发 -> 测试执行 -> 结果分析
3、GET 请求和 POST 请求区别是什么?
在本质上两者并无区别。底层实现逻辑都是通过tcp实现
1.Post,请求大小无限制(请求参数拼接在表单中,浏览器没法限制),向服务器提交数据后返回给前端,速度慢,安全。 在做数据添加、修改时,建议用 Post 方式 。如:微博贴吧上传图片接口、登录注册接口等。
2.Get,请求大小有限制(请求参数拼接在url上,浏览器长度限制),直接响应,速度快,不安全。 在做数据查询时,建议用 Get 方式。如:商品信息接口、搜索接口、博客访客接口等。
4、接口测试的常用工具有哪些?
• Postman
• Jmeter
• SoapUI
5、HTTP 接口的请求参数类型有哪些?
• 查询字符串参数(Query String Parameters),参数会以 url string 的形式进行传递。
• 请求体参数(Request body)一般用于 POST 请求,可以使用 Content-Type 来指定不同参数类型。
6、如何从上一个接口获取相关的响应数据传递到下一个接口?
• 先从上一个接口中的响应数据获取对应的返回值,然后使用正则表达式或者 json 解析来提取要获取的值,然后将值存储在一个变量中,最后在下一个接口中直接引用该变量即可。
7、接口测试用例的编写要点有哪些?
• 请求参数必填项、可选项等
• 输入输出合法、非法参数等
• 请求参数边界值等
• 响应数据校验
• 接口之间逻辑校验,如果两个请求有严格的先后顺序,需要测试调转顺序的情况
8、接口测试的步骤有哪些?
• 发送接口请求
• 测试接口获取的返回值
• 断言:判断实际结果是否与预期相同
9、接口测试中依赖登录状态的接口如何测试?
• 依赖登录状态的接口的本质上是在每次发送请求时需要带上 Session 或者 Cookie 才能发送成功,在构建POST 请求时添加必要的 Session 或者 Cookie
10、sessionid是如何与cookie结合使用的?
1.session的底层是基于cookie实现的。首先浏览器利用tcp协议通过三次握手与服务器建立连接。
2.服务器接收到请求后,通过request.getSession()方法创建会话对象
(注:此方法第一次调用是创建session会话,以后在session没有被销毁前,再次调用都是获取前面创建的session)。
服务器在每次创建session的时候,也会创建cookie,这个cookie的key永远是JESSIONID。value是创建的session的id。
3.通过响应将新创建的session的id,放在cookie里,传给浏览器。
Set-Cookie:JESSIONID=XXX
4.浏览器解析获取到的数据,就马上创建一个cookie对象。有了cookie之后,再次请求服务器,就会把含有session的id的cookie
传给服务器Cookie:JESSIONID=XXX
5.服务器通过request.getSession方法,通过cookie里面的session的id,找到之前创建好的session对象,返回相应的数据。