- 性能测试怎么做的?
参考答案: 比如,我这个xxx项目的性能测试是这样做的: 1).做性能需求分析,挑选了用户使用最频繁的功能来做性能测试, 比如:登陆,打开系统首页,搜索,提交订单,确定性能指标, 比如:事务通过率为100%,90%的事务响应时间不超过3秒,CPU和内存的使用率为70%以下(*) 2).搭建性能测试环境,准备好性能测试数据。(*) (PS:性能测试数据,包括基础数据和使用数据, 如果我们要测试系统半年内是否能稳定提供服务,就要在估算一下半年内,系统会有多少数据, 然后在数据库上导入对应量的数据,这叫基础数据; 使用数据,就是我们测试过程中需要用到的参数化的数据) 3). 使用Badboy工具,录制脚本,并优化,包括:参数化,断言,关联等。 4). 设计性能测试场景,我们这个项目做了单用户单功能循环200次的基准测试, 2000个用户,执行15分钟的压力测试,看系统最佳的并发用户数,还有看系统有没有性能瓶颈; 5). 我们搭建了分布式压力测试环境进行测试,每台压力机并发500个用户,并监控linux服务器的CPU,内存,IO 6). 分析性能测试结果,如果有问题(性能瓶颈),收集相关的日志提单给开发修改(*) 7). 开发修改好后,回归性能测试(*) 8). 编写性能测试报告(*) |
- 你们系统哪些地方(哪些功能)做了性能测试?
参考答案:我们选用了用户使用最频繁的功能来做性能测试,比如:登陆,打开系统首页,搜索,提交订单。 |
- 你们性能测试在哪里做的?(了解)
参考答案:(性能测试环境一定尽量接近生产环境) 我们会搭建一套独立的性能测试环境进行测试,由专人搭建(运维) |
- 你们性能测试什么时间做?
参考答案: 功能测试之后,系统比较稳定的时候再做。 不是每个版本都做,一般半年或者当系统出现瓶颈时进行性能测试。 接口测试:每个版本都必须做 功能测试:每个版本都必须做 自动化测试:模块稳定、有时间的情况下 性能测试(低频的): 1.客户反映某个时间段,系统某个功能使用变慢,比如查询。 2.公司领导或者项目经理提出性能测试 前提:必须功能稳定 |
- 怎样分析性能测试结果?
参考答案: 思路:查看聚合报告和服务器的资源使用图,检查响应时间,事务成功率,CPU, 内存和IO使用率是否达到要求,如果出错率达到了总请求数的3%, 我们会检查是什么原因导致的,修改好后,重新测试; 如果出现了性能瓶颈,比如响应时间,或者CPU使用率不达标, 我们会从服务器上导出日志,分析是哪个地方导致响应时间过长, 如果分析不出来,就叫上开发一起讨论,确定问题后,就提单给开发修复, 修复好了就进行回归测试。 Linux+mysql+php+apache /var/log/httpd/ tail -f access_log sz access_log |
- 性能测试遇到过什么问题?
1、响应时间不达标。。。(继续讲,告诉人家,你是怎么定位问题的) 2、CPU使用率不达标。。。(继续讲,告诉人家,你是怎么定位问题的) 3、程序在单用户场景下运行成功,多用户运行则失败,提示连不上服务器。 原因:程序没有做多线程处理。 4、程序实现的功能是,随机给用户分配不同的任务,单用户运行时,能成功分配;多用户并发申请任务时,所有用户得到的任务都是一样的。 原因:程序存在线程同步的问题。 5、系统并发200个用户,服务器返回 http status-code = 500 原因:数据库连接没有来得及关闭,就有用户访问上来了,导致数据库崩溃 。这个就是数据库的链接这块开发没有处理好 6、不合理创建索引,或者没有创建索引,导致查询SQL响应时间变慢。 |
- 你们的性能测试需求哪里来的?
参考答案: 1)、需求文档会写明需求,不过有时候不太合理,我们可能需要和BA进行讨论。 (比如,我之前做了一个公司内部用的OA系统的性能测试时,要求并发用户200人,我们整个公司都没有100人, 很明显,做200人并发是没有必要的,后来,我们只做了50人并发。) 2)、如果没有需求文档,就开会讨论,确定一下并发用户数、哪些功能做、性能测试通过指标(了解) 功能:产品经理、编写需求文档、设计原型图 接口:开发人员写接口文档 自动化:测试人员收集(功能测试用例转化为可以做自动化测试脚本) 性能:产品经理、项目经理 提出需求、客户提出需求 |
- 如何实现200用户的并发?
参考答案:在请求的前面添加集合点(右键--》线程组--》定时器--》Synchronizing Time),设置并发用户数为200 https://www.cnblogs.com/zhangyqn/p/11990566.html |
- 什么情况下要做关联,关联是怎么做的?
参考答案:当发给服务器的请求数据需要依赖另一个请求返回的数据,就用关联。 |
- 有验证码的功能,怎么做性能测试?
参考答案: 1)、将验证码暂时屏蔽,完成性能测试后,再恢复。注意:屏蔽验证码是不会给性能测试的结果带来影响的。 2)、使用一个万能的验证码。 |
- 你们性能测试做的是前台还是后台?
参考答案: 我们做的是后台服务器的性能 |
- 性能测试指标有哪些?
平均事务响应时间,90%的事务响应时间,TPS,CPU、内存和IO使用率 |
- 如何监控服服务器资源?
参考答案:首先在Jmeter安装资源监控插件,比如 服务器资源的监控插件(有CPU/内存/IO等)、 事务通过率的监控插件、点击率、响应时间的监控插件等。 然后在Linux服务器上安装ServerAgent代理工具,对该工具进行解压、赋权,最后开启代理服务, 运行Jmeter脚本,就可以通过Jmeter插件监控到服务器的资源了。 |
- 你们的性能分布式环境如何搭建?
参考答案: 性能测试分布式环境搭建还是比较复杂的,我自己整理了一个文档。 大致和你说一下搭建的思路:(****必记问题***) 1、从机解决server.bat报错问题 2、从机和主机存放脚本和路径、数据保持一致 3、从机和主机禁用虚拟网络适配器 4、从机和主机防火墙均关闭 5、从机开启server.bat服务 6、主机调用远程从机ip,执行脚本 |