1、怎么确定系统最大负载?
通过负载测试,不断增加用户数,随着用户数的增加,各项性能指标也会相应产生变化,当出现了性能拐点。
比如,当用户数达到某个数量级时,响应时间突然增长,那么这个拐点处对应的用户数就是系统能承载的最大用户数
2、系统哪些地方(哪些功能)做了性能测试?
选用了用户使用最频繁的功能来做测试。
比如:登陆,搜索,提交订单
3、并发用户数是怎么确定的?
会先上线一段时间,根据收集到的用户访问数据进行预估;
根据需求来确定,使用高峰时间段,注册用户数,单次响应时间等;
4、实现200用户的并发?
在脚本对应的请求后添加集合点(绝对并发)
相对并发:线程组设置200线程数
5、什么情况下要做关联,怎么做的?
当脚本的上下文有联系,就用关联。
比如登录token关联,增删改查主键id关联
6、有验证码的功能,做性能测试?
将验证码暂时屏蔽,完成性能测试后,再恢复;
使用万能的验证码;
7、性能测试做的是前台还是后台?
BS项目:测试的是后台服务器的性能和浏览器端性能
APP项目:手机端和服务器端的性能都做
8、如何脚本增强?
-
做参数化
-
做关联
-
添加事务
-
添加断言
-
添加集合点(jmeter的同步定时器)
-
添加思考时间(jmeter的统一随机定时器和固定定时器)
9、怎么找到并发数、平均响应时间、TPS的最佳平衡点?
性能测试常用的指标有三个:并发、响应时间、TPS
-
并发:跑道里参加赛跑的人数(这里的并发是广义的并发,即同一个时间段内对系统发起的请求数量)
-
响应时间:也就是平均每个事务的处理时间
-
TPS:每秒处理的事务数
需求指标:分为单指标和多指标
-
单指标:一般是单测试tps,或者根据并发测试响应时间,或者根据响应时间测试并发,只考虑单指标的很少
-
多指标:要同时考虑多个指标,比如tps + 响应时间(<1s)
意思就是要找到这三个指标同时最佳值的点,即:不能只追求并发数大,而忽略TPS。
所以,这是一个多指标性能需求,假设是这样的:要求响应时间1秒以内,并发数要尽可能的多,TPS要尽可能的大。
先画一个简单的示意图,方便大家理解:
随着并发数增加,响应时间肯定是越来越高,所以,上面红线是响应时间;
随着并发数增加,tps是先升高到峰值,然后下降(也可能是一直平稳,或者平稳一段时间再下降),所以,上面蓝线是tps;
紫色表示并发用户数;
该怎么去找这个最佳平衡点呢?
①尽可能多的做不同并发数下的压测,记录下响应时间(1s以内)和最大TPS。
当然,服务器端,各个服务器的资源利用率在可接受范围内(每个公司不一样)
②然后根据获取到的不同并发下的指标数据(并发数、tps、响应时间),画出图,关注右侧的交点,即tps下降的地方和响应时间的交点,这个点的tps最大。
如果响应时间在1s以内,此时并发数也是比较大的,这个点就可以认为是三个指标都不错的平衡点(这里把tps放在第一位优先考虑了,这个就看大家最在乎哪个指标了,排个优先级);
如果响应时间大于1s,最佳平衡点就往左找,找到响应时间为1秒的点,此时对应的tps和并发值,就是最佳平衡点。
总之,测试采样越多,获取的平衡点就越准确。
最后感谢每一个认真阅读我文章的人,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走:【文末小卡片领取】
这些资料,对于【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴上万个测试工程师们走过最艰难的路程,希望也能帮助到你!