网站性能测试主要有哪几种方法

网站性能测试主要有哪几种方法,第1张

如何做软件性能测试呢以下是软件性能测试简要的流程,供大家参考:

1、需求分析阶段:确定测试对象,分析测试对象需要用到的生产和测试环境,设计软件测试性能测试方案;

2、准备阶

近年来,以5G、人工智能、物联网等为代表的“新基建”迅速发展,我国软件产业规模不断扩大,对于软件产品质量把控也提出了更高的要求,软件产品质量和工作效率直接影响人们的日常生活,因此软件系统性能测试、软件压力测试等也逐渐受到行业重视。

软件性能测试直接关系到用户需求和体验,那么软件产品如何做性能测试呢?测试过程中又包含哪些测试指标,卓码软件测评小编就此进行简要分析。

一、什么是软件性能测试?

一般来说,软件性能测试是根据需求设计对测试系统施加压力,在测试过程中获得系统响应时间、运行效率、资源利用情况等各项性能指标,以此判断系统能否满足用户的需求。之前有研究报道指出,如果一个网站每天挣10万元,那么1秒的页面加载延迟就有可能导致损失25的销售额,所以软件性能测试对于网站用户体验甚至客户的利益都至关重要。

二、软件性能测试指标有哪些?

那么在日常的测试工作中,对于软件性能测试都有哪些评判指标?主要从以下3个方面考量:

1、负载测试;通过自动化测试工具模拟程序或者软件系统在超强负荷条件下,观察系统各项性能指标的变化情况,一般与压力测试共同进行。

2、强度测试;指系统在资源条件很差工作环境下的运行情况,如人为限制网络带宽,内存等。

3、容量测试;一般指模拟用户不断增加时,确定系统可以处理同时在线的最大用户数量。

三、怎么做软件性能测试?

了解软件性能测试相关考核指标以外,那么怎么做好软件性能测试呢?许多企业会在软件开发过程中自行进行部分性能测试,但软件测试工具,测试环境,测试人员技术能力等都是影响软件性能测试的重要因素,另外还有搭建测试环境需要用到的人力物力成本等,所以还是推荐由专业的第三方测试机构进行完善的测试服务,能够帮助企业得出公正、客观的测试结果。

四、相关测试机构推荐

说到第三方测试机构的话,企业可以选择像卓码软件测评这样的独立第三方机构,能够为企业提供一体化的软件测试服务,在项目验收测试、成果鉴定测试、产品确认测试方面有丰富的测试经验。拥有完善的自动化测试工具环境,也可以为客户在公司部署各种复杂度的系统测试环境进行测试服务。

本文分上下两个部分,上半部分主要介绍:

一、什么是性能测试

二、术语

三、性能测试类型
下半部分主要介绍:

四、性能测试流程

五、性能测试执行(三分钟教会你用Jmeter进行性能压测)

六、结果查看及分析
    通篇的风格以寓教于乐为主,介绍知识为辅。希望大家能在快乐中学习,在开心中成长。时间仓促,错误纰漏在所难免,还请“大神”不惜指正!
一、什么是性能测试
     性能测试 是通过对系统进行性能需求分析,在合理评估的性能测试环境上,通过测试工具模拟正常、峰值、以及异常负载条件对系统各项性能指标进行测试,旨在发现性能缺陷、进行能力验证、验证规划能力和性能调优,并针对测试结果进行分析总结定位的测试过程。( 引自专家测试团队《性能测试白皮书》)

解释

   通俗点说,就是使用用各种“酒具”(jmeter、LoadRunner、Power平台)配合着各种“红、白、啤酒”(入参数据+并发数)来让你达到“正常嗨(正常)、非常嗨(峰值)、嗨过头(异常负载)”的状态,并在这期间通过“心电图”(JMC-- Java Mission Control)或者把你放到“提前定制化的座椅”(RSMS、Dolphin)来持续对你进行观察、监控,从而记录下你在不同剂量下的反应。并根据观察结果来分析“红酒您能喝几瓶”、“白酒能喝几瓶”、“啤酒能喝几瓶”(能力验证);强化了身体素质(系统性能优化)之后又能喝几瓶;甚至是规划一下“有蒙古大汉自远方来不亦喝乎”时,你能不能喝翻他(容量规划)等等……,这些过程,就是“性能测试”!

二、术语

    在继续介绍性能测试之前,我们有必要先解释一下经常用的一些术语。否则我瞎逼逼半天,您一脸懵逼,大家就真的在尬聊了……

1并发用户数

    同一时刻 *** 作某个页面或某个功能的用户数,描述系统能够承受的并发性能。它是一个时间段内发生的事情,它意在表达“并发”的可能性,是压力的一种度量。计算公式:C=nl/t

 n :  业务在线的总用户数量

 l :  业务产生的平均时间长度

 t :  考察的时间段总长度

解释
  我们假想出一个很长很长的水泥管道,管道入口处站了1000个高矮胖瘦一致的人,其中有400人想要通过这个管道。每个人走过这个管道平均需要1个小时,前面的人没走完时入口不放行下一组进入,且入口处每天只有8小时可以放行让人进入。那么,这时“预期”的并发用户数就是4001/8=50,也就是说,只有管道宽的可以装下50人并排走,才能在一天之内让400人都通过。

    为什么说是“预期”呢?那是因为可能您胆子小,假想的时候没敢想太大,就只想出了一个允许2人通行的小水管。那8小时肯定走不完所有人啊,所以你需要继续想、使劲努力YY出一个巨大的管子(性能优化)!当然,不排除您跟我一样天赋异禀,一开始就构想出能同时并排200人的巨管。这意味着,就并发用户数这一项,您的系统性能指标完爆当前既定业务量。

  

2响应时间

   用户发起请求到响应返回的时间,描述交易执行快慢程度。(计算规则:响应时间=网络传输时间+系统响应时间)

90%Percent:每个事务90%用户的响应时间在该值以下

Minimum:每个事务所有用户中最小的响应时间

Average:每个事务所有用户的响应时间算数平均值

Maximum:每个事务所有用户中最大的响应时间

解释

    还是继续走管道……我们给每个人发一个秒表,人们并排进入管道的同时每个人按下秒表。每个人行走的速度不同,虽然是并排进入,但并不是一同出来。每一个人走出管道的同时,再次按下秒表……这时,秒表记录的时间就是这个人(请求)开始到结束的响应时间。

90%Percent:我们把同时走管道的一波人看做一个队伍,队伍中90%的人是在这个时间以内就走出了管道;

Minimum:走的最快的那个人所用的时间;

Average:所有人花费时间的平均值(在这个例子中为1小时);

Maximum:走的最慢的那个人所用的时间。

  

 3TPS

 指每秒处理的事务数,TPS=总事务数/总的时间,描述了服务器的处理能力。

 解释

    一句话,就是每秒钟通过管道的人。这里肯定有人觉得这个概念看着眼熟,很像最开始的并发用户数,对么?仔细看一下他们的区别:并发用户数是指同时进入管道的“肩并肩”的人,吞吐量是指每秒钟那些肩并肩进入管道的人中,平均多少人走了出来。所以,在这里“TPS = 并发数/平均响应时间”

    

4二八法则

   80%的业务请求在20%的业务时间里面产生。

   如:xyk客服系统中"客户信息查询功能”年使用量为4800万次,系统服务时间为724小时。每秒请求数:

   4800000080%/36524360020%=38400000/6307200=6次/秒

 解释

 这个有毛用呢?试想一下,如果我们要压这个xyk客服系统,是不是真的需要724小时不停压一年凑够4800万个请求呢?用脚趾头也能想明白,肯定不用啊!那如何在减少工作量的情况下尽可能的模拟真实场景呢?这个时候二八法则就出场了!(别问我为什么不是三七、四六、五五法则,你当是在分赃吗?)
5 2-5-8原则

    WEB系统性能测试中的2-5-8原则描述如下:

用户在2秒以内得到响应时,系统的响应很快,用户对系统的体验较优;

用户在2-5秒之间得到响应时,系统的响应速度还可以,用户对系统的体验一般;

用户在5-8秒以内得到响应时,系统的响应速度较慢但还在接受范围,用户对系统的体验较慢;

用户在超过8秒后仍然无法得到响应时,通常会认为系统已经失去响应,选择离开或者发起第二次请求,用户对系统的体验很糟糕。

翻译

这个没啥好解释的,就是个“业界”非标准化的一个标准……所以,以后在项目中没有明确要求某功能or页面的响应时间时,就拿这个当标准来考量吧!另外需要补充的一点是,我们用jmeter一般是压接口,我们得出的响应时间一般会小于直接压页面,为什么呢?这里影响响应时间的除了网络传输时间+系统响应时间,还有个前端页面渲染的时间。所以如果我们想web用户体验较好(3秒内),压接口的响应时间最好就要低于3秒,这给页面渲染留出一定的冗余时间。
三、性能测试类型

    终于要开始介绍性能测试的干货(Fuck foods)了。
1、基准测试

测试系统是否存在线程安全性问题,并得到一定测试条件下的系统的性能基线数据。目的是得到系统的性能基线数据,并对响应时间、TPS和其他与时间相关的需求进行评估。

翻译

俗话说的好,“凡事都有个第一次,再丑的媳妇也要见公婆”。这个类型就是针对之前没有做过性能测试,或者是根据新需求而刚刚开发完成的新系统来说的。这时,您就需要来一份“基准测试”啦!先给自己留个底儿,有了性能基线,我们才能继续后面的“调优”不是?

对比测试

对比不同测试条件下的性能差距,常用于系统优化,技术选型,通过相同的用例对比性能数据。测试方式和负载测试类似。

翻译

多说无益,我们“举几个比方,打几个栗子”:

我们对系统的某功能进行了优化,需要验证该功能在优化前后的性能对比数据时,可以进行对比测试;

老板让我说出两种系统架构或者实现方法下,哪一种更好,可以进行对比测试;

老板让我说出这两款设备,哪一款更优秀,可以进行对比测试。

说白了,就是各种比较,没有对比就没有伤害;不对比你怎么能知道你有多胖呢,对不对?!(观众:扔砖头!!!)
2、容量规划

测试系统在软硬件上的扩展能力,常用于测试软件扩容,硬件扩容。容量规划也是对比测试的一种。

翻译

就如定义中所说,容量规划也是对比测试的一种。这个类型主要使用场景有:

软件扩容:我们用多线程来代替原有的单线程处理请求;

硬件扩容:我们增加了两台redis,加大了weblogic server的内存或者直接增加了4台服务器。

在这里也要额外说一点:我们扩容,特别是硬件扩容,是不能按照倍数来放大扩容效果的。例如,我们2台server时TPS为100,我们增加到4台同样配置的server时,TPS并不是增加到200了。有可能是160、170、180……这其中并没有一个线性的关系,这点很重要需要知悉。所以,很多时候项目组找到我们做性能测试,说我们生产环境与测试环境配置相同,只是数量不同,是否能直接换算性能指标呢?答案是否定的!我们只能说,你在测试环境中如果满足了预期性能指标,那生产环境理论上是没有问题的,no more!
3、稳定性测试

采用系统稳定运行情况下能够支持的最大并发用户数,或者日常运行用户数,持续运行一段时间。目标是检测系统能否持续稳定工作。

解释

其实,我们在用Jmeter压测的时候,至少都要持续10~15min以上,为什么呢?我们要让TPS稳定下来,这时采集的数据才有效;当然,并不是说15分钟就一定够了,某些情况下需要更长时间的压测才能发现性能问题。

稳定性测试多用于对“系统稳定性”有“强需求”的系统,比如金融类的银行、证券等等。如系统要求324小时运行,测试当系统在一定的压力情况下(如CPU资源使用率维持在50%左右),选取复合场景的案例,持续运行3x24小时,观测系统的稳定性状态数据。

还有一种是:测试人员发现,系统在短时间(1个小时、8个小时甚至1天)内都是正常的,但一超过一定时间后就会CPU利用率徒增,或者内存持续增高(疑似内存泄露),这也需要来一场轰轰烈烈的稳定性测试……
4、负载测试

负载测试是通过逐渐增加用户量来观察在不同的负载下系统的指标,以检验系统的行为和特性,以发现系统可能存在的性能问题,并可以检测系统的伸缩性。

也可以确定在什么负载条件下系统性能处于失效状态,目标是获得系统能提供的最大服务级别。

解释

负载测试是大家平时做性能测试使用最多的一种类型,甚至有些时候大家嘴里所说的性能测试,就是指的负载测试。说的直白点,就是你写好脚本跑个100并发,发现对于系统来说“洒洒水啦”,监控显示内存和CPU指标都懒得波动一下。那我们加到400试试,加到500呢,1000……?所以,这就是一个“试”的过程,直到系统“失效”!这里的“失效”不一定是指系统宕机,监控显示CPU、Memory利用率超过80%了也叫失效,系统响应时间超过预期的3秒了也叫失效,就看哪个条件先被打破了……

问题一:苹果手机怎么测试手机性能 先在 App Store 中搜索 Basemark ,直接下载安装即可,
下载安装好以后,打开 Basemark X 应用,初次使用会看到使用协议条款,滑动到底部并点击“Accept”按钮,
随后会看到 Basemark X 的主界面,软件默认是中等测试模式,点击“Start Test”按钮开始,
测试完成以后,可以看到手机所得的综合性能分数,点击界面中的“Compare at”一栏,可以提交测试分数,
随后会在 Safari 页面中看到测试分数,向左滑动,可以看到其它机器的分数,

问题二:怎样检查iphone6s的性能 第一招:用IMEI码查看激活保修信息
iPhone 6S到手以后,建议先查一下IMEI是不是四码合一的。这是一个很老土的验机方式,但是这么多年过去了还是可以得到官方的肯定。用IMEI码上网去查查看看激活保修信息,如果查不到到当然是假的。
首先普及一下IMEI码是什么意思:是移动设备国际身份码的缩写,IMEI由15位数字组成。
iPhone 6S四码会在哪里呢?请看我下面的介绍。
iPhone 6S IMEI码第一码:
以往的iPhone 会在机身背后上,iPhone 6S是在手机卡卡托上。
iPhone 6S IMEI码第二码:
以前会在包装盒的上有IMEI码,现在会在iPhone 6S包装盒内的保修卡上。
Phone 6S IMEI码第三码:
进入手机以后,然后在关于本机这一项中可以看得到IMEI码,所有的IPHONE都可以这样查。
第二招:测试iPhone 6s新功能――3D-Touch三维触控
测试手机中的3D Touch功能这是iPhone 6s特有的,建议在试机的时候装一下微信或是支付宝这两个APP都支持3D Touch。用力按一下去如果出现如下图所示的界面说明3D Touch功能没有问题。
第三招:使用拍照,看是否有Photo Live功能
打开相机,注意看一下相机顶部的那个三个圈圈的图标有没有呈,如果是说明Photo Live功能开启了,然后再拍一张照片看看屏幕上有没有显示LIVE这样的字样。如果有,再打开刚刚拍的那张照片重按,看看图看会不会你GIF动图一样,会动起来。如果都可以实现说明是真的,Photo Live功能是iPhone 6s特有的功能。

问题三:如何检测苹果手机的性能和处理器 可以在App Store下载安兔兔评测测试一下

问题四:iphone6 怎么测试 手机性能 这个没有意义,iPhone6 运行app流畅就行了,测分没有意义
谢谢请采纳

问题五:怎么测试iphone手机电池性能 下载一个 电池管家 软件就行了。

问题六:iPhone测试手机CPU以及其他性能的软件有哪些 推荐安兔兔或者鲁大师进行性能检测,两款软件的数据仅供参考。

问题七:苹果手机用什么软件检测手机性能? 苹果手机性能不需要检测- -手机跑分就是一个噱头,毫无意义。一定要和小伙伴比一比的话,安兔兔可以。。

问题八:苹果手机性能测试用什么软件? 也可以试试安兔兔吧

问题九:怎么测试苹果7plus的真实性能, 70分 下载安兔兔之后里面有个验机功能

问题十:如何进行iOS 性能测试 性能测试分为两种
一种是后台服务器性能测试,通过向服务器发送请求进行性能测试,这个时候ios软件相当于前台浏览器,其实质测试的还是后台服务器性能,可以使用性能测试工具loadrunner,jmeter之类
另一种是前端app测试,这个时候测试的是app在平台上运行时资源的占用,如cpu,内存,网络,流量这一类指标,可以使用苹果的开发工具xcode自带的instrumentation进行测试,不过需要mac系统

您好,方法
提到APP的性能测试这个概念比较笼统,因为APP的性能测试分为服务器端的性能和手机端的性能测试。下面,我们先从服务器端的性能测试开始说起,服务器端的性能测试可以通过LoadRunner或Jmeter工具进行测试,为方便起见,可以以Jmeter工具为例子说一下App服务器端的性能测试流程。
首先,确定app的性能测试功能点,一般会选择使用比较频繁的功能做性能测试比如查询,提交数据。
然后,根据该功能点的接口测试需求,或使用fiddler抓包,在jmeter上构造向服务器发送的请求数据,配置好相关的设置,并做好服务器的监控。(以我们实际项目为基准,本项目是搭建在linux上的,用的是nmon工具做监控),
最后运行测试,测试完之后,收集CPU,内存等信息,集合聚合报告的内容,分析性能测试结果。
至于手机端的性能测试流程则比较简单,首先需要在服务器上提前安装监控工具(iTest/GT),接着启动监控工具,监控被测应用
接着需要清空先前的logcat日志记录,清空日志的命令是:adb logcat -c
接着来获取logcat日志:adb logcat -v time > E:\share\logcatlog
如何做App的性能测试
再接着使用monkey运行被测应用:
adb shell monkey -p yourpackagename -v 500 > E:\share\monkeylog
(获取app的包名和activity名称:
adb logcat -v time | findstr START
脚本中,cmp= 后面的值就是 包名)
(ctrl+c 终止命令)
最后根据监控图,检查CPU,内存,流量,电量是否符合性能指标。如果不符合,就把不符合指标的报表和对应的logcat发给开发进行定位。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/10256085.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存