(如有错误请批评指正)
Jmeter工具
1.Jmeter你常用的组件有什么?
- 线程组:用于定义用户的行为,有线程数、循环次数配置
- 取样器:用于发请求的工具,有http请求、jdbc请求
- 监听器:用于查看结果,有聚合报告、察看结果树
- 配置原件:是一个工具箱,主要有http请求默认值,用来统一管理域名;csv数据文件,可以用来参数化账号、密码;用户自定义变量,可以用来定义端口
断言:用来检查结果是否符合预期,主要有响应断言、json断言,响应断言是通用型,而json断言是针对json格式,$是根节点,. 是子节点
追问:怎么使用响应断言?
从API文档中查看响应数据内容,将响应数据内容写入到“测试模式”中,看是否包含该响应数据,如果执行后显示绿色则包含,红色则不包含
2.你是怎么用jmeter做接口测试?
- 我先充分理解API文档,明确接口的任务,然后开始设计测试用例、用例评审,接着就可以去jmeter做接口测试。
- 首先,先配置好请求,将请求方法,端口,接口地址等信息配好
- 有时候要识别数据为json格式,则在http信息头管理器添加content-type:application/json,以及相关参数
- 然后,在http请求添加好一些参数、json数据、文件上传等信息
- 然后添加断言,写上检查点去验证数据是否存在、正确
- 可以做获取变量的操作,将局部属性变为全局属性参数化操作
- 最后开始执行,可以在查看结果树查看结果
3.测试流程
- 首先参与需求评审会议,记录好prd中不理解的部分
- prd定稿后,进入迭代计划会议,明确需求由谁来跟进
- 测试人员可以用思维导图梳理测试点,设计测试用例,并发起评审
- 开发人员写完代码后,会进入联调阶段,然后开发自测冒烟用例,通过则提测
- 提测后进入系统测试阶段,第一轮主要以执行新功能测试用例,第2-3轮主要以回归bug为主,最后一轮是旧功能回归测试
- 系统测试结束后,测试提供部分重要的测试用例用于验收,一般由产品经理验收,验收通过后,测试人员要发测试报告
- 最后上线,上线后测试人员仍然要跟进,到线上点一点
4.接口测试流程
- 根据api文档,分析每个接口任务
- 编写测试计划
- 根据api文档设计接口测试用例,并发起用例评审
- 选择测试工具编写测试脚本并执行用例
- 输出测试报告
5.接口测试用例怎么设计
- 围绕业务逻辑:从正常参数响应、异常参数响应分析
- 围绕参数设计:数字型、字符串型分析
- 围绕异常场景:网络异常、服务器异常场景分析
- 围绕权限安全设计:含登录及token验证、越权操作
- 围绕性能方面:高并发、高频率情况
- 围绕兼容性:不同客户端的接口
6.如何实现跨线程组关联?
- 通过setproperty函数简历局部变量和全局变量的关系
- 然后在beanshell取样器中执行setproperty函数将局部变量变成全局变量
- 最后下游线程组通过property函数进行引用
7.如何实现加密接口测试?
- 此处的加密并不是指接口具备加密功能,而是在请求某些参数时要加密
- 首先分清是简单的加密还是复杂的加密情况
- 若为md5加密则可以直接使用jmeter的内置函数,若为复杂的sha-256加密则可以向开发获取加密函数的代码,然后在beanshell中调用
8.jmeter如何连接数据库?
- 首先,下载mysql对应的驱动包
- 然后在jmeter中引用并且配置好相关数据库信息
- 最后在jdbc请求上写sql语句
9.http常见的状态码
200表示查询成功、201表示新增成功
403代表拒绝访问、404代表路径错误
500代表服务器异常、503代表服务器不可用
10.cookie、session、token的区别
cookie:存储在客户端浏览器,用于携带session id等信息,实现与session联动,可以存储少量用户数据
session:存储在服务器,通过与浏览器cookie中的sessionid关联来标识用户,服务端管理会话
token:由服务端生成的字符串,客户端请求时携带,服务端无需存储
11.get和post区别
| 区别 | get | post |
| 携带数据量 | 有限 | 无限 |
| 提交方式 | 会显示在地址栏中 | 不会显示 |
| 执行效率 | 高 | 低 |
12.http和https区别
| 区别 | http | https |
| 端口 | 80 | 443 |
| 安全 | 明文传输 | ssl加密 |
| 证书 | 不需要 | 要到CA申请证书 |
| 速度 | 快 | 慢 |
13.接口测试如何定位bug

14.怎么定位bug属于前端还是后端


173

被折叠的 条评论
为什么被折叠?



