持续更新中......
题一:性能测试流程
可以分为四大步,若干小步骤:
第一步:准备阶段
1.分析需求,组建团队:(需求描述:事务通过率100%,99%<5s,并发1000时,cpu和内存使用率<70%)
2.编写测试计划:(测试目的,明确质量目标,明确测试环境,测试阶段,测试范围,测试策略,测试时间安排)
3.编写测试用例
第二部:测试设计和开发
4.测试脚本录制和调优
5.测试场景设计
第三部:测试执行
6.搭建测试环境,准备测试数据:(测试环境准备,监控环境准备,场景部署)
7.执行脚本
第四部:测试结果分析
8.测试结果分析,性能问题定位,调优
9.测试报告输出
题二:性能测试都包含哪些测试
负载测试:有访问就有负载,目的:不断加压确定性能拐点
压力测试:超过额定负荷的测试为压力测试,目的:系统处于压力下的表现
基准测试:第一次测试并调优后的性能测试参数,目的:与每个版本性能进行比较
竞争测试:如抢票,秒杀等(多个用户都去使用同一个东西,但这个东西已被一人锁定)
题三:什么时候开始性能测试
功能测试通过,场景稳定可以开始性能测试,需要测试内容一般为用户量比较大,功能使用频繁的模块
题四:如何确定最大负载
不断增加用户数量,观察各项性能指标,当性能出现拐点时(响应时间突然增加),记录此时用户数量,此时用户数即为最大负载
题五:响应时间和吞吐量之间的关系
当吞吐量没有达到系统处理的极限时,响应时间不会增加
当吞吐量达到系统响应的极限时,响应时间会增加(原因:请求队列排队等待响应)
题六:在用户体验的角度,能被接受的响应时间
在web系统中,用户最关注的性能指标是响应时间,以下时间一般被认为行业标准,当然根据不同需求也有不同标准
2s:优秀
5s:还可以
10s:不能忍
题七:如何分析性能测试结果
通常需要对cpu,内存,磁盘,网络进行分析,找出短板,在对短板进行分析.
未完待续......
题八:性能测试中名词解释
think_time:思考时间是指用户在进行操作时,每个请求之间的间隔时间,可以更真实的模拟用户的操作
吞吐量:单位时间内系统处理用户的请求数,吞吐量指标反映的是服务器承受的压力,它能够说明系统的负载能力
题九:如何实现高并发
在性能测试中需要大量用户在同一时刻访问系统的某一功能时,可以设置集合点,集合点可以使用jmeter的同步定时器(Synchronizing Timer)实现
Number of Simulated Users to Group by:100 用户数量达到100时,同时释放
Timerout in milliseconds:3000 超时3000毫秒后,同时释放
题十:如何使用吞吐量控制器
吞吐量控制器可以选择percent executions(执行百分百)或者total executions(执行总数),可以通过吞吐量控制器设置该请求执行的比例或者次数
1.percent executions:10 该请求占总线程的10%
2.total executions:10 该请求一共执行10次
题十一:有验证码该如何测试:
方法一:屏蔽验证码功能
方法二:使用万能验证码
题十二:脚本如何做参数化:
1.从csv文件中读取
2.从数据库中读取
3.从上一个请求响应中读取
题十三:jmeter的工作原理
jmeter 客户端 发起请求 接收请求 可视化展示
jmeter 监听端口 录制请求
jmeter 负载工具 提供插件 监控工具
题十四:jmeter常用元件
元件一:Test Plan 测试元件
元件二:Thread Group 线程组
元件三:sample 取样器
元件四:Listener 监听器
元件五:Logic Controller 逻辑控制器
元件六:Assertions 断言
元件七:Config Element 配置元件
元件八:Pre Processors 前置处理器 Post Processors 后置处理器
元件十:Timer 定时器
题十五:验证系统在100TPS下,响应时间小于3s,该如何测试
此测试属于:能力评估
可以逐渐加压至tps=100,稳定运行一段时间,观察响应时间是否小于3s,错误率是否达到要求
题十六:缺乏明确性能指标时,该如何进行测试
1.与需求方进行交流
2.查看历史日志
3.跟同类产品进行比较
4.根据经验
题十七:性能测试最难的部分
对于性能测试,模拟真实负载时最难的部分,测试结果不能保证100%的准确,只能作为参考
题十八:app性能测试关注点
1.响应时间
2.内存占用情况
3.cpu占用情况
4.卡顿情况(FPS)
5.渲染情况
6.耗电量
7.耗流量
题十九:压力测试怎么开展
1.需求分析
2.场景建模
3.测试数据准备
4.脚本开发及调试
5.脚本执行及监控记录
6.结果分析及定位问题
7.调优及验证