session与cookie的区别:
1,存放位置不一样,session存放在服务器端,cookie存放在客户端;
2,安全性不一样,session保存在服务器安全系数更高一点;
3,尺寸大小不一样,session基本上没有大小限制,cookie保存的内容很小,由浏览器决定;
4,依赖关系,session是通过cookie中的session-id获得值;
5,服务器性能不一样,session对服务器的性能压力更大一点,cookie放在客户端几乎对服务器没有压力;
6,保存方式不一样,session保存在服务器的一个文件夹里面,可以通过手动修改放到数据库,文件夹,内存里面;cookie保存在客户端的内存里面,若设置了过期时间,是保存在硬盘里面。
接口测试用例的编写要点有哪些?
1)必填字段:请求参数必填项、可选项
2)合法性:输入输出合法、非法参数
3)边界:请求参数边界值等
4)容错能力:大容量数据、频繁请求、重复请求(如:订单)、异常网络等的处理
5)响应数据校验:断言、数据提取传递到下一级接口...
6)逻辑校验:如两个请求的接口有严格的先后顺序,需要测试调转顺序的情况
7)性能:对接口模拟并发测试,逐步加压,分析瓶颈点
8)安全性:构造恶意的字符请求,如:SQL注入、XSS、敏感信息、业务逻辑(如:跳过某些关键步骤;未经验证操纵敏感数据)
* 测试每个参数类型不合法的情况(类型不合法容易遗漏NULL型)
* 测试每个参数取值范围不合法的情况
* 测试参数为空的情况
* 测试参数前后台定义的一致性
* 测试每个参数的上下限(这里容易出致命的BUG,如果程序处理不当,可能导致崩溃)
* 如果两个请求有严格的先后顺序,需要测试调转顺序的情况
依赖于登录的接口如何处理
登录接口依赖token的,可以先登录后,token存到一个yaml或者json,或者ini的配置文件里面,后面所有的请求去拿这个数据就可以全局使用了
如果是cookies的参数,可以用session自动关联
s=requests.session()
后面请求用s.get()和s.post()就可以自动关联cookies了
下个接口请求参数依赖上个接口的返回数据
这个很容易,不同的接口封装成不同的函数或方法,需要的数据return出来,用一个中间变量a去接受,后面的接口传a就可以了
什么是数据驱动,如何参数化?
参数化和数据驱动的概念这个肯定要知道的,参数化的思想是代码用例写好了后,不需要改代码,只需维护测试数据就可以了,并且根据不同的测试数据生成多个用例
测试的数据你放在哪?
测试数据存放总结:
1.对于账号密码,这种管全局的参数,可以用命令行参数,单独抽出来,写的配置文件里(如ini)
2.对于一些一次性消耗的数据,比如注册,每次注册不一样的数,可以用随机函数生成
3.对于一个接口有多组测试的参数,可以参数化,数据放yaml,text,json,excel都可以
4.对于可以反复使用的数据,比如订单的各种状态需要造数据的情况,可以放到数据库,每次数据初始化,用完后再清理
5.对于邮箱配置的一些参数,可以用ini配置文件
6.对于全部是独立的接口项目,可以用数据驱动方式,用excel/csv管理测试的接口数据
7.对于少量的静态数据,比如一个接口的测试数据,也就2-3组,可以写到py脚本的开头,十年八年都不会变更的
总之不同的测试数据,可以用不同的文件管理
接口产生的垃圾数据如何清理
造数据和数据清理,需要连数据库做增删改查的操作
测试用例前置操作,setUp做数据准备
后置操作,tearDown做数据清理
HTTP 和 HTTPS 协议区别?
答:https 协议需要到 CA(Certificate Authority,证书颁发机构)申请证书,一般免费证书
较少,因而需要一定费用;
http 是超文本传输协议,信息是明文传输,Https 协议是由 SSL+Http 协议构建的可进行加
密传输、身份认证的网络协议,比 http 协议安全;
http 和 https 使用的是完全不同的连接方式,用的端口也不一样,前者是 80,后者是 443;
在项目中如何用jmeter进行接口测试?
把线程组数量设置为1,循环次数设置为1;
配置好全局变量URL通过配置元件---用户自定义的变量添加;
增加配置元件http请求默认值,放置在用户定义的变量之后;
添加事务控制器管理和组织测试用例;
在事务控制中添加http请求添加测试用例中的接口请求信息;
添加对应的断言元件进行断言。
17、jmeter中如何设置断言?
右击请求---断言---响应断言---响应断言界面输入要检查比对的项,设置好断言后,执行接口测试如果是通过的,查看结果树不会有任何提示,如果断言失败,就会有红色报错。如果接口返回的数据是json数据,也可以添加json断言。
18、jmeter中如何实现关联?
先从上一个接口中通过正则表达式提取器或json path解析器截取下一个接口需要的参数值保存到变量,然后在写一个接口中通过${变量名}去获取。
19、jmeter添加http请求默认值元件作用?
添加并设置好后,相当于给所有的http请求取样器都设置了默认值,既不用填写取样器中的比如主机地址、端口、代理等,都可以使用http请求默认值设置的。
20、jmeter参数化方式有哪几种可以实现?
配置元件---用户定义的变量元件可以设置全局变量;
函数助手对话框中可以选择比如随机字符串、随机日期、随机数字作为参数化;
可以使用csv文件作为参数化,通过配置元件中的csv dataset config元件进行设置即可。
、