• 15
  • 14
分享
  • 性能测试概述——软件测试圈
  • TIMI 2021-01-06 14:45:56 字数 2163 阅读 1883 收藏 14

概念

       性能测试是通过自动化的测试工具模拟多种正常、峰值以及异常负载条件来对系统的各项性能指标进行测试。

       简单的来说就是选择适合自己系统业务逻辑的方式,用最低的成本、最快的时间来做出最有价值的事情。

分类

       根据不同的测试目的,在具体的测试执行中又有所侧重和区分,详细可分为:压力测试、容量测试、极限测试、基准测试

  • 压力测试:评估系统处于或超过预期负载时系统的运行情况。压力测试的关注点在于系统在峰值负载或超出最大载荷情况下的处理能力。在压力级别逐渐增加时,系统性能应该按照预期缓慢下降,但是不应该崩溃。压力测试还可以发现系统崩溃的临界点,从而发现系统中的薄弱环节。

  • 容量测试:确定系统可处理同时在线的最大用户数,使系统承受超额的数据容量来发现它是否能够正确处理。

  • 极限测试:在过量用户下的负载测试。

  • 基准测试:比较新的或未知测试对象与已知参照标准(如现有软件或评测标准)的性能。

 指标

       Web服务器指标指标:

  • Avg Rps: 平均每秒钟响应次数=总请求时间 / 秒数

  • Avg time to last byte per terstion (mstes):平均每秒业务脚本的迭代次数,有人会把这两者混淆

  • Successful Rounds:成功的请求

  • Failed Rounds :失败的请求

  • Successful Hits :成功的点击次数

  • Failed Hits :失败的点击次数

  • Hits Per Second :每秒点击次数

  • Successful Hits Per Second :每秒成功的点击次数

  • Failed Hits Per Second :每秒失败的点击次数

  • Attempted Connections :尝试链接数

       CS结构程序,由于一般软件后台通常为数据库,所以我们更注重数据库的测试指标:

  • User 0 Connections :用户连接数,也就是数据库的连接数量

  • Number of deadlocks:数据库死锁

  • Buffer Cache hit :数据库Cache的命中情况

原则

  • 对于不同的系统,性能关注点是有所区别的,应该具体问题具体分析。

  • 情况许可时,应使用几种测试工具或手段分别独立进行测试,并将结果相互印证,避免单一工具或测试手段自身缺陷影响结果的准确性。

  • 了解“有限的资源,无限的需求”。

  • 尽可能在开始前明确调优工作的终止标准。

  • 调优过程中应仔细进行记录,保留每一步的操作内容及结果,以便比较分析。

工具

  1. Web Bench:是一个简单的web或者web代理服务的基准测试工具。(它)使用fork()模拟多个客户端并且可以发起HTTP/0/9-HTTP/1.1的请求

  2. Apache JMeter:是一个专门为运行和服务器装载测试而设计的、100%的纯Java桌面运行程序。原先它是为Web/HTTP测试而设计的,但是它已经扩展以支持各种各样的测试模块。它和用于HTTP和SQL数据库(使用JDBC)的模块一起运送。它可以用来测试静止资料库或者活动资料库中的服务器的运行情况,可以用来模拟对服务器或者网络系统加以重负荷以测试它的抵抗力,或者用来分析不同负荷类型下的所有运行情况。它也提供了一个可替换的界面用来定制数据显示,测试同步及测试的创建和执行。

  3. Web Polygraph:是一个用于测试WEB性能的工具,这个工具是很多公司的标准测试工具,包括微软在分析其软件性能的时候,也是使用这个工具做为基准工具的。

  4. LoadRunner: 是一种预测系统行为和性能的工业标准级负载测试工具。通过以模拟上千万用户实施并发负载及实时性能监测的方式来确认和查找问题,LoadRunner 能够对整个企业架构进行测试。通过使用LoadRunner , 企业能最大限度地缩短测试时间, 优化性能和加速应用系统的发布周期。企业的网络应用环境都必须支持大量用户,网络体系架构中含各类应用环境且由不同供应商提供软件和硬件产品。难以预知的用户负载和愈来愈复杂的应用环境使公司时时担心会发生用户响应速度过慢, 系统崩溃等问题。这些都不可避免地导致公司收益的损失。Mercury Interactive 的 LoadRunner 能让企业保护自己的收入来源, 无需购置额外硬件而最大限度地利用现有的IT 资源, 并确保终端用户在应用系统的各个环节中对其测试应用的质量, 可靠性和可扩展性都有良好的评价。LoadRunner 是一种适用于各种体系架构的自动负载测试工具, 它能预测系统行为并优化系统性能。LoadRunner 的测试对象是整个企业的系统, 它通过模拟实际用户的操作行为和实行实时性能监测, 来帮助您更快的查找和发现问题。此外,LoadRunner 能支持广范的协议和技术, 为您的特殊环境提供特殊的解决方案。

步骤

       由于工程和项目的不同,所选用的度量,评估方法也有不同之处。不过对于性能测试有一些通用的步骤。

  1. 分析系统

  2. 创建测试模型,通常是从生产环境中的数据中统计。

  3. 测试方案

  4. 制定评估标准

  5. 选则相关技术和工具

  6. 设计性能测试场景,也就是测试用例

  7. 输出报告

  8. 运行测试,分析调优

 

作者: Tynam.Yang

原文链接:https://www.cnblogs.com/tynam/p/13536470.html

  • 【留下美好印记】
    赞赏支持
登录 后发表评论
+ 关注

热门文章

    最新讲堂

      • 推荐阅读
      • 换一换
          •   一、Charles介绍  Charles是一款用Java编写的代理软件,电脑或者手机访问网站首先会访问到Charles代理工具上,由代理工具再把访问数据转发到相应的网站上,所以可以很好的通过设置Charles,对接口的请求和响应进行加工处理。  Fiddler虽然也是代理工具,但是Charles比Fiddler更好的地方是Charles接口管理层次分明,Charles可以用在Mac平台上。  二、Charles功能  1.Charles  是一款Proxy代理工具  2.Throtte Seting  模拟弱网环境  3. DNS Spoofing  &nbs...
            0 0 1303
            分享
          •   为什么在JMeter中执行压力测试时,出现连接异常或连接重置错误?  答案:连接异常或连接重置错误通常是由于服务器在处理请求时出现问题引起的。这可能是由于服务器过载、网络故障或配置错误等原因导致的。  解决方法:  确定服务器的负载是否过高,如果是,可以考虑增加服务器资源或优化服务器端代码。  检查网络连接是否稳定,如果存在网络故障,可以尝试重启网络设备或切换网络环境。  确认JMeter的线程数、Ramp-up时间和循环次数是否合理设置,以避免对服务器造成过大压力。  检查JMeter的代理服务器设置,并确保在浏览器中正确配置代理,以便在测试期间正确转发请求。  JMeter运行压测脚本...
            0 0 918
            分享
          •       沐沐在之前的工作中,主要使用Jenkins构建测试环境,因此为了节省回归测试的时间,就同步在Linux上搭建了JMeter+ant+Jenkins的接口自动化框架;主要用于环境构建后回归测试、定时构建、迁移环境后回归验证等测试场景。以下内容为当时搭建环境时的笔记,希望有需要的朋友们可以作为参考。一、安装JMeter1、下载jmeter压缩包:http://jmeter.apache.org/download_jmeter.cgi2、进入usr目录:cd usr3、创建文件夹:mkdir JMeter4、上传文件夹到服务器:apache-jmeter-5...
            2 0 4899
            分享
          • Linux基础知识多用户多任务的操作系统,拥有良好的用户界面支持多种处理器架构,移植方便目录结构/bin: 存放着经常使用的命令/boot: 启动Linux时使用的一些核心文件以及镜像文件/dev: (Device)存放Linux外部设备/etc: 存放所有的系统管理所需的配置文件和子目录/home: 用户的主目录,在Linux中每个用户都以后自己的目录,一般该目录是以用户的 账号命名/lib: 存放系统中最基本的动态连接库 ,类似于Windows的dll文件/opt :给主机额外安装软件所摆放的目录/root: 系统管理员,超级权限者的用户主目录/tmp: 存放临时文件/usr: 很重要的一...
            0 1 1179
            分享
          • 我们平时说的H5测试就是HTML5,其实就是:移动端WEB页面。我们以往的APP是使用原生系统内核的,相当于直接在系统上操作,是我们传统意义上的软件,更加稳定;H5的APP先得调用系统的浏览器内核,相当于是在网页中进行操作,较原生APP稳定性稍差,似乎还没有百万级用户量的H5APP;H5最大的优点是可以跨平台,开发容易,APP的话需要用ANDROID的语言和IOS的语言各自写,H5只要开发一套;简单的说:H5是基于web,native基于客户端。一、如何判断一个APP页面是否是H5页面1、无网络断开网络,显示404或则错误页面的是H5‘2、页面布局在手机设置、开发者选项中开启显示布局边界功能;...
            13 14 1492
            分享
      • 51testing软件测试圈微信