• 在线客服

  • 扫描二维码
    下载博学谷APP

  • 扫描二维码
    关注博学谷微信公众号

  • 意见反馈

原创 软件测试面试题整理之性能测试

发布时间:2019-08-12 19:18:57 浏览 6177 来源:博学谷资讯 作者:照照

    性能测试一直都是软件测试面试题的必考重点,常常会有同学对这方面的知识点混淆不清。因此本文整理了近些年比较典型的此类的问题,希望可以帮助大家梳理一遍,查漏补缺。

     

    软件测试之性能测试

     

    一、常见性能测试的方法有哪些?举例解释一下?

     

    1、负载测试

     

    在这里,负载测试指的是最常见的验证一般性能需求而进行的性能测试,在上面我们提到了用户最常见的性能需求就是“既要马儿跑,又要马儿少吃草”。因此负载测试主要 是考察软件系统在既定负载下的性能表现。 我们对负载测试可以有如下理解:

     

    (1)负载测试是站在用户的角度去观察在一定条件下软件系统的性能表现。

     

    (2)负载测试的预期结果是用户的性能需求得到满足。此指标一般体现为响应时间、交易容量、并发容量、资源使用率等。

     

    2、压力测试

     

    压力测试是为了考察系统在**条件下的表现,**条件可以是超负荷的交易量和并发用户数。注意,这个**条件并不一定是用户的性能需求,可能要远远高于用户的性能需求。 可以这样理解,压力测试和负载测试不 同的是,压力测试的预期结果就是系统出现问题,而我们要考察的是系统处理问题的方式。比如说,我们期 待一个系统在面临压力的情况下能够保持稳定,处理速度可以变慢,但不能系统崩溃。因此,压力测试是能 让我们识别系统的弱点和在极限负载下程序将如何运行。例子:负载测试关心的是用户规则和需求,压力测试关心的是软件系 统本身。

     

    3.并发测试

     

    验证系统的并发处理能力。一般是和服务器端建立大量的并发连接,通过客户端的响应时间和服务器端 的性能监测情况来判断系统是否达到了既定的并发能力指标。负载测试往往就会使用并发来创造负载,之所以把并发测试单独提出来,是因为并发测试往往涉及服务器的并发容量,以及多进程/多线程协调同步可能带来的问题。这是要特别注意,必须测试的。

     

    4.基准测试

     

    当软件系统中增加一个新的模块的时候,需要做基准测试,以判断新 模块对整个软件系统的性能影响。 按照基准测试的方法,需要打开/ 关闭新模块至少各做一次测试。关闭模块之前的系统各个性能指标记 下来作 为基准(Benchmark),然后与打开模块状态下的系统性能指标作比较,以判断模块对系统性能的影响。

     

    5.稳定性测试

     

    “路遥知马力”,在这里我们要说的是和性能测试有关的稳定性测试,即测试系统在一定负载下运行长时间后是否会发生问题。软件系统的有些问题是不能一下子就暴露出来的,或者说是需要时间积累才能达到能够 度量的程度。为什么会需要这样的测试呢?因为有些软件的问题只有在运行一天或一个星期甚至更长的时间 才会暴露。这种问题一般是程序占用资源却不能及时释放而引起的。比如,内存泄漏问题就是经过一段时间 积累才会慢慢变得显著,在运行初期却很难检测出来;还有客户端和服务器在 负载运行一段时间后,建立了 大量的连接通路,却不能有效地复用或及时释放。

     

    6.可恢复测试

     

    测试系统能否快速地从错误状态中恢复到正常状态。比如,在一个配有负载均衡的系统中,主机承受了压力无法正常工作后,备份机是否能够快速地接管负载。可恢复测试 通常结合压力测试一起来做。

     

    二、你认为性能测试的目的是什么?做好性能测试的工作的关键是什么?

     

    性能测试工作的目的是检查系统是否满足在需求说明书中规定的性能,性能测试常常需要和强度测试结 合起来,并常常要求同时进行软件和硬件的检测。性能测试主要的关注对象是响应时间,吞吐量,占用内存大小(辅助存储区),处理精度等。

     

    三、服务端性能分析都从哪些角度来进行?

     

    从维度上划分,性能指标主要分为两大类,分别是业务性能指标和系 统资源性能指标。 业务性能指标可以直观地反映被测系统的实际性能状况,常用的指标项有:

     

    1.并发用户数

     

    2.事务吞吐率(TPS/RPS)

     

    3.事务平均响应时间

     

    4.事务成功率 系统资源性能指标,主要是反映整个系统环境的硬件资源使用情况,常用的指标包括:

     

    服务器:CPU 利用率、处理器队列长度、内存利用率、内存交换页面数、磁盘 IO 状态、网卡带宽使用 情况等;

     

    数据库:数据库连接数、数据库读写响应时长、数据库读写吞吐量 等;

     

    网络:网络吞吐量、网络带宽、网络缓冲池大小;

     

    缓存(Redis):静态资源缓存命中率、动态数据缓存命中率、缓存吞吐量等;

     

    .测试设备(压力发生器):CPU 利用率、处理器队列长度、内存利用率、内存交换页面数、磁盘 IO 状 态、网卡带宽使用情况等。

     

    四、如何理解压力测试,负载测试以及性能测试?

     

    性能测试(Performance Test):通常收集所有和测试有关的所有性能, 被不同人在不同场合下进行使用。 压力测试 stress test:是在一定的『负荷条件』下,长时间连续运行系统给系统性能造成的影响。 负载测试 Load test:在一定的『工作负荷』下,给系统造成的负荷及系统响应的时间。

     

    以上就是整理的所有性能测试面试题,都是干货哦!对于性能测试还有疑问的小伙伴,可以上博学谷在线学习,相信大家一定能轻松掌握软件测试的所有知识点。

     

     

    申请免费试学名额    

在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!

上一篇: 软件测试需要学什么?要学多久? 下一篇: 软件测试学习之测试用例的常用方法盘点

相关推荐 更多

热门文章

  • 前端是什么
  • 前端开发的工作职责
  • 前端开发需要会什么?先掌握这三大核心关键技术
  • 前端开发的工作方向有哪些?
  • 简历加分-4步写出HR想要的简历
  • 程序员如何突击面试?两大招带你拿下面试官
  • 程序员面试技巧
  • 架构师的厉害之处竟然是这……
  • 架构师书籍推荐
  • 懂了这些,才能成为架构师
  • 查看更多

扫描二维码,了解更多信息

博学谷二维码