百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

面试宝典:性能测试经典面试题(一)

haoteby 2025-01-26 22:26 11 浏览

本章节主要给大家分享性能测试面试题以及答案的第一部分内容,下一章继续更新性能测试面试题以及答案的第二部分。

一、常见的性能测试有哪些分类

常见的性能测试分类包括:

1、负载试验

2、压力测试

3、可靠性试验

4、容量测试

5、可扩展性测试

二、用户面临常见的性能问题有哪些

常见的性能问题包括:

1、加载时间更长;

2、响应时间很长

3、可扩展性差

4、瓶颈(编码错误或硬件问题)

三、性能测试流程

性能测试流程通常包括以下步骤:

第一步:性能测试分析

第二步:测试构建

第三步:测试执行

第四步:结果分析

四、吞吐量是什么意思

在性能测试中,吞吐量是指在给定时间段内响应客户端请求而传输到服务器的数据量。它根据每秒请求数、每天呼叫数、每年报告数、每秒点击数等进行计算。应用程序的性能取决于吞吐量值,吞吐量值越高-应用程序的性能越高。

五、性能调优的过程

性能调优的步骤如下:

1、理解你的优化目标

2、估计你的优化尺度

3、定位系统的瓶颈

4、最小化瓶颈的影响

5、完成优化目标

六、什么是点击率

点击率是指客户端每秒钟向服务器提交的HTTP请求数

七、性能测试准入与退出标准

性能测试开始应该是从系统设计开始准入的。

准出条件是判断测试的结果是否达到性能目标,或者说是否达到可容忍标准。

八、如何识别性能瓶颈

通过负载或压力测试,以及使用相关监控工具对结果进行监控,通过分析监控数据可以帮助分析和识别性能瓶颈。

使用的负载或压力测试工具通常为LoadRunner和JMeter。监控的对象通常包括:数据库、前端、中间件、队列、系统资源等。

九、如何将脚本编写模块化

在模块化方法中,为每个请求(如登录、注销、保存、删除等)创建一个函数。这种方法可以更自由地重用请求并节省时间。使用这种方法,建议使用web自定义请求。

十、什么是并发用户

并发用户是指同一时刻点击某个请求,强调的是同一时刻,并发用户、在线用户还是存在区别的。

十一、如何确定性能测试范围

通常确定性能测试范围主要从以下几个维度进行:

1、关键业务

2、日PV量

3、逻辑复杂度

4、运营推广计划十二、如何定义性能目标

性能目标通常包括:

响应时间、交易量、成功率、系统资源使用率等

十三、如何计算应用程序的迭代时间

No. of users = (Response Time in seconds + Pacing in seconds) * TPS

十四、吞吐量与响应时间关系

吞吐量与响应时间似乎没有绝对的关系,但是一般来说,当吞吐量增多的时间,响应时间一定会增长,因为吞吐量的值越大,说明服务处理的请求越多,也即说明服务器越忙,当服务器越忙,处理业务的能力肯定会下降,所以响应时间就会变长。

十五、如何确定关键场景

通常可以从以下几个维度来识别关键场景:

  • 可测量场景:用于选择任何用户场景进行性能测试的基本标准是应完全可测量。
  • 最经常访问的场景:用户浏览应用程序时大多数访问的应用场景。
  • 业务关键场景:包含业务交易的应用程序核心方案。
  • 资源强化方案:与典型场景相比,消耗更多资源的用户场景。
  • 时间依赖的常用方案:在特定情况下访问但经常访问的应用场景。
  • 利益相关者关于情景:利益相关者更关心的应用功能,如AUT新集成模块。

十六、如何确定关键场景路径

通常以下方法可以确定关键场景路径:找出可用于成功完成多个识别情景并具有主要性能影响的AUT路径。

阅读手册(设计和用户),以找出识别的场景的所有可能的路径。

在生产应用的情况下,检查日志文件以找出用户的导航模式来完成识别的场景。

浏览应用程序,并尝试自己查找场景的所有可能路径。

另一种方法可能是向新的和有经验的用户提供应用程序访问,并要求他们完成某些场景并观察他们的行为。

十七、场景一般有哪几种

一般包括:单一场景和混合场

工作中一般使用混合场景

十八、如何估算最大业务处理能力



十九、性能测试结果分析数据的来源



二十、性能分析标准



二十一、性能压力模型



二十二、PV与TPS转换模型



二十三、解释从输入URL到页面显示完成的过程

简单的回答:

1、在浏览器中输入URL地址后,浏览器会将请求的URL交给DNS进行域名解析,找到需求访问的IP地址,再向服务器发起请求;

2、服务器收到请求后交给后台服务器直行处理,处理完成后将数据返回到客户端,浏览器接收文件(HTML、JS、CSS、image等);

3、浏览器将返回的资源资源(HTML、JS、CSS等)进行语法解析,建立相应的内部数据结构(如HTML的DOM);

4、载入解析到的资源文件,并对其进行渲染页面,并后呈现在客户端完成。

详细的回答:

1、当输入URL后,浏览器会开启一个线程来处理这个请求,对 URL 分析判断如果是 http 协议就按照Web 方式来处理;

2、然后调用浏览器内核中对应方法,来处理我们的请求,比如 WebView 中的 loadUrl 方法;

3、域名服务器对URL进行解析获取网址的IP地址,设置 UA 等信息发出第二个GET请求;

4、服务器收到请求后会由一个socket嵌套字来启动一个监听的方法来监听URL地址和端口,

5、进行HTTP协议会话,客户端发送报头信息,即请求报文;

6、然后到web服务器上的 Web Server,如 Apache、Tomcat、nginx等服务器;

7、到部署好的后端应用,如 PHP、Java、JavaScript、Python 等,找到对应的请求处理文件;

8、处理结束回馈报头,此处如果浏览器访问过,缓存上有对应资源,会与服务器最后修改时间对比,一致则返回304;

9、浏览器开始下载html文档(响应报头,状态码200),同时使用缓存;

10、文档树建立,根据标记请求所需指定MIME类型的文件(比如css、js),同时设置了cookie;

11、页面开始渲染DOM,JS根据DOM API操作DOM,执行事件绑定等,页面显示完成。

这个题目看似很简单,但其实不一定能回答好,这个题可以考大家对前端调优的理解或说基础知识如何。

二十四、性能测试过程中如何分析前端性能问题

性能测试过程中可以使用LoadRunner页面细分来分析前端的性能问题

也可以使用一些前端分析工具来分析,例如YSLOW工具

当前端核心的是分析前端的23大规则

二十五、为什么需要使用缓存,通常有哪些方法可以使用缓存



  • 缓存的目的是为了减少从服务器获取组件资源的时间
  • 通常可以通过在请求头中添加Expires、ETag等方法来进行缓存
  • 当然也可以通过DNS缓存和CDN部署与缓存来实现,一般我们可能更多的是对HTTP请求进行缓存,或者说我们前端一般是会从HTTP请求的方面来进行缓存。

本期的性能测试面试题以及答案的第一部分就到这里,下期继续更新第二部分,记得来看哦。

相关推荐

如何随时清理浏览器缓存_清理浏览器缓存怎么弄

想随时清理浏览器缓存吗?Cookieformac版是Macos上一款浏览器缓存清理工具,所有的浏览器Cookie,本地存储数据,HTML5数据库,FlashCookie,Silverlight,...

Luminati代理动态IP教程指南配置代理VMLogin中文版反指纹浏览器

介绍如何使用在VMLogin中文版设置Luminati代理。首先下载VMLogin中文版反指纹浏览器(https://cn.vmlogin.com)对于刚接触Luminati动态ip的朋友,是不是不懂...

mac清除工具分享,解除您在安全方面的后顾之忧

想要永久的安全的处理掉重要数据,删除是之一,使用今天小编分享的mac清除工具,为您的操作再增一层“保护”,小伙伴慎用哟,一旦使用就不可以恢复咯,来吧一起看看吧~mac清除工具分享,解除您在安全方面的后...

取代cookie的网站追踪技术:”帆布指纹识别”

【前言】一般情况下,网站或者广告联盟都会非常想要一种技术方式可以在网络上精确定位到每一个个体,这样可以通过收集这些个体的数据,通过分析后更加精准的去推送广告(精准化营销)或其他有针对性的一些活动。Co...

辅助上网为啥会被抛弃 曲奇(Cookie)虽甜但有毒

近期有个小新闻,大概很多小伙伴都没有注意到,那就是谷歌Chrome浏览器要弃用Cookie了!说到Cookie功能,很多小伙伴大概觉得不怎么熟悉,有可能还不如前一段时间被弃用的Flash“出名”,但它...

浏览器指纹是什么?浏览器指纹包括哪些信息

本文关键词:浏览器指纹、指纹浏览器、浏览器指纹信息、指纹浏览器原理什么是浏览器指纹?浏览器指纹是指浏览器的各种信息,当我们访问其他网站时,即使是在匿名的模式下,这些信息也可以帮助网站识别我们的身份。...

那些通用清除软件不曾注意的秘密_清理不常用的应用软件

系统清理就像卫生检查前的大扫除,即使你使出吃奶的劲儿把一切可能的地方都打扫过,还会留下边边角角的遗漏。随着大家电脑安全意识的提高,越来越多的朋友开始关注自己的电脑安全,也知道安装360系列软件来"武装...

「网络安全宣传周」这些安全上网小知识你要知道!

小布说:互联网改变了人们的衣食住行,但与之伴生的网络安全威胁也不容忽视。近些年来,风靡全球的勒索病毒、时有发生的电信诈骗、防不胜防的个人信息泄露时时刻刻都威胁着我们的生活。9月18日-24日是第四届...

TypeScript 终极初学者指南_typescript 进阶

在过去的几年里TypeScript变得越来越流行,现在许多工作都要求开发人员了解TypeScript...

jQuery知识一览_jquery的认识和使用

一、概览jQuery官网:https://jquery.com/jQuery是一个高效、轻量并且功能丰富的js库。核心在于查询query。...

我的第一个Electron应用_electronmy

hello,好久不见,最近笔者花了几天时间入门Electron,然后做了一个非常简单的应用,本文就来给各位分享一下过程,Electron大佬请随意~笔者开源了一个Web思维导图,虽然借助showSav...

HTML5 之拖放(Drag 和 Drop)_html拖放api

简介拖放是一种常见的特性,即抓取对象以后拖到另一个位置。在HTML5中,拖放是标准的一部分,任何元素都能够拖放。先点击一个小例子:在用户开始拖动<p>元素时执行JavaScrip...

如何用JavaScript判断输入值是数字还是字母?

在日常开发中,我们有时候需要判断用户输入的是数字还是字母。本文将介绍如何用JavaScript实现这一功能。检查输入值是否是数字或字母...

图形编辑器开发:快捷键的管理_图形编辑工具

大家好,我是前端西瓜哥。...

浏览器原生剪贴板:原来它能这样读取用户截图!

当我们使用GitHub时,会发现Ctrl+V就能直接读取用户剪贴板图片进行粘贴,那么它是如何工作的?安全性如何?...