性能测试篇
Posted 软件测试面试汇总
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了性能测试篇相关的知识,希望对你有一定的参考价值。
性能测试怎么做的?
参考答案:
做性能需求分析,挑选了用户使用最频繁的功能来做性能测试,比如:登陆,打开系统首页,搜索,提交订单,确定性能指标,比如:事务通过率为100%,90%的事务响应时间不超过3秒,CPU和内存的使用率为70%以下。
搭建性能测试环境,准备好性能测试数据。
使用Jmeter开发优化脚本,包括:参数化,断言,关联等。
设计性能测试场景,我们这个项目做了单用户单功能循环200次的基准测试,然后使用1500个用户,执行30分钟的负载测试,看系统有没有性能瓶颈;
我们搭建了分布式压力测试环境进行测试,每台压力机并发500个用户,并监控linux服务器的CPU,内存,IO。
分析性能测试结果,如果有性能瓶颈,收集相关的日志提单给开发修改。
开发修改好后,回归性能测试,然后输出性能测试报告。
如何确定系统能够承载的最大用户数?
通过负载测试,不断增加用户数,随着用户数的增加,各项性能指标也会相应产生变化,当出现了性能拐点,比如,当用户数达到某个数量级时,响应时间突然增长,那么这个拐点处对应的用户数就是系统能承载的最大用户数。
你们系统哪些地方(哪些功能)做了性能测试?
我们选用了用户使用最频繁的功能来做性能测试,比如:登陆,打开系统首页,搜索,提交订单。
你们性能测试在哪里做的?
我们会搭建一套独立的性能测试环境进行测试。
你们性能测试什么时间做?
功能测试之后,系统比较稳定的时候再做。
怎样分析性能测试结果?
查看聚合报告和服务器的资源使用图,检查响应时间,事务成功率,CPU,内存和IO使用率是否达到要求,如果出错率达到了总请求数的3%,我们会检查是什么原因导致的,修改好后,重新测试;
如果出现了性能瓶颈,比如响应时间,或者CPU使用率不达标,我们会从服务器上导出日志,分析是哪个地方导致响应时间过长,如果分析不出来,就叫上开发一起讨论,确定问题后,就提单给开发修复,修复好了就进行回归测试。
如何判断网络是否存在瓶颈?
在性能测试结束之后,我们会根据性能测试的结果,查看在整个性能测试过程中,网络的吞吐量是多少,如果网络的吞吐量占到了服务器的70%以上,我们就认为网络存在瓶颈,通常会增加带宽或者压缩传输数据。
响应时间不达标
响应时间不达标的话,我们会根据性能测试结果先检查看下是否是服务器带宽存在问题,如果带宽存在瓶颈,则会考虑增加带宽或者压缩传输数据,如果带宽没有问题的话,我们会从服务器上导出日志,开发一起讨论分析是哪个地方导致响应时间过长,确定问题后,就提单给开发修复,修复好了就进行回归测试。
CPU使用率不达标
CPU使用率不达标,我们会从服务器上导出日志,分析是哪个地方导致CPU使用率不达标,如果分析不出来,就叫上开发一起讨论,确定问题后,就提单给开发修复,修复好了就进行回归测试。
程序在单用户场景下运行成功,多用户运行则失败,提示连不上服务器。
原因:程序没有做多线程处理。
程序实现的功能是,随机给用户分配不同的任务,单用户运行时,能成功分配;多用户并发申请任务时,所有用户得到的任务都是一样的。
原因:程序存在线程同步的问题。
系统并发200个用户,服务器返回 http status-code = 500
原因:数据库连接没有来得及关闭,就有用户访问上来了,导致数据库崩溃 。这个就是数据库的链接这块开发没有处理好
你们的性能测试需求哪里来的?
参考答案:我们的需求文档上有的,不过有时候不太合理,我们可能需要和BA进行讨论。比如,我之前做了一个公司内部用的OA系统的性能测试时,要求并发用户200人,我们整个公司都没有100人,很明显,做200人并发是没有必要的,后来,我们只做了50人并发。
如何实现200用户的并发?
参考答案:在请求的前面添加集合点,设置并发用户数为200
什么情况下要做关联,关联是怎么做的?
参考答案:当发给服务器的请求数据需要依赖另一个请求返回的数据,就用关联。
有验证码的功能,怎么做性能测试?
参考答案:
1)、将验证码暂时屏蔽,完成性能测试后,再恢复。注意:屏蔽验证码是不会给性能测试的结果带来影响的。
2)、使用一个万能的验证码。
你们性能测试做的是前台还是后台?
参考答案:
我们做的是后台服务器的性能
性能测试指标有哪些?
平均事务响应时间,90%的事务响应时间,TPS,CPU、内存
你们项目最佳的并发用户数是多少?
参看答案:我们当时做到1500个并发用户的时候,查询功能的响应时间超过了性能指标2秒多,原因是有几个表的索引建得不合理导致的,重新建索引后,问题就解决了。我们当时做到1500并发用户后,就没再继续增加用户量了。
分布式环境怎么搭建?
怎么监控服务器资源的
我们使用的是Nmon工具来监控服务器资源的,它能够将linux上一段时间的资源以文档的形式保存下来。
Jmeter做性能测试的工作原理是什么?
Jmeter通过主机来控制各个压力机,并发大量用户,对服务器产生负载,从而实现性能测试。
服务器的配置是怎样的
CentOS、 6.8
CPU型号:英特尔 酷睿 i5
CPU核数:16核
内存:32G
服务器当时有几台?
2台web服务器,一台db服务器
欢迎同学们扫描二维码报名吧!
软件测试面试汇总
IT测试人的自媒体
QQ : 869120106
长按二维码关注吧
一起成长,一起分享,希望能对您有所帮助,我们是TestMadman,期待您的关注。
以上是关于性能测试篇的主要内容,如果未能解决你的问题,请参考以下文章
性能测试 性能测试实战Jmeter性能测试平台开发,性能测试平台架构解析 ,性能测试平台搭建 分布式性能压测平台 Jmeter分布式性能测试管理平台 性能测试平台示例案例 《完结篇》