软件性能测试知识汇总[通俗易懂]

软件性能测试知识汇总[通俗易懂]一软件性能概述1.软件性能的概念:软件性能是与软件功能相对应的一种非常重要的非功能特性,表明了软件系统对时间及时性及资源经济性的要求。2.不同角色对软件性能的理解(1)从系统用户角度看软件性

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

一   软件性能概述

1.软件性能的概念:

软件性能是与软件功能相对应的一种非常重要的非功能特性,表明了软件系统对时间及时性及资源经济性的要求。

2.不同角色对软件性能的理解

(1)从系统用户角度看软件性能:                  

影响因素:                                                                  

1、功能粒度                                                                 

2、客户端网络情况                                                      

3、服务器当前忙闲情况                                                

4、……                                                                         

(2)从系统运维人员角度看软件性能:

   影响因素: 

1、功能升级  

2、用户量增加 

3、服务器硬件磨损 

4、数据量增加

5、 ……

(3)从开发人员角度看软件性能:

影响因素:

1、机构设计

2、数据库设计

3、内存使用方式

4、线程同步方式

5、资源竞争

6、 ……

3.常用性能指标:响应时间、并发用户数、吞吐量、服务器性能计数器

4.软件性能的影响因素:

(1)硬件设施(部署结构、机器配置)

(2)网络环境(客户端带宽、服务器端带宽)

(3)操作系统(类型、版本、参数配置)

(4)中间件(类型、版本、参数配置)

(5)应用程序(性能)

(6)并发用户数(系统当前访问状态)

(7)系统数据量(系统数据量大小)

5.软件性能生命周期模型
软件性能测试知识汇总[通俗易懂]

(1)性能需求分析:根据系统的业务特点制定明确的性能需求,为系统设计和性能测试提供依据

(2)概要设计:针对系统性能要求,从数据库结构、软件架构、部署结构等方面进行系统设计工作

(3)详细设计:从单元粒度、算法逻辑复杂度、变量定义等方面进行系统的设计工作

(4)性能测试:对应不同的设计阶段,可以将性能测试分解为单元性能测试、集成性能测试和系统性能测试

6.性能需求分析方法:响应时间、最大并发用户数、吞吐量、资源利用率

7.软件性能模型
软件性能测试知识汇总[通俗易懂]

二  软件性能测试基础

1.软件性能测试定义:

狭义的软件性能测试指为验证软件性能指标、评估系统服务能力、推荐系统软硬件配置、完成系统性能优化等而开展的测试活动,这也是一般意义上人们对软件性能测试的理解。

广义的软件性能测试指在测试过程中需要相关性能测试方法配合完成的系统测试活动,包括可靠性测试、可恢复性测试、稳定性测试、兼容性测试、可扩展性测试等。

2.软件性能测试的目标

  • 能力验证
  • 缺陷发现
  • 能力规划
  • 性能优化

3.常用性能测试方法

(1)基准测试:通过设计科学的测试方法、测试工具和测试系统,实现对一类测试对象的某项性能指标进行定量的和对比的测试。主要目的是检验系统性能与相关标准的符合程度。

(2)压力测试:通过对软件系统不断施加压力,识别系统性能拐点,来获得系统提供的最大服务级别的测试活动。主要目的是检查系统处于压力情况下,应用的表现。

(3)负载测试:通过在被测系统上不断施加压力,知道达到性能指标极限要求。主要目的是找到特性环境下系统处理能力的极限。

(4)并发测试:指当测试多用户并发访问同一个应用、模块、数据时是否发生隐藏的并发问题,如内存泄露、现成锁、资源争用问题。主要目的并非为了获得性能指标,而是为了

发现并发所引起的问题。

(5)疲劳测试:通过让软件系统在一定访问量情况下长时间运行,以检验系统性能在多长时间后会出现明显的下降。主要目的是验证系统运行的可靠性。

(6)数据量测试:通过让软件在不同数据量情况下运行,以检验系统性能在各种数据量情况下的表现。主要目的是找到支持系统正常工作的数据量极限。

(7)配置测试:通过被检测系统的软/硬件环境的调整,了解各种不同环境对系统性能的影响程度,从而找到系统各项资源的最优分配原则。主要目的是了解各种不同因素对系统性能影响的程度,从而判断出最值得进行的调优操作。

三  性能测试过程模型

1.

软件性能测试知识汇总[通俗易懂]

2.HP性能测试过程

软件性能测试知识汇总[通俗易懂]

3.制订性能测试计划:

(1)明确测试范围

(2)制订时间(进度)计划

(3)制订成本计划

(4)制订环境计划

(5)测试工具规划

(6)测试风险分析

4.设计测试用例

5.搭建性能测试环境

(1)搭建硬件环境

(2)搭建软件环境

(3)搭建测试工具环境

(4)准备数据环境

6.执行性能测试

(1)脚本录制与开发

(2)场景设置

(3)测试执行

(4)测试监控

四  性能分析与性能优化

1.性能分析方法分类:

(1)指标达成法:用于验证性能指标

(2)最优化分析法:用于能力验证型测试

2.常用性能分析方法:

(1)快速瓶颈识别:

①硬件上的性能瓶颈        ②应用软件上的性能瓶颈     ③应用程序上的性能瓶颈  

④操作系统上的性能瓶颈    ⑤网络设备上的性能瓶颈

(2)性能下降曲线:单用户区域、性能平坦区、压力区域、性能拐点

(3)内存分析方法   (4)处理器分析方法   (5)磁盘IO分析方法      (6)进程分析方法   (7)网络分析方法

五  HP LoadRunner基础

1.LoadRunner通过模拟实际用户的操作行为和实施实时性能检测,来帮助用户更快地确认和查找问题的所在。

2.确认系统选择协议方法

(1)可以直接确认。

(2)通过研发人员了解被测系统使用了什么样的协议。

(3)使用常用的数据监听工具进行数据包分析。

(4)万能协议Winsocket协议。

3.LoadRunner工具组成
(1)三个前台功能模块

  • VuGen(虚拟用户脚本生成器)
  • Controller(测试控制器)
  • Analysis(结果分析器)

(2)两个后台功能模块

  • LG(负载生成器)
  • Proxy(用户代理)

软件性能测试知识汇总[通俗易懂]

4.LoadRunner 中的关键概念

(1)虚拟用户:Virtual User简称Vuser,性能测试过程中执行VU脚本以模拟真实用户对系统访问的执行实体。

(2)VU脚本:Script,记录了用户执行系统业务的操作过程,是Vuser执行的对象。

  LoadRunner支持的脚本语言有:Java、C、Visual Basic、VB Script等,默认的脚本生成语言为C语言。

(3)场景:Scenario,一次性能测试执行内容的定义,用来模拟真实用户是如何产生压力的。(手工场景和面向目标场景)

场景由所要执行的脚本、虚拟用户、负载生成器、运行过程配置、实时监控五方面构成。

(4)事务:Transaction,提供一种端对端的测量方法,用于测量一个业务流程中执行一个或多个步骤所花费的时间。(可理解为一个计时单位)

(5)检查点:Check Point,提供了一种执行结果正确性验证机制,保证了测试工具对执行通过判断的准确性。

(6)思考时间:Think Time,提供了一种让VU脚本暂停执行(等待一段时间)的机制,用来模拟实际用户在不同操作之间等待时间,以便更加真实地反映用户访问系统的行为规律。

(7)集合点:Rendezvous,集合点提供了一种用户并发访问机制,用来模拟多用户对系统的并发访问。

六 HP LoadRunner脚本的录制于开发

1.创建测试脚本流程

软件性能测试知识汇总[通俗易懂]

 

软件性能测试知识汇总[通俗易懂]

2.两种录制模式:
(1) HTML-based script (基于HTML的脚本)录制模式是loadrunner的默认模式,单独步骤

(2)URL-based script (基于URL的脚本),每个请求

3. LoadRunner提供两种注释方法:

(1)单行注释。在代码行的后面,添加“//”,“//”的后面直到本行结束的内容为注释内容。

(2)块注释。一个注释块是以“/*”开头,并以“*/”结尾的串。在“/*”和“*/”之间的即为注释。

4.设置步长(多久迭代一次脚本):Pacing

5.Run Vuser as a process:以一个进程运行虚拟用户
   Run Vuser as a thread:以一个线程运行虚拟用户

6.动态验证是需要做关联

7.四种日志类型

  • 执行日志
  • 编译日志
  • 产生日志
  • 录制日志

七  HP LoadRunner测试场景管理

1.场景主要是用来模拟真实用户向被测试系统产生压力,是一种用来模拟大量用户操作的技术手段。

2.Controller(中央控制器):负责设计与执行性能测试用例场景的组件。

3.测试场景类型:
(1)Manual Scenario:手工场景
(2)Goal-Oriented Scenario:面向目标的场景

4.负载发生器是一个可以独立部署并运行脚本的负载引擎。

5.手工场景:

(1)Scenario模式:

①Real-world schedule(真实场景模式)

②Basic Schedule(基础模式)

(2)Group模式

6.SLA(服务水平协议)是您为负载测试场景定义的具体目标。

7.面向目标的场景5种类型目标

(1)Vuser数

(2)每秒点击次数(仅Web Vuser)

(3)每秒事务数

(4)每分钟页面数(仅Web Vuser)

(5)场景的事务响应时间

8.系统参数监控

(1)场景用户状态

(2)场景运行状态

(3)计数器管理

①监控Windows、SQL Server、IIS

②Windows监控Linux/UNIX

③监控AIX     ④监控Oracle    ⑤监控Weblogic     ⑥监控Apache

八  HP LoadRunner测试结果分析

1.功能:系统性能测试的目的是查找系统的性能问题,然后找出这些问题的根源。

2.Analysis测试结果分析方法

(1)从分析Summary的事务执行情况入手

(2)查看负载发生器和服务器的系统资源情况

(3)查看虚拟用户与事务的详细执行情况

(4)查看错误发生情况

(5)查看Web资源与细分网页

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/167562.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • iOS逆向入门实践 — 逆向微信,伪装定位(二)

    iOS逆向入门实践 — 逆向微信,伪装定位(二)1.创建工程还是跟之前的步骤一致,创建工程,然后配置Makefile。注意创建工程时名字只能包含数字跟字母。Makefile上面引入的 FakeWeChatLocationManager.m 文件是主要代码实现的地方,分离出来好模块化。2.Reveal注入为了更好地定位代码,需要分析一下“附近的人”这个界面对应的类名是什么,然后进一步分析

  • 【 Linux学习】SSH连接时出现Host key verification failed的原因及解决方法以及ssh-keygen命令的用法

    【 Linux学习】SSH连接时出现Host key verification failed的原因及解决方法以及ssh-keygen命令的用法一、问题描述今天下午使用ssh连接其他服务器进行scp操作的时候,提示失败,如下所示:[root@localhostbackups]#scproot@172.xxx.xxx.xxx:/data/gitlabData/backups/1539717714_2018_10_17_9.4.3_gitlab_backup.tar.@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@……

    2022年10月21日
  • yuicompressor java_yuicompressor

    yuicompressor java_yuicompressorYUICompressor-TheYahoo!JavaScriptandCSSCompressorTheYUICompressorisaJavaScriptcompressorwhich,inadditiontoremovingcommentsandwhite-spaces,obfuscateslocalvariablesusingthesma…

  • 详解springBoot集成activiti7,工作流实战案例(三)

    详解springBoot集成activiti7,工作流实战案例(三)快速使用IDEA搭建SpringBoot项目,集成Activiti7(一)详解springBoot集成activiti7,使用actiBPM绘制流程图(二)过程分析:部署流程 启动一个流程实例 查询当前流程中等待执行的任务 处理任务 流程结束用到activiti的service(ps:记得注入):RepositoryService RuntimeService…

    2022年10月19日
  • graph representation learning_with for什么意思

    graph representation learning_with for什么意思刷新三数据集纪录的跨镜追踪(行人再识别-ReID)技术云从科技在跨镜追踪(行人再识别)技术(ReID)上获取重大突破。同时在Market-1501,CUHK03,DukeMTMC-reID三个数据集刷新了世界纪录,其中最高在Market-1501上的首位命中率(Rank-1Accuracy)达到96.6%,让跨镜追踪(ReID)在准确率上首次达到商用水平,人工智能即将从「刷脸」跨到「识人」的新纪…

  • ubuntu18.04录屏软件_linux录屏软件推荐

    ubuntu18.04录屏软件_linux录屏软件推荐1安装1sudoadd-apt-repositoryppa:peek-developers/stablesudoaptupdatesudoaptinstallpeek2.peek使用我想使用peek录制我操作某一软件,做一个教程。发现选不中要录的软件,因为peek始终在最前端,你只能选用peek,咋么办?将peek放置要录的区域,选择录制,出现倒计时在倒计时这几秒内,右键peek顶部,取消Alwayontop在桌面的菜单栏,选择软件,这时,这个软件处于最前端,然

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号