10.8
HR-博彦科技
面试题
1,app崩溃的原因:
- 内存不足
- 编码错误
- 硬件问题
- 网络错误
- 用户操作
- 版本不兼容
2,app测试和web测试的区别:
- 平台和环境:app主要在手机端进行测试,web测试主要在浏览器上测试
- 用户界面:app端的用户界面需要更加简洁、直观和易于操作,需要适配不同的屏幕尺寸,web端的用户界面需要适应不同的浏览器和屏幕分辨率。
- 功能测试:移动APP需要测试例如手势操作、传感器的使用等特定功能,而WEB端可能需要测试例如表单提交、API调用等功能。
- 性能测试:移动APP的性能测试需要考虑移动网络的影响、耗电量等因素。WEB端的性能测试需要考虑网页加载速度、并发用户数等因素。
- 兼容性测试:app测试主要考虑不同版本的操作系统,同一操作系统的不同版本,web端测试主要考虑不同浏览器之间的兼容性。
3,jemter都有哪些元件
1、测试计划:起点。所有组件的容器
2、线程组:代表一定数量的用户,通过设置线程数循环次数来控制并发数和执行次数,可以在线程组下添加其他元件,比如取样器等
3、取样器:向服务器发送请求的最小单元
- http请求:接口请求方式,api路径,端口号,请求参数等主要在这里填写
- ftp请求
4、逻辑控制器:结合取样器实现一些复杂的逻辑
- If ,while,forEach,循环,事务控制器
5、前置处理器:在请求之前的工作
- 用户参数
6、后置处理器:在请求之后的工作
- JSON提取器
7、断言:用于判断请求是否成功
- 响应断言(响应文本,响应代码,响应信息,请求头等进行断言)
- JSON断言
- 大小断言
8、定时器:负责在请求之间的延迟间隔。
- 固定,高斯,随机等定时器
9、配置元件:配置信息
- http消息头管理器
- http cookies管理器
- csv data set config
10、监听器:负责收集结果
- 查看结果树
- 汇总报告
- 聚合报告
- 断言结果
4,fiddler抓包过程
- 1,配置https证书,使fiddler可以抓取来自https协议的请求
- 2,打开浏览器,输入网址,执行一些操作
- 3,查看fiddler的监控面板,看到抓包数据
- 4,设置过滤条件,设置指定网址的抓包数据
- 5,会话列表中点击任意请求,在请求区可以看到请求数据,在响应区可以看到响应数据。
5,常见状态码
100-contiue客户端应当继续执行剩余请求
101-服务器理解客户端的请求,需要客户端使用不同协议完成请求。
102-服务器将继续执行请求
200- 成功
301-请求资源永久迁移到新的url
302-请求资源临时迁移到新的url
303-表示临时性重定向,且总是使用 GET 请求新的 URI。
304-表示自从上次请求后,请求的网页未修改过。
307-表示临时重定向,与302类似,使用GET请求重定向。
400-错误请求
401-未授权
403-禁止访问
404-not found
405-(方法禁用) 禁用请求中指定的方法。
406-(不接受) 无法使用请求的内容特性响应请求的网页。
407-(需要代理授权) 此状态代码与 401(未授权)类似,但指定请求者应当授权使用代理。
408-(请求超时) 服务器等候请求时发生超时。
409-(冲突) 服务器在完成请求时发生冲突。 服务器必须在响应中包含有关冲突的信息。
502-错误网关 bad gateway
503-服务不可用
504-网关超时
6,pytest环境搭建
- 确保安装了python和pycharm
- 下载pytest
pip install -u pytest
- 在pycharm(Setting-Tools-python integrated tools)中将default test runner设置为pytest
- 在py文件中导入pytest
import pytest
相关知识点
Jmeter执行接口测试
1、拿到api文档(Fiddler)熟悉接口业务,接口地址,鉴权方式,入参,出参,错误码
2、编写接口测试用例。
正例:输入正常入参,查看接口成功返回
反例:(1)鉴权:空 ,错误,鉴权过期,鉴权次数限制…(2)参数:空,类型错误,长度错误,错误码的覆盖(3)其他:黑名单、分页
3、在测试计划中添加取样器,监听器等元件,输入待测api,在结果树中查看请求结果。
4、Jmeter+Ant+Git+Jenkins 实现持续集成输出接口测试报告,通过电子邮件发送。
jmeter连接数据库
1、准备数据的驱动jar包。mysql,oracle…
方式一:在测试计划里面引用。
方式二:放到jmeter的lib目录下。
2、在测试计划下,添加配置元件-JDBC connection configuration.
连接池的名称:
3、在测试计划-取样器中添加JDBC request
fiddler弱网测试
1,设置要模拟的网络速度
①Rules>>Customize Rules 或者直接Ctrl+R
②Ctrl+F搜索m_SimulateModem或者300
③更改osession中的上行、下行的数值,Ctrl+S保存
2,开启网络延时
①Rules>>Performance>>Simulate Modem Speeds开启
3,执行请求,查看响应区中统计的响应时间
4,关闭网络延时
测试完要再点击一遍Rules>>Performance>>Simulate Modem Speeds关闭
fiddler过滤
①Filters菜单>>勾选Use Filters
②第二个下拉框中选择Show only the following Hosts>>输入目标hosts
③Actions>>Run Filterset Now
fiddler设置断点,截取数据
1,截取请求数据包,响应之前
①Rules>>Automatic Breakpoints>>Before Requests
②截取数据包后修改请求体内容,点击Run to Completion
2,截取响应数据包,响应之后
①Rules>>Automatic Breakpoints>>After Requests
②截取数据包后修改响应体内容,点击Run to Completion
状态码类型
1xx信息,表示临时响应并需要请求者继续执行操作
2xx 成功,操作被成功接收并处理
3xx 表示要完成请求,需要进一步操作。 通常,这些状态代码用来重定向
4xx 客户端错误,请求包含语法错误或无法完成请求
5xx 这些状态代码表示服务器在尝试处理请求时发生内部错误。 这些错误可能是服务器本身的错误,而不是请求出错