jmeter接口总结

我们如果想把jmeter上传到服务器命令为: scp ~/Desktop/apache-jemeter-3.1.tar root@服务器ip:/home/
然后输入服务器的密码; 记:(所有东西上传到服务器都是以上命令)
1:首先性能测试必须是分布式的
2:一般情况下使用服务器作为执行机,使用mac电脑作为调度机
3:注意在我们进行分布式的时候,有一个参数化,需要放到我们每一台的执行机里面
我们在进行压力测试,参数化的时候,要把文件的位置调度机和执行机的位置路径要统一,调度机配脚本,执行机不用配, 但是在参数化的时候要去执行机上配置.
4: jmeter是假并发的.
jmeter接口总结_第1张图片
公司测试流程分为两种: 1: 瀑布式测试 2: 敏捷式测试
1.现在一般公司都是敏捷开发所以我们只能采取敏捷测试.
2.瀑布式测试,对应的是瀑布式开发.
3.产品首先出原型图 --------- (开发,测试,产品,设计开会讨论如果合理)----- 设计开始进行设置---- 等设计完成以后,进行定稿,这个时候开发,测试审核通过就进行开发,开发人员在开发的同时,测试熟悉产品已经写测试用例,等开发将整个产品开发完成以后,测试进行系统性的测试,如果有bug,提到禅道里面去,等开发把bug改完以后,再进行复测,如果没问题,就进行上线,
4.优点就是: 1: 开发开发出来的产品bug少,好用 2:缺点: 时间长, 一般互联网公司都不用这种方式,都使用敏捷开发
5.敏捷开发: 产品先出一个比较完整的原型图,设计先把主要功能设计出来,开发把主要功能开发出来,测试测试完成以后先上线,再进行版本迭代,这就是敏捷开发,
就是在慢慢的往里面新增功能,每次加入一个新的 功能点,都首先把新增的功能点测试一遍,如果没有问题,再进行回归测试,也就是采用瀑布式测试,如果没问题就上线,
随着迭代版本越来越多,回归的时间会特别长,而且还遗漏功能点,有时候会出现开发开发了三天,结果测试测试的时候比开发时间还长,因为回归测试需要从头到尾的系统性的测试一遍,这个时候有时候还会遗漏功能点,所以,等到前面的版本稳定以后我们会在这里加入自动化测试,
在开发进行产品开发的时候,我们首先把以前的功能点写成自动化,比如: ANdorid 使用 appium 写自动化,ios 使用 appium 写自动化,web 使用 selenium 写自动化, 等到开发开发完成以后,我们呢对新增的功能进行功能测试,一般使用灰盒测试,同时在我们测试新增的功能的时候,用脚本跑自动化,但是脚本自动化不可能覆盖所以的测试用例,比如二维码扫一扫,这个时候我们讲脚本覆盖不到的,使用手动测试,一般自动化的覆盖率在百分之80足有,使用自动化测试的原因就是为了提高效率,
在公司一般首先做接口测试,等后台把接口写完以后,首先测试接口,看看接口通不通,返回数据对不对,接口测试也需要写测试用例,比如使用测试方法,比如等价类,边界值,因果图,
接口测试完成以后,开发出产品我们对产品进行功能测试,在进行功能测试的时候,有时候会遇到网络请求的时间特别长,我们需要进行定位,接口请求网络时间长的原因在哪里,是因为数据库查询出了问题,还是服务器cpu,内存,还是带宽不够,
瓶颈定位: 第一首先我们通过命令行登陆数据库,找到这个表,找后台开发要查询这个表的sql 语句,比如表为了速度快,加了索引,我会使用 explain sql 语句,来看看索引有没有起作用
第二,通过Python链接数据库,执行查询语句,来统计查询需要的时间,看看时间需要多久,是不是卡在这里,如果命令行登陆数据库响应特别快,而代码执行响应时间慢,我们需要使用命令去查询服务器的 带宽占用率,以及cpu占用率,和 内存占用率,使用的命令是 top,首先把这个优化掉,让响应时间达到我们期望的范围内
第三: 当我们请求一次接口响应时间达到我们的期望值,可以接受了,产品功能测试也完成了,也没问题,这个时候我们对接口和页面进行性能测试,使用jmeter做分布式,
一般情况下使用mac作为调度机,linux 服务器作为执行机,一般服务器内存要求8G,可以同时并发2000用户,如果咱们公司需要10万用户那就买50台服务器,我通过一台电脑去控制50台服务器做并发,一般我使用shell脚本来搭建linux,比如安装jdk,上传Jmeter,启动Jmeter,一次性完成,
接下来我就通过关联和参数化来进行压力测试,当压我们力测试结束以后,如果聚合报告里面有错误,我通过scp命令将服务器里面的日志拉取出来,将错误截图给开发,让开发去修改错误

你可能感兴趣的:(jmeter)