51Testing软件测试论坛
标题:
这12道经典性能测试人员面试题,你都见过哪几道?(上)
[打印本页]
作者:
lsekfe
时间:
2021-9-26 10:30
标题:
这12道经典性能测试人员面试题,你都见过哪几道?(上)
01性能测试包含了哪些软件测试(至少举出3种)?
参考答案:负载测试、压力测试、容量测试。
负载测试(Load Testing):负载测试是一种主要为了测试软件系统是否达到需求文档设计的目标,譬如软件在一定时期内,最大支持多少并发用户数,软件请求出错率等,测试的主要是软件系统的性能。
压力测试(Stress Testing):强度测试也就是压力测试,压力测试主要是为了测试硬件系统是否达到需求文档设计的性能目标,譬如在一定时期内,系统的cpu利用率,内存使用率,磁盘I/O吞吐率,网络吞吐量等,压力测试和负载测试最大的差别在于测试目的不同。
容量测试(Volume Testing):确定系统最大承受量,譬如系统最大用户数,最大存储量,最多处理的数据流量等。
或者在下面选择几项:
并发测试 - 测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题
基准测试 - 比较新的或未知测试对象与已知参照标准(如现有软件或评测标准)的性能。
争用测试:- 核实测试对象对于多个主角对相同资源(数据记录、内存等)的请求的处理是否可以接受。
性能配置 - 核实在操作条件保持不变的情况下,测试对象在使用不同配置时其性能行为的可接受性。
负载测试- 核实在保持配置不变的情况下,测试对象在不同操作条件(如不同用户数、事务数等)下性能行为的可接受性。
强度测试- 核实测试对象性能行为在异常或极端条件(如资源减少或用户数过多)之下的可接受性。
容量测试- 核实测试用户同时使用软件程序的最大数量
02请问什么是性能测试、负载测试、压力测试?
答:性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。负载测试、压力测试参考答案如上题。
03什么测试是在给定的在给定的测试环境下进行,考虑被测系统的业务压力量和典型场景?
答:负载测试。
负载测试是用来测定系统饱和状态、确定阀值。其特点有:
(1) 这种方法的目的是找到系统处理能力的极限;通过“检测、加压、阀值”手段找到如“响应时间不超过10秒”,“平均CPU利用率低于65%”等指标。
(2) 这种性能测试方法需要在给定的测试环境下进行,通常也需要考虑被测系统的业务压力量和典型场景,另外HP Mercury LoadRuner在使用该方法进行“加压”的时候必须选择典型场景。
(3) 这种性能测试方法一般用来了解系统的性能容量,或者是配合性能调优的时候来使用。特别是该的Weblogic 和库的性能调优。
04什么时候可以开始执行性能测试?
答:在产品相对比较稳定,功能测试结束后。灵活性比较强。
05简述性能测试的步骤。
答:熟悉应用,了解应用的架构、功能逻辑。
测试需求:
1、需要将开发给定的需求转为吞吐量和响应时间。
2、根据测试目的,细化需求
测试准备:
测试准备包括测试客户端机器准备、测试数据准备、测试脚本准备。
测试执行:
测试的执行中,需要监控测试客户端和服务器性能,监控服务器端应用情况:
客户端的系统资源(cpu、io、memory)情况
服务端的系统资源(cpu、io、memory)情况
服务器的jvm运行情况
服务端的应用情况,看是否有异常
响应时间、吞吐量等指标
系统资源监控,linux下可以采用的工具有:vmstat、top、meminfo等。
JVM的监控,可以用jprofiler工具,linux下面的jmap、jhat等。
响应时间、吞吐量等,由grinder提供。
上述这些信息,一般在测试结束后,均需要归档整理,已备后续详细分析。
我们自己开发一套脚本,用于以固定的频率获取测试客户端和服务器的vmstat和top输出、grinder的log,并从中截取有用信息保存,用于事后分析。
每次测试运行完以后,肯定会增加很多数据,需要考虑本次执行对数据量的影响,如果数据量的变化对后续测试会有影响,则需要清理数据。
06你如何识别性能瓶颈?
答:RBI方法:重点测试“吞吐量”指标,因为RBI认定80%的系统性能瓶颈由吞吐量造成。
按照网络、硬件、数据库、应用服务器、代码的顺序自上而下分析性能工具:IBM、HP、OpenSource工具都支持。需使用分析模块、根据Weblogic、Oracle区别有专门的工具实现RBI。
欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/)
Powered by Discuz! X3.2