首页 运维 安全 Web性能测试中常见的问题有哪些

Web性能测试中常见的问题有哪些

May 26, 2023 am 11:22 AM
web

1、目前正在研究jmeter,请问初期做性能,应先从几点做起?

Jmeter和LR都是目前性能测试的首选工具,如果你有LR的学习背景,那么Jmeter上手会很快,重点理解线程和进程的概念,流程和LR是类似的。如果没有,从入门的角度我建议先了解常用网络协议和操作系统线程和进程的概念,Jmeter用java比较理想,可以考虑了解一些编程基础。PS:其实用Jmeter先学习接口测试会更好理解性能。

2、请问零基础,计算机硬件专职业转行到这个行业,需要准备哪些?

计算机硬件已经具备了基础的计算机知识,要转软件是相对容易的,可以考虑从如下维度准备:

1)先准备自己拿手的网络和操作系统部分,网络主要是应用层协议,为性能和接口测试做铺垫,操作系统主要是为了搭建测试环境

2)建议熟悉一种编程语言,java或者Python都是首选语言,不需要精通,至少要能够进行简单的脚本编写

3)找一本介绍全面的专业的软件测试书籍精读,一定是精读。

4)如果可能最好找项目练手,从功能测试开始

3、目前做接口测试,进阶的时候还是会茫然,希望您能给点建议,另外您在做管理的时候,对员工一般是持什么态度,或者说姿态呢?如何培养,如何相处,如何分配任务,控制项目进度,质量?

这问题好大,我挑些重点说:

1)接口测试实际上是协议的测试,建议你从网络协议入手,这样才能做好接口测试

2)至于测试管理工作我认为因人而异,有些人天生强势,但有些偏平和,最关键的还是自身实力,如果自己不够强,一句俗话叫做将熊熊一窝就是这个理,姿态不重要,实体才重要。

3)至于培养,相处,分配任务这些是管理细则,总的思路是用其所长补其所短,人无完人,而且大多数都会觉得自己比领导牛B,让每位员工发挥最大价值,有成就感比较重要。

4)控制项目进度和质量  这个是方法问题,有很多方法可以控制,例如:测试版本控制,缺陷分析等手段,可以参考一下软件工程,敏捷过程等方面的资料。希望对你有所帮助

4、用Loadrunner做压测,响应时间比实际要高很多,用LR做压测,平均响应时间几十秒钟,实际手动打开链接1秒不到,差距很大,请问有哪些原因会导致这个问题呢?

比如下图,vuser才十几个,响应时间就十几秒了,但是实际上的体验还是很快,如何解决?

初步猜测应该是响应时间的设置不当导致的,举例说明:你要录制登录脚本,并记录登录的响应时间,你在LR的脚本中插入了事务函数(注意是一组函数),结果得到的响应时间是5s,但实际登录你感觉不到1s,那么可能是你的函数位置不对,包含了输入用户名和密码的时间,也可能是你的响应时间函数内包含了思考时间。你需要调整前者事务的位置,或在后者运行时设置中排除思考时间。供参考

5、请教一下怎么样去抓程序的页面元素啊? 像Selenium web那样 抓页面的元素?有什么好的工具或者方法?

建议使用Chrome开发者工具的Elements选项查看,以抓取页面元素。除了使用Selenium,也可以考虑使用QTP(ALM)来进行自动化测试

6、请问软件疲劳测试应该怎么做?

一般是做压力测试,压测依据项目和业务的不同都会有所差异,推荐三种,一种是4H峰值压力的80% ;一种是24H,压力量可以控制在60%70%,还有一种是7*24小时(有的是一直持续50%的压力,有的是按时间波动压力值进行测试)

7、对B/S系统做压力测试前需要做哪些准备?如何客观的去分析一个系统?压力测试工具以前只接触过 Loadrunner,所以打算用Loadrunner,不太熟,里面的需要做的系统指标的设置看起来很麻烦,不知怎么去分析系统。除了选择熟悉的工具,做压力测试前还需要做什么准备工作?

你的问题很难一两句话说清楚,对于前期准备工作,只能谈谈我在性能测试项目中的拙见:

1)先对需求进行初步分析,确定哪些环节需要性能测试,也就是对于你们系统来说压力最大的点在哪里

2)看现有资源,提前做好环境的准备工作,最好测试环境和生产环境1:1(实在做不到也要尽量接近,这点很重要,不然你要做等比换算 )

3)看被测系统使用的协议以及操作系统和应用服务器等各类配置,选择匹配的测试工具(多数WEB系统LR是可以应对的)

4)看时间,大多数情况下性能测试的时间并不充裕,需要抓重点优先测试。

8、如何取舍Loadrunner和Jmeter?

全看心情,玩笑哈~~如果从学习入门的角度就看代码和网络基础,如果代码和网络基础还不错直接用Jmeter入门就好,反之用LR入门更好。如果从企业应用的角度就看哪种更合适,对被测系统支持的更好。

工具只是形式,理解性能测试的基本原理用什么工具都可以的。

9、对Java频繁GC怎么定位问题?

请尝试用profiler寻找内存异常,例如短时间过多的对象创建,或者较大的对象创建。

10、我想实现50个用户并发上班打卡签到,参数化、迭代已设,然后,在签到函数前面添加了集合点函数,运行结果发现,用户签到后返回的签到时间是一分钟一个,并没有在同一个时间点进行签到!请教这是为什么?如何解决?

先去掉集合点试试看呢?同时启动50个用户并行(不设置集合点也可以实现并发操作的),如果还是持续一分钟,那请你检查事务时间和思考时间,事务时间是需要你手动配置的,思考时间默认是启动状态,你可以在Runtime Setting中查看一下,有可能你最终得到的1分钟是整个脚本运行一次的时间或者是包含了思考时间的结果,不是同时打卡的时间。

11、请问电商秒杀产品是如何测试的?

和其他产品的测试没有太大区别,主要是对时间点的要求比较高,可以考虑在性能测试脚本中使用集合点函数实现同一秒钟的并发。

12、压力测试和性能测试一样吗?

分类方法各有不同,没有定论,普遍来讲性能测试是对这类测试的统称。我倾向于下面的分类方式

性能测试(狭义)——性能测试方法是在特定的运行环境下,通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生产性能要求。

基准测试——在一定的软件,硬件和网络环境下,模拟一定数量的用户运行一种或多种业务,将测试结果作为基线数据,供后续测试活动参考。

负载测试——通过在被测系统上不断加压,直到性能指标达到极限,例如“响应时间”超过预定指标或某种资源已经达到饱和状态。

压力测试——压力测试也称为强度测试,主要测试系统在一定饱和状态下,例如cpu、内存在饱和使用情况下,系统能够处理的会话能力,以及系统是否会出现错误。注:在保持在80%左右的极限值下持续运行2-4小时

配置测试——配置测试方法通过对被测系统的软\硬件环境的调整,了解各种不同对系统的性能影响的程度,从而找到系统各项资源的最优分配原则。

可靠性测试——在系统加载一定业务压力的情况下,使系统运行一段时间,以此检测系统是否稳定。

并发测试——并发测试方法通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其者他性能问题。

PS:分类其实不那么重要,在实际项目中往往都是混合应用的

13、Web性能测试除了并发登陆以外,还有哪些比较常见的测试场景?

场景取决于业务,例如你是电商网站,你肯定要测试同时下订单的情况? ?;如果你是医院挂号网站,你肯定要测试多人抢一个医生的号源;如果你是银行系统,要考虑多人同时取款吧?

14、一般网站压力多大百万用户?

这要看计算方式,理论值100万/天的业务访问量  拆分到每秒钟是非常少的;但这不符合实际情况。

根据线上数据可以直接推算出每天有几个峰值时段以及其对应的并发用户量

如果系统未上线,可以利用2/8原则,80%用户集中在20%的时段,推导出业务访问量

15、目前遇到一个问题,在一台配置为8g,i3的win7系统运行压力测试,并发总是上不去,总是在140左右就会出现异常,超时等问题,请问如何分析呢,是因为服务器还是电脑的问题?

服务器压力上不去可以从如下维度分析:

网络流量是否有限制、

数据库/应用服务器是否报了异常,如果有请查看一下日志;

查看操作系统的资源监控情况,CPU占用率如何,是否达到了100%

代码方面是否存在性能问题,可以在大并发访问的时候手动访问系统,看看业务上有无异常。

以上是Web性能测试中常见的问题有哪些的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

如何使用python Flask实现日志在web网页实时更新显示 如何使用python Flask实现日志在web网页实时更新显示 May 17, 2023 am 11:07 AM

一、日志输出到文件使用模块:logging可以生成自定义等级日志,可以输出日志到指定路径日志等级:debug(调试日志)=5){clearTimeout(time)//如果连续10次获取的都是空日志清除定时任务}return}if(data.log_type==2){//如果获取到新日志for(i=0;i

Nginx的Web服务器caddy怎么使用 Nginx的Web服务器caddy怎么使用 May 30, 2023 pm 12:19 PM

Caddy简介Caddy是一款功能强大,扩展性高的Web服务器,目前在Github上已有38K Star。Caddy采用Go语言编写,可用于静态资源托管和反向代理。Caddy具有如下主要特性:对比Nginx复杂的配置,其独创的Caddyfile配置非常简单;可以通过其提供的AdminAPI实现动态修改配置;默认支持自动化HTTPS配置,能自动申请HTTPS证书并进行配置;能够扩展到数以万计的站点;可以在任意地方执行,没有额外的依赖;采用Go语言编写,内存安全更有保证。安装首先我们直接在CentO

Web 端实时防挡脸弹幕(基于机器学习) Web 端实时防挡脸弹幕(基于机器学习) Jun 10, 2023 pm 01:03 PM

防挡脸弹幕,即大量弹幕飘过,但不会遮挡视频画面中的人物,看起来像是从人物背后飘过去的。机器学习已经火了好几年了,但很多人都不知道浏览器中也能运行这些能力;本文介绍在视频弹幕方面的实践优化过程,文末列举了一些本方案可适用的场景,期望能开启一些脑洞。mediapipeDemo(https://google.github.io/mediapipe/)展示主流防挡脸弹幕实现原理点播up上传视频服务器后台计算提取视频画面中的人像区域,转换成svg存储客户端播放视频的同时,从服务器下载svg与弹幕合成,人像

Java API 开发中使用 Jetty7 进行 Web 服务器处理 Java API 开发中使用 Jetty7 进行 Web 服务器处理 Jun 18, 2023 am 10:42 AM

JavaAPI开发中使用Jetty7进行Web服务器处理随着互联网的发展,Web服务器已经成为了应用程序开发的核心部分,同时也是许多企业所关注的焦点。为了满足日益增长的业务需求,许多开发人员选择使用Jetty进行Web服务器开发,其灵活性和可扩展性受到了广泛的认可。本文将介绍如何在JavaAPI开发中使用Jetty7进行We

如何使用Golang实现Web应用程序的表单验证 如何使用Golang实现Web应用程序的表单验证 Jun 24, 2023 am 09:08 AM

表单验证是Web应用程序开发中非常重要的一个环节,它能够在提交表单数据之前对数据进行有效性检查,避免应用程序出现安全漏洞和数据错误。使用Golang可以轻松地实现Web应用程序的表单验证,本文将介绍如何使用Golang来实现Web应用程序的表单验证。一、表单验证的基本要素在介绍如何实现表单验证之前,我们需要知道表单验证的基本要素是什么。表单元素:表单元素是指

怎么配置nginx保证frps服务器与web共用80端口 怎么配置nginx保证frps服务器与web共用80端口 Jun 03, 2023 am 08:19 AM

首先你会有个疑惑,frp是什么呢?简单的说frp就是内网穿透工具,配置好客户端以后,可以通过服务器来访问内网。现在我的服务器,已经用nginx做站了,80端口只有一个,那如果frp的服务端也想使用80端口,那应该怎么办呢?经过查询,这个是可以实现的,就是利用nginx的反向代理来实现。补充一下:frps就是服务器端(server),frpc就是客户端(client)。第一步:修改服务器中nginx.conf配置文件在nginx.conf中http{}里添加以下参数,server{listen80

web标准是什么东西 web标准是什么东西 Oct 18, 2023 pm 05:24 PM

Web标准是一组由W3C和其他相关组织制定的规范和指南,它包括HTML、CSS、JavaScript、DOM、Web可访问性和性能优化等方面的标准化,通过遵循这些标准,可以提高页面的兼容性、可访问性、可维护性和性能。Web标准的目标是使Web内容能够在不同的平台、浏览器和设备上一致地展示和交互,提供更好的用户体验和开发效率。

如何从驾驶舱Web用户界面启用管理访问 如何从驾驶舱Web用户界面启用管理访问 Mar 20, 2024 pm 06:56 PM

Cockpit是一个面向Linux服务器的基于Web的图形界面。它主要是为了使新用户/专家用户更容易管理Linux服务器。在本文中,我们将讨论Cockpit访问模式以及如何从CockpitWebUI切换Cockpit的管理访问。内容主题:驾驶舱进入模式查找当前驾驶舱访问模式从CockpitWebUI启用Cockpit的管理访问从CockpitWebUI禁用Cockpit的管理访问结论驾驶舱进入模式驾驶舱有两种访问模式:受限访问:这是驾驶舱的默认访问模式。在这种访问模式下,您不能从驾驶舱Web用户

See all articles