测试者常备知识点
-
Postman如何写断言?
设置好postman的环境变量,根据API文档正确的填写好入参
点击test正确添加断言脚本然后运行用例集,查看断言结果。
-
网页前后端测试的区别,F12和fiddler工具的区别
前端:指客户端(web页面、APP(安卓、ios)、小程序(微信)、H5页面),对数据的展示
后端:主要指服务器,对数据的各种处理,传递给前端
F12抓包工具是浏览器自带的一个抓包工具,它比较方便,也比较灵活
Fiddler是一款抓包工具,连接上同一局域网后,既可以抓取web端数据,也可以抓取移动端的数据
-
项目中的接口,常用的工具,项目的测试点有哪些?
Postman、Jmeter、fiddler
测试点:检查接口的url,路径,请求类型get或者post;
检查接口参数必填非必填的场景;
接口参数等价类,边界值,因果图的检查;
检查接口返回的数据,返回数据参数是否符合预期;
检查接口的性能,例如返回数据响应的时间;
检查接口的安全性,例如登录验证码参数是否加密。
-
Fiddler怎么进行抓包
电脑和手机同在一个局域网下
手机打开wifi设置,修改网络,选择代理配置电脑ip地址,端口默认8888
操作APP就可以通过Fiddler查看抓包数据
-
anr与crash的区别?
anr是无响应,页面点击无任何反应,crash是崩溃,APP会强制关闭返回到手机桌面
-
Get与post的区别
1.get是从服务器上获取数据,post是向服务器传送数据。
2.get是把参数数据加到URL中用?和&来分别,长度有限,在URL中可以看到。
post是把数据放到body里面,长度不限,用户看不到数据的。
3.get传送的数据量较小,post传送的数据量较大,一般被默认为不受限制。
4. get安全性非常低,post安全性较高。
-
Jmeter的具体使用?
为什么选择 JMeter,下面看看 JMeter 的特色。
1. 开源许可: Jmeter 是完全免费的,并提供了源码可供自定义开发
2. 图形界面模式:提供了方便的图形界面来编辑和开发测试脚本
3. 平台无关:可以轻易在 windows、linux、mac 上运行
4. 多线程框架:通过线程组,能够轻易的设置不同测试的并发用户。
5. 图形测试结果:提供了图表、表格、树、文件等格式的结果显示。
6. 易于安装:jmeter 不需要安装,下载解压即可用。
7. 高扩展性:jmeter 支持用户自定义测试脚本,同样还提供了各种插件。
8. 多测试类型支持:支持性能测试、分布式测试、功能测试
9. 仿真模拟:支持多用户并发测试
10. 多协议支持:支持 http、jdbc、ldap、soap、jms、ftp 等等协议
11. 录制&回放:支持用 badboy 或 jmeter 录制
首先创建一个线程组,设置循环次数,然后建立http请求,维护接口请求字段,包括请求地址,路径,端口,协议,请求类型,编码,请求参数,
然后设置响应断言,建立聚合报告,查看结果树,执行请求后,查看结果树页面,是成功还是失败。
-
数据库怎么进行连接
1.利用Navicat工具点击链接按钮,选择mysql数据库
2.输入主机或者ip地址
3.输入用户名和密码将登陆
-
接口测试怎么做
运用postman进行测试
按照API文档进行环境变量设置以及各种的参数的输入
检查接口返回的数据是否与预期的结果一致,返回的数据参数是否符合预期
检查接口的URL,路径,请求类型
检查接口的参数必填和非必填的场景
接口参数的等价类,边界值,因果图
检查接口的性能以及安全性
-
线上出现bug怎么解决
1.评估bug的影响范围,确定bug出现的场景,复现bug,定位bug产生的原因
2.开发修改bug,测试部署代码后进行验证,确保bug被修复且无其他影响,尽快发布上线,减轻线上影响
3.对问题进行复盘,明确bug产生原因,并且后续避免同样的问题再次发生
-
Tcp协议
TCP的4层模型:应用层,传输层,网络互连层,网络接口层
*Tcp协议
Tcp是一个面向连接的,可靠的协议,不会丢包,适合大数据量交换
Tcp三次握手:1.客户端向服务器发送带有序列号的请求
2.服务器收到客户端的请求,回应序列号数据段
3.客户端收到序列号数据段,正式建立通信,传输数据
Tcp四次分手:1.客户端向服务器提出停止连接的请求
2.服务器收到客户端的请求,做出响应
3.由服务器提出反方向的关闭请求
4.客户端收到服务器的响应,断开连接
-
Monkey命令
adb shell monkey + 参数
命令参数:
-p:指定app,+包名
-v:日志级别,-v -v -v
-s:-s 321
--throttle:操作间隔时长参数
--ignore-crashes:如果遇到崩溃跳过,执行剩下的次数
--ignore-timeouts:如果遇到无响应跳过,执行剩下的次数
事件参数:数字(百分比)
--pct-touch :点击事件
--pct-motion:滑动事件
--pct-trackball:放大缩小,手势事件
--pct-majornav:键盘事件
--pct-syskeys:系统按键(音量键)
--pct-appswitch:Activity事件
adb shell monkey -p com.jiochat.jiochatapp --throttle 100 --ignore-crashes --ignore-timeouts -v -v -v 1000000>d:\b.log
-
http与https的区别
1、HTTP 是超文本传输协议,信息是明文传输,HTTPS 则是具有安全性的 SSL 加密传输协议。
2.HTTP 和 HTTPS 使用的是完全不同的连接方式,用的端口也不一样,前者是80,后者是443。
3.HTTPS用的有加密证书,因此是收费的,HTTP则是免费的。
4、HTTP 的连接很简单,是无状态的。HTTPS 协议是由 SSL+HTTP 协议构建的可进行加密
传输、身份认证的网络协议,比 HTTP 协议安全。
-
adb常用命令
*adb常用命令
adb devices 查看连接状态
adb install 安装包位置:安装软件
adb reboot:强制关机
adb logcat:抓取手机日志
adb logcat -c:清除旧日志
adb logcat >C:\Users\ASUS\Desktop\logcat.log
adb shell am monitor:查看app包名
adb push 文件名 往手机传递文件
adb uninstall 包名 卸载apk
-
Linux命令
常用的的Linux命令;
cd:进入目录
cd .. :返回上一级目录(注意空格)
ls : 查看当前目录下文件
mkdir :创建文件夹
touch :创建文件
pwd : 查看当前所在目录位置
vi+文件名 :进入编辑文件
esc键 (退出编辑) :w(保存)q(退出)!(强制) 退出编辑文件
cp:复制 (在该文件夹下移动和复制,文件名 要移动到的文件及的路径位置 pwd)
mv :移动
find / -name “文件名称“: 查找文件
top :显示当前系统中耗费资源最多的进程(查看cpu)
free:查看内存
rm-rf:删除
clear :清屏
ps -ef : 查看进程,查看pid
kill -9 :杀掉XXX(pid)
-
App与web的区别
app与web的ui测试,功能测试方法都是一样的,
不同的是app的使用场景更加丰富,web的使用场景主要在室内
1.网络测试:app要考虑到4G,5G,WiFi,无网,弱网,网络中断再次连接网络测试,
2.安装,卸载,更新测试:app要考虑到从上一个/上两个版本直接升级到最新版本,全新版本安装,新版本覆盖旧版本安装,卸载旧版本,安装新版本等场景
3.兼容性测试:app主要考虑的是不同版本系统,不同手机型号,不同手机厂商,不同屏幕分辨率,web主要考虑的是不同电脑系统,不同电脑屏幕分辨率,不同浏览器
-
Fiddler的使用
核心功能可以概括为1.抓包 2.打断点 3.弱网测试
-
项目的业务流程,数据流的走向
*项目的业务流程,数据流的走向
1.产品提出需求,发送到群里通知相关人员了解分析需求;
2.由产品组织召开需求评审,分析需求的可行性;
3.需求评审通过后进行排期,开发人员进行开发和单元测试,测试人员编写测试用例;
4.测试用例写好后,由我们测试组织召开用例评审,进行场景分析,查漏补缺,避免漏测;
5.用例评审通过后,开发提交已开发好的模块,进行集成测试,最后开发完整提测,进行系统测试,测试过程中发现的问题我们会提交到禅道,跟踪并回归验证bug;
6.系统测试通过后,我们会出一个测试报告,包括上线的风险点,解决了多少bug,还有多少bug为解决,由产品经理验收,评估是否通过;
7.通过后由运维上线,我们进行线上回归测试验证功能,并在后续不断收集线上问题和即使解答处理。
数据流的走向:用户登录后,点击点餐,选择门店,进入门店选择商品加入购物车,点击去结算进行支付,支付成功后在线下该门店领取商品
-
Bug要素,印象最深的bug,上一家工作中骄傲的事(bug),发现哪些bug对项目质量有帮助?
bug要素:bug编号,对应需求,影响版本,指派人员,bug标题,严重性,优先级,复现路径,预期结果,实际结果,bug截图
印象最深的bug:登录页面,输入正确的手机号和密码,提示手机号输入错误,经过多次测试和抓包查看数据,发现是首次用户注册登录时手机号后面多输入了一个空格,
但是在输入框又显示不出来,导致之后一直提示手机号错误,解决方法是开发人员对手机号输入框进行限制(你们是怎么解决这个bug的)
帮助:之后开发对手机号输入框进行限制,避免一些异常场景导致的bug
-
Ios端与安卓端的区别
运行机制不同:ios采用的是沙盒运行机制,安卓采用的是虚拟机运行机制
后台制度不同:ios中任何第三方程序都不能在后台运行,安卓中任何第三方程序都能在后台运行,直到没有内存才会关闭
审核机制不一样:安卓会有很多应用渠道(华为商城、oppo商城。。。),ios只有一个渠道App Store
操作习惯不一样:安卓会有返回键、菜单键、后台键,ios只有home键
开发语言不一样:安卓语言是Kotlin,ios语言是objective-c,这两个语言都是以java为基础演变的
-
传输数据有哪几种方式,请求方式有哪些?
get post put delete
-
数据库怎么插入数据
insert into 表 (字段,字段)values (”“,”“)
-
查询数据库金额大小排序
select * from 表 order by 金额
-
如果发现同事漏测,应该怎么做
分析同时哪方面没有考虑到,遗漏的地方,和同事进行沟通,补充测试用例,把漏测的地方尽可能的补充完整
-
开发延期完成,测试时间不够应该怎么办
1.第一时间反馈个上级领导,告知产品
2.评估系统风险,进行加班,看现有的时间能够完成哪些测试,优先完成核心和重要的功能,保证业务流程正确,
3.如果时间还是不够,及时反馈当前的测试情况,汇报测试结果,尽早把风险提出来,比如加班也完不成,或者压缩测试时间会影响版本质量等
-
Fiddler打断点 为什么要修改抓包信息
模拟数据,制造一些不方便制造的数据,测试前后端对数据的处理场景。
-
紧急需求怎么办
既然是紧急需求,肯定是优先级非常高的,客户或者业务非常急需的功能,我会端正态度做好加班准备;
分析这个需求所涉及的业务场景,积极沟通产品和开发,用xmind整理出测试点;
然后预估测试需要的时间,尽自己最大努力加班完成测试工作,如果预估加班也不能完成的情况下,会及时反馈给产品和测试组长,组织应对方案,看是加派人手或者延期
-
出现一个复现不了的bug怎么办,已上线
偶先bug也是bug,只是因为复现路径不对或者存在一些特殊场景
我会尽最大努力还原当时的场景,通过系统日志定位问题,找到bug复现的路径;
如果复现不了,我会找开发人员协助复现bug,从代码层面分析,找到bug产生的原因,分析bug的严重性,进行修复,发布上线
如果仍不能复现,我会在今后重点关注,考虑更加多的场景看是否会触发。

浙公网安备 33010602011771号