关于性能测试面试题及答案

2020-04-22 19:23发布

1、如何识别系统瓶颈?

    从TPS指标分析,TPS即系统单位时间内处理事务的数量。当前随着用户数的增长期系统每秒可处理的事务数是否也会增长。

2、如何发现数据库的相关问题?

    ①通过运行某些相应的已获取的SQL语句,判断是否由于数据库索引所导致的事务响应过长的问题发生。

    ②通过实时监控工具(nmon等)监控分析:Ⅰ.系统在运行过程中其CPU是否稳定运行或CPU耗用是否过高;Ⅱ.在系统运行过程中其内存是否存在内存泄漏现象;

3、think_time的作用是什么?

    ①降低当前运行时压力,环节对应用服务器所造成的压力;

    ②模拟真实生产用户操作,考察对服务器所造成的影响。

4、进行参数化的目的是什么?

    ①减少脚本的大小;

    ②便于脚本的维护,从而更加真实的模拟生产环境的数据。

5、容量测试方法中为什么要以逐步递增的方式进行?

    虚拟用户数随着负载时间的延长而增加,可以帮助确定系统响应时间减慢的准确时间以及准确的用户数。

6、假设在测试过程中某些事务的响应时间过长,但分析应用服务、数据库以及网络都属于正常现象,问题可能出现的原因有哪些?

    ①LoadRunner客户机器是否已无法承载当前运行压力导致LoadRunner无法及时获取从服务端返回的信息;

    ②Tink_time是否已忽略;

    ③确定当前被测系统架构,是否为在每次测试过程中清楚缓存所导致。

7、如何发现应用服务器的相关问题?

    ①通过某些事务的运行,判断是否在应用代码层未进行调优导致事务响应事件过长;

    ②通过实时监控工具(nmon等)监控分析:Ⅰ.系统在运行过程中其CPU是否稳定运行或CPU耗用是否过高;Ⅱ.在系统运行过程中其内存是否存在内存泄漏现象;Ⅲ.打开相应日志、分析在运行过程中是否存在交易报错并获取错误原因查看是否由于代码原因导致交易错误发生。

8、简述性能测试流程?

    ①分析性能需求:挑选用户使用最频繁的场景来测试,比如:登陆,搜索,下单等等。确定性能指标:比如:事务通过率为100%,TOP99%是5秒,最大并发用户为1000人,CPU和内存的使用率在70%以下;

    ②制定性能测试计划,明确测试时间(通常在功能稳定后,如第一轮测试后进行)和测试环境和测试工具;

    ③编写测试用例;

    ④搭建测试环境,准备好测试数据;

    ⑤编写性能测试脚本;

    ⑥性能测试脚本调优。设置检查点、参数化、关联、集合点、事务,调整思考时间,删除冗余脚本;

    ⑦设计测试场景,运行测试脚本,监控服务器;

    ⑧分析测试结果,收集相关的日志提单给开发;

    ⑨回归性能测试;

    ⑩编写测试报告。

9、如何确定系统最大负载?

    通过负载测试,不断增加用户数,随着用户数的增加,各项性能指标也会相应产生变化,当出现了性能拐点,比如,当用户数达到某个数量级时,响应时间突然增长,那么这个拐点处对应的用户数就是系统能承载的最大用户数。

10、性能测试指标有哪些?

    ①响应时间;

    ②吞吐量;

    ③Cpu;

    ④内存;

    ⑤Io;

    ⑥Disk。

11、如何脚本增强?

    ①做参数化;

    ②做关联;

    ③添加事务;

    ④添加断言;

    ⑤添加集合点;

    ⑥添加思考时间。