当前位置:文档之家› 软件性能测试岗位常见面试题

软件性能测试岗位常见面试题

软件性能测试岗位常见面试题
一、基础篇
1、较为完整的性能测试的流程
一个完整的性能测试流程
2、性能测试的基础理论、常见术语
性能测试常见术语浅析
3、性能测试模型、类型
常见的性能测试类型、性能测试模型
4、HTTP、TCP协议相关知识
HTTP协议入门系列
5、连接池、线程相关知识
连接池和线程
二、工具篇
①、Jmeter的工作原理是什么?
②、常用的元件、插件有哪些?各自的作用是什么?
③、几个典型的场景,如何基于jmeter设计测试脚本?
比如:参数化、关联、控制TPS、接口加密验签、阶梯式加压、集合点、检查点等;
④、是否会二次开发?如果会,怎么二次开发的(介绍大概过程和原因)?
2、Loadrunner
3、其他开源/商业性能测试工具
比如:Ngrinder、Locust、Wrk、Artillery等;
4、前端、服务器、数据库性能监测工具
三、系统架构篇
1、服务集群
2、负载均衡
负载均衡原理、实现方式
3、容量规划
4、缓存应用
缓存原理、缓存优点、缓存命中、缓存穿透、多层缓存
4、分布式框架
分布式的特点、面临的挑战:CAP理论(数据一致性、服务可用性、分区容错性)
5、全链路压测
四、服务器&中间件篇
1、JVM
JVM原理、启动参数配置、堆栈原理、垃圾回收原理、OOM原因和表现
2、Tomcat
配置、使用方法、启动参数配置
配置、使用方法
4、Dubbo
服务注册、消息队列
5、RabbitMQ/Kafka
本身的特点、生产者、消费者如何管理
五、数据库篇
1、锁
2、索引
3、读写分离
4、分库分表
六、方案篇
1、设计性能测试方案需要考虑哪些问题?
时间成本、人力成本、环境&脚本可复用性、实现难度
2、针对某些情况,你会如何设计、优化方案?
七、案例篇
1、如何测试MQ?
2、压测中TPS上不去的原因分析?
3、测试环境和生产环境服务器配比如何选择?
服务器配置版本保持一致,容量测试后等量代换、考虑边际递减效应、容灾方案4、发现瓶颈,如何分析?
自上而下,从局部到整体,瓶颈分析粒度
3、性能测试的方法论
①、性能测试场景一定要基于真实环境来模拟;
②、性能测试场景一定要基于具体清晰的指标来构建;
③、场景建模是分析的结果,性能需求分析是场景建模的前提;
④、开展性能测试之前,要设定统一的目标、分析方法、条理分明的流程以及高度的团队协作和任务分配;
⑤、性能测试,执行监控分析是核心;
4、什么时候需要关联
①、服务端value动态返回;
②、数据在后续执行中需要引用;
③、业务场景有前后依赖关系;
5、如何理解ThinkTime?
①、要不要添加ThinkTime?
②、什么时候用到ThinkTime?
③、用ThinkTime会有什么效果?
④、ThinkTime是否匹配真实业务场景?
⑤、ThinkTime是否会影响到服务器资源?
6、你真的了解测试目的么?
①、在什么环境/条件下执行测试?(硬件配置、软件版本/参数、测试环境)
②、被测试的系统业务场景是什么?是否要剔除不必要的业务?
③、如果保证数据的真实性、有效性?如何避免数据污染带来的影响?
④、测试策略真的符合预期的目的么?
⑤、系统的性能表现真的符合实际的生产场景么?如何量化?。

相关主题