1.怎么样做接口测试?
由于我们项目前后端调用主要是基于http协议的接口,所以测试接口时是通过工具或代码模拟Http请求的发送与接收。我们常用的工具主要是postman、jmeter、soupUI,也可以用接口自动化来实现,发送请求用断言来判断。
2. 接口测试的重点是什么?
测试过程中确保自己接口请求地址、参数传参正确性
测试过程中关注服务器返回,例如status、code、msg信息,数据库表信息更改,日志信息;特别是报错的时候,需要通过日志帮助排查问题。
3. 在接口测试中如何保证接口的正确性?
根据测试用例去执行测试,保证参数非法/为空都有考虑进去,且业务逻辑可以走通。
4. 假如发现前台数据显示错误,如何定位问题?
查看前台调用的接口是否正确
查看数据库中初始存储的数据是否正确
查看接口调取过来的数据是否正确
5. 请列出接口测试用例的设计思路或方法?
首先必要的了解接口需求,查看概要设计文档,弄懂业务逻辑和功能模块
先保证这个接口功能是好的,也就是输入正常的参数输入,是否可以返回正确的结果
然后考虑接口异常验证:包括必填项验证、长度、类型异常等;比如说手机号11位,输入非11位,10位,12位的来验证
还有需要考虑接口的业务逻辑,比如说必须执行了回款计划,才能修改标的状态到还款中。
一些必要的接口安全验证要考虑到,例如注册接口中传入的密码是需要加密的;还有就是权限这块,必须是已登录实名的账户才能投资,这跟业务逻辑是一样的。
6. 接口测试用例是怎么写的?
编写用例的时候注意用例内容包括用例Id、接口名称、请求方式、接口地址、用例标题、输入参数、预期结果(包括返回结果,数据表字段变化)。
7. http请求报文是由哪几部分组成?
http请求报文是由请求头、请求行、请求正文组成
8.如何开展接口测试?
规范接口文档输出
分层测试
将客户端测试工作量的一部分转移到接口测试
数据的逻辑以及正确性验证拆分到接口层来做
客户端曾更多的关注UI的展示以及前端的页面逻辑
HTTPS和HTTP的区别?
https协议需要ca证书
http的信息是明文传输,https则是具有安全性的ssl加密
http是直接与TCP进行数据传输,而https是经过一层SSL,用额端口不一样,http是80,https是443
http的连接很简单,是无状态的,HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全
接口测试主要关注点
响应结构
数据来源
数据格式
数据正确性
业务逻辑
用例设计---参数要考虑的
1.请求参数必选或选填 (例如:参数缺失服务端是否正常解析)
2.输入合法、非法参数 (例如:服务器只接收int类型,传递了String类型)
3.请求参数边界值 (例如:存储长度10位,传递大于10位,接口是否处理)
4.请求参数逻辑分支(例如:type=1:查询北京 type=2:查询天津)
5.与服务器是否存在附加协议(例如:交互过程中服务端需要验证head中的数据:或者是否有加密协议)
用例设计---结果要验证的
异常请求处理、请求头协议、响应结构、所有value值的正确性、有效性
数据库交互是否生效、列表排序、分页属性 存在业务关联的是否生效
http接口和webservice接口的区别?
webservice不用担心大小区别
不要担心中文urlencode问题
接口中实现的方法和要求参数一目了然
代码中不用多次声明认证(账号、密码)参数
传递参数可以数据、对象等