性能方面面试题

1.请问什么是性能测试、负载测试、压力测试?
性能测试(Performance Testing):是通过模拟系统实际运行的压力和使用场景组合,测试系统的性能是否满足实际生产的性能要求。
特点:
1.主要目的是验证系统是否具备其宣称的能力
2.需要事先了解被测系统的典型场景,并具有确定的性能目标
3.要求在已确定的环境下运行
负载测试(Load Testing):通过在被测系统上不断增加压力,直到某个性能指标超过预定指标或者某种资源使用已经达到饱和状态
特点:

  1. 主要目的是找到系统处理能力的极限,为系统调优提供数据。测试形式/手段:“检测–加压–知道性能指标超过预期”
    2.在给定的测试环境下进行,考虑被测系统的业务压力量和典型场景
  2. 一般用来了解系统的性能容量,或是配合性能调优
    压力测试(Stress Testing):逐步增加负载,使系统某些资源达到饱和甚至失效的测试
    特点:
  3. 主要目的是检查系统处于压力情况下时,应用的表现
  4. 一般用于测试系统的稳定性
    2.请分别针对性能测试、负载测试和压力测试试举一个简单的例子?
    **性能测试:**公司开发了一个小型项目管理系统,上线前需要做负载、压力、大数据量、强度测试等。
    **负载测试:**逐步加压,从而得到“响应时间不超过10秒”,“服务器平均CPU利用率低于85%”等指标阀值。
    **压力测试:**逐步加压,从而使“响应时间超过10秒”,“服务器平均CPU利用率高于90%”等指标来确定系统能承受的最大负载量。
    3.请例举出常用的性能测试工具,并指出这些工具的优缺点?
    LoadRunner
    优点:一种预测系统行为和性能的负载测试工具,适用于各种体系架构,能支持广泛的协议和技术,为测试提供特殊的解决方案。企业通过LoadRunner的的能最大限度地缩短测试时间,优化性能并加速应用系统的发布周期.LoadRunner的提供了3大主要功能模块:虚拟用户生成(用于录制性能测试脚本)中,LoadRunner的控制器(用于创建,运行和监控场景)时,LoadRunner分析(用于分析性能测试结果),既可以作为独立的工具完成各自的功能,又可以作为LoadRunner的一部分彼此衔接,与其他模块共同完成软件性能的整体测试。
    缺点:对汉语的编码支持问题:utf-8/gbk设置导致有时仅用英文作web_reg_find的check point。
    Jmeter
    优点:Jmeter作为一款广为流传的开源压测产品,如今JMeter可以用于测试静态和动态资源,例如静态文件,Java小服务程序,CGI脚本,Java对象,数据库,FTP服务器等等,还能对服务器,网络或对象模拟巨大的负载,通过不同压力类别测试它们的强度和分析整体性能
    缺点:功能少,不够强大
    4.什么时候可以开始执行性能测试?
    在产品相对比较稳定,功能测试结束后。灵活性比较强
    5.什么是集合点?设置集合点有什么意义?LoadRunner中设置集合点的函数是哪个?
    集合点:可以控制各个Vuser以便在同一时刻执行任务。
    意义:借助集合点,可以再LoadRunner中实现真正意义上的并发。
    集合点函数:lr_rendezvous()
    6.LoadRunner中有基于目标和手动两种场景设计方式,他们分别适用于什么情况?
    手动场景:可按照要求来配置场景,能够更加精确的满足测试需要。
    目标场景:要先制定希望实现的测试目标,然后由控制器惊醒自动测试评估。
    7.LoadRunner中有几种并发执行策略,它们的含义是什么?
    三种并发策略
    1.当所有虚拟用户中的x%到达集合点时释放。
    2.当所有正在运行的虚拟用户中的x%到达集合点时释放。
    3.当x个虚拟用户到达集合点时释放。
    8.LoadRunner由哪些部件组成?
    .LoadRunner的提供了3大主要功能模块
    VuGen脚本生成器(用于录制性能测试脚本),
    Controller场景控制器(用于创建,运行和监控场景)
    Analysis结果分析器(用于分析性能测试结果)
    9.如何应用LoadRunner进行性能测试?
     使用虚拟用户生成器创建脚本,使用控制器设定场景、运行脚本,使用分析器分析运行后得到的数据。
    10.性能测试包含了哪些测试
    性能测试类型包括负载测试,强度测试,容量测试。
    负载测试- 核实在保持配置不变的情况下,测试对象在不同操作条件(如不同用户数、事务数等)下性能行为的可接受性。
    强度测试- 核实测试对象性能行为在异常或极端条件(如资源减少或用户数过多)之下的可接受性。
    容量测试- 核实测试用户同时使用软件程序的最大数量。

你可能感兴趣的:(性能测试)