什么是接口?
人类与电脑等信息机器或人类与程序之间的接口称为用户界面。
电脑等信息机器硬件组件间的接口叫硬件接口。
电脑等信息机器软件组件间的接口叫软件接口。
常用的接口?
USB接口、HDMI高清接口、Type-c、耳机接口、电源线、插座
接口测试的定义?
接口测试是测试系统组件间接口的一种测试,也叫做API测试,灰盒测试。主要用于检测系统与系统之间以及内部各个子系统之间的交互点,测接口的目的在于保证系统的正确和稳定为核心,以持续集成为手段,提高测试效率,提升用户体验,降低产品研发成本。
接口测试原理?
接口测试的原理是通过测试程序模拟客户端原理,向服务器发送请求报文,服务器接受请求报文后对相应的报文做出处理然后再把报文发给客户端,客户端接受应答报文这一个过程。
常见的接口类型,webservices和httpAPI的区别?
api,用的协议和端口,是根据开发人员定义的。
api类似于cs架构,需要同时开发客户端API和服务器端程序。
而WebService则类似于bs架构,只需要开发服务器端,不需要开发客户端,客户端只要遵循soap协议,就可以调用
接口测试如何开展?
按照测试计划从wiki上获取接口文档,开始着手接口测试工作,测试用例的编写和执行
step1、获取PRD,接口文档等测试资料
step2、参与评审接口文档工作
一个完整的接口文档包含哪些内容
请求方式、url、请求参数、返回参数以外,接口示例、接口文档版本号、版本修改内容、版本修改时间、修改人,错误代码等
一个接口功能包含哪些内容
请求功能描述
请求地址
请求方式
请求参数声明
返回参数声明
返回成功示例
返回失败示例
step3、开始着手设计接口测试用例
首先针对本次版本新研发的核心功能设计接口冒烟测试用例,采用postman+Newman+svn+jenkins实现接口冒烟自动化
另外针对继承过来的核心接口也采用接口自动化来执行
针对新研发的接口还要设计接口全功能测试用例,然后针对于全功能采用postman手工执行
step4、参与公司内部组织的接口用例评审工作
step5、接口测试用例评审通过,待开发环境联调通过后,开始执行接口测试用例
首批在测试环境使用postman+Newman+jenkins实现接口冒烟测试用例(接口自动化),针对于未通过的接口失败案例使用禅道进行bug跟踪管理
使用postman手工执行接口全功能测试用例,针对于未通过的接口失败案例使用禅道进行bug跟踪管理
Postman是谷歌的一款接口测试插件,它使用简单,支持用例管理,支持get、 post、文件上传、响应验证、变量管理、环境参数管理等功能,可以批量运 行,并支持用例导出、导入。
待所有接口测试用例完成后,并且致命性、严重性bug修复完成,符合上线 标准,提交接口测试报告
常见的请求类型?
HEAD:以获取包含在响应消息头中的原信息。
GET:向服务器获取数据
POST:向服务器传送数据
PUT:向指定资源位置上传其最新内容。
DELETE:请求服务器删除Request-URI所标识的资源
接口文档的内容?
接口名称,修订时间/版本、请求方式、接口地址、请求参数、请求参数说明,返回参数说明,返回示例,返回参数错误状态等
接口测试流程?
产品文档和接口文档- 研读接口文档 - 测试计划 -设计接口测试用例-编写测试用例–用例评审—工具选型–编写脚本用例–等待提测–执行测试用例
常见的状态码,解释含义?
200,请求成功
301永久重定向
302临时重定向
404服务器找不到页面
500服务器发送不可描述错误
400 客户端发生语法错误
http的请求和响应的构成
http请求:请求行,消息报头,请求正文
hhtp响应:状态行,消息报头,响应正文
接口测试和ui测试如何协同测试?
接口测试和UI测试这两块其实是有一部分是重叠的,UI测试是通过前端写的界面,来调用接口,而接口测试是直接调接口。所以排除前端的处理的逻辑和调用的正确性,在理论上接口测试是可以覆盖所有的UI测试。但实际过程中,如果只是在接口层覆盖所有的业务流,在UI上只测试前端的逻辑,最终的结果可能会是忽视很多原有的功能点,导致了UI测试的不充分。所以在接口回归测试时会加入UI测试功能点。
接口测试中的get和post请求方式有什么具体的区别?
1、GET历史参数保留在浏览器历史中。POST参数不会保存在浏览器历史中,不可缓存。
2、GET的URL会有长度上的限制2048个字节,则POST的数据则可以非常大。
3、POST比GET安全,因为数据在地址栏上不可见,储存在body中。
4、一般get请求用来获取数据,post请求用来发送数据
5、get幂等,post不幂等。幂等是指无论调用多少次都不会有不同结果的 HTTP 方法。不管你调用一次,还是调用一百次,一千次,结果都是相同的。
http和https区别?
https协议需要到ca申请证书,一般免费证书较少,因而需要一定费用。 http是超文本传输协议,信息是明文传输,https则是具有安全性的ssl加密传输协议。
http和https使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
http的连接很简单,是无状态的;HTTPS协议是由SSL+HTTP协议构建的可进行加密传输、身份认证的网络协议,比http协议安全。
HTTP协议和HTTPS协议
HTTP 是一个属于应用层的面向对象的协议,HTTP 协议一共有五大特点:1、支持客户/服务器模式;2、简单快速;3、灵活;4、无连接;5、无状态。
无状态是什么意思?HTTP无状态协议,是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。另一方面,在服务器不需要先前信息时它的应答就较快。
HTTP详解
http是用户使用浏览器浏览网页和服务器之间的通信协议,通信携带的数据是明文形式,所以用户的http请求会被劫持,用户的相关信息就会被盗取。为了通信安全,对数据进行加密,以便用户上网安全,这就是https
HTTPS解释