在线客服
扫描二维码
下载博学谷APP扫描二维码
关注博学谷微信公众号
性能测试一直都是软件测试面试题的必考重点,常常会有同学对这方面的知识点混淆不清。因此本文整理了近些年比较典型的此类的问题,希望可以帮助大家梳理一遍,查漏补缺。
一、常见性能测试的方法有哪些?举例解释一下?
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:在一定的『工作负荷』下,给系统造成的负荷及系统响应的时间。
以上就是整理的所有性能测试面试题,都是干货哦!对于性能测试还有疑问的小伙伴,可以上博学谷在线学习,相信大家一定能轻松掌握软件测试的所有知识点。
— 申请免费试学名额 —
在职想转行提升,担心学不会?根据个人情况规划学习路线,闯关式自适应学习模式保证学习效果
讲师一对一辅导,在线答疑解惑,指导就业!
相关推荐 更多
软件测试面试题汇总:测试流程(2)
为面试新工作做准备的同学们,小编在这里整理了一下软件测试面试题中关于测试流程的问题,需要面试的同学可以大致梳理一遍,这样便于大家在面试过程中游刃有余地应对考试或是面试官提问。
7517
2019-07-03 16:26:23
软件测试工作流程是怎样的?有哪些注意事项?
软件测试工作流程是怎样的?一般来说,分为以下好几步:需求评审、制定测试计划、测试用例设计、测试用例评审、冒烟测试、一轮测试、N轮测试、回归测试、撰写文档。在这些工作流程中我们又有哪些注意事项呢?下面小编就来详细分析一下软件测试的工作流程。
8268
2019-08-30 18:32:02
软件测试之API测试面试题汇总附答案
提到API测试,相信了解软件测试的小伙伴们都不会感到陌生。API测试的英语全称叫做Application Programming Interface,它也是软件测试相当重要的一部分。因此本文为大家整理了一些常见且经典的API测试面试题,大家也可以本次面试题汇总当成知识点梳理。现在马上来一起看看看吧!
7032
2019-12-10 21:48:14
软件测试员在面试中常遇问题整理
目前,疫情已经逐渐得到了控制,各行各业都掀起了复工大潮。与此同时,软件测试的招聘需求也随着复工的开始而变得紧急起来,而求职者应该怎样抓住机会进行应聘呢?首先最重要的就是多刷面试题,这样才能才面试过程中有备无患。本文为大家整理了软件测试员在面试中常见的一些问题,大家可以一起来做一做。
6198
2020-03-05 20:02:06
软件测试常见性能问题案例分析
在用户场景不确定的情况下,我们为了保障软件的正常运行就必须对软件的性能进行测试。下面我们一起来看看在软件测试中常见的性能问题,希望大家可以通过这七个比较典型的案例分析,充分掌握各种性能问题的解决方法。
5121
2020-04-08 12:05:55