首页 > 其他分享 >软件测试之性能测试

软件测试之性能测试

时间:2023-08-16 11:04:42浏览次数:40  
标签:性能 系统 用户 并发 测试 用户数 软件测试

1.什么是性能测试

常见软件 的性能问题

1)响应时间过长:软件在执行操作或加载数据时反应迟缓,会给用户造成困扰。响应时间过长可能是由于代码效率低下、网络延迟、资源瓶颈等原因引起的。

软件测试之性能测试_响应时间

2)内存占用过高:过高的内存占用会导致系统变慢、卡顿甚至崩溃。这可能是由于内存泄漏、不合理的数据结构使用、缓存管理不当等引起的。


3)CPU 占用过高:高 CPU 占用可能导致电脑发热、耗电增加,并可能导致系统响应变慢。这可能是由于死循环、复杂计算、非优化的算法等原因引起的


4)并发性能问题:竞争条件、死锁、线程阻塞等问题可能导致性能下降或系统崩溃。通过合理的并发控制、锁管理和线程调度策略可以改善并发性能问题。


5)数据库性能问题:常见的数据库性能问题包括查询优化、索引设计不当、数据库连接管理不当等。通过优化查询语句、建立适当的索引和合理配置数据库参数可以改善数据库性能问题


6)网络延迟:对于涉及网络通信的软件,网络延迟可能成为性能瓶颈。网络延迟可能是由于网络拥塞、高延迟连接或服务器负载过高等原因引起的


性能测试的定义


性能测试是一种软件测试方法,旨在评估系统、应用程序或组件在不同负载条件下的性能和稳定性。它主要关注系统在压力情况下的响应时间、吞吐量、并发用户数和资源利用率等指标。


测试人员可以借助性能测试工具,模拟系统在不同场景下,对应的性能指标是否达到预期


性能测试和功能测试有什么区别


目标和关注点


功能测试:关注验证系统是否按照需求规格说明书中定义的功能进行正确实现。确保系统的各项功能正常工作,包括输入、处理和输出等。

性能测试:性能测试关注系统在不同负载条件下的性能和稳定性。它评估系统的响应时间、吞吐量、资源利用率等指标,以确定系统的性能瓶颈和优化潜力。

测试方法:  


功能测试:通常使用黑盒测试方法,即基于需求和设计文档,通过输入预定义的数据和操作来验证系统的功能正确性。常用的功能测试方法包括边界值分析、等价类划分、错误推测等。

性能测试:通常使用白盒测试方法,需要更深入地了解系统的架构和内部机制。它通过模拟不同负载、压力或并发条件,收集性能指标并分析系统行为。

执行对象:


功能测试依靠人工执行

性能测试依靠工具完成  

软件性能好的表现,不好的表现


快速响应、高吞吐量、低资源占用、稳定可靠、高并发支持


影响软件性能的因素


硬件:CPU利用率、内存、磁盘操作频率、CPU核心数


软件:算法、编程语言


用户:并发数,用户使用时长,用户访问频率


2.为什么要做性能测试

获取系统性能的指标,作为性能测试的基准


验证系统的性能指标是否达到要求(性能需求)


能否满足系统要求的各种性能指标


能否处理预期的用户负载并有盈余能力


能否处理业务所需要的事务数量


在预期或非预期的用户负载下,应用程序是否稳定


是否确保用户使用软件时获得舒适的体验


发现系统的性能瓶颈,是否有内存泄漏问题


系统正常工作的最大容量


帮助运维更好的规划硬件配置


3.性能测试常见术语,衡量指标

性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势。性能测试工作实质上是利用工具去模拟大量用户操作来验证系统能够承受的负载情况,找出潜在的性能问题分析并解决;找出系统性能变化趋势,为后续的扩展做准备


一般地,它主要是针对系统的性能指标制定性能测试方案,执行测试用例,得出测试结果来验证系统的性能指标是否满足既定值。性能指标里包括系统各个方面的能力,如系统并发处理能力,系统响应时间,批量业务处理能力等等


并发用户数

大量的用户同时访问系统,会对系统造成压力,此时访问的用户数,就是并发用户数


并发请求:满足了大量用户同时访问的条件,此时的请求数量就是并发请求数  


对系统用户数,在线用户数,并发用户数做一个区分。


系统用户数:简单地说就是该系统的注册用户数。例如,BestTest论坛里存在6666个注册用户,他们可以是活跃的,也可以是僵尸的。


在线用户数:成功登录系统的用户数


业务层面的并发用户数:指的是同时向服务器发送请求的用户数量。


后端服务器层面的并发用户数:指的是同时向服务器发送请求的请求数量。


响应时间/平均响应时间(RT/ART)  



用户响应时间


从用户视角来考虑,响应时间反映了完成某个操作所需要的时间,标准定义是,应用系统从发出请求开始,到客户端接收完所有的字节数据所消耗的时间。


用户响应时间=N1+A1+N2+A2+N3+A3+N4


请求响应时间


服务器收到请求到发出响应的时间


请求响应时间=A1+N2+A2+N3+A3


影响响应时间的因素


数据库性能


网络带宽


服务器处理性能


软件算法,逻辑


用户设备


事务响应时间(Transaction Reponse Time)

每秒完成的事务数,通常指每秒成功的事务数,性能测试中重要的综合性性能指标。


这里的一个事务是一个业务度量单位,是指一组密切相关的子操作的组合。比如,一笔电子支付操作,后台处理的时候可能需要经过会员系统,账务系统,支付系统,银行系统等,这就是是一个关于支付事务里面包含的操作。而对于用户,往往也只关注整个支付花费了多长时间。


每秒事务通过数(Transaction Per Second)

TPS=处理事务的数量/事务花费的时间


TPS 是指每秒系统能够处理的事务数。它是衡量系统处理能力的重要指标。当压力加大时,TPS曲线如果变化缓慢或者有平坦的趋势,很有可能是服务器开始出现瓶颈了。如果环境没有发生大的变化,对于同一系统会存在一个最大处理事务能力,它并不随着并发用户的增减而改变。


点击率(Hit Per Second)

点击率=点击量/时间


每秒点击数代表用户每秒向Web 服务器提交的HTTP请求数。点击率越大,服务器压力越大。这里的点击并不是鼠标的一次点击,一次点击可能有多次HTTP请求。


吞吐量(Throughput)

单位时间内系统处理的客户请求的数量,直接体现软件系统的性能承载能力,一般来说用Requests/second,Pages/Second,Bytes/Second,从业务的角度,也可以用访问人数/天或是处理的业务数/小时来衡量,从网络设置的的角度来说,也可以用字节数/天来衡量。


不能用来直接衡量系统的性能高低,需要搭配时间衡量


吞吐率  


吞吐率=吞吐量/时间


能衡量不同系统的性能。吞吐率 越高,性能越高


思考时间(Think Time)

模拟正式用户在实际操作时的停顿间隔时间,从业务的角度来讲,思考时间指的是用户在进行操作时,每个请求之间的间隔时间。


资源利用率


不同系统资源的使用情况。包含CPU,内存,硬盘,网络等。


4.性能测试的分类

基准性能测试

使用场景:软件刚上线时要进行性能的”摸底“测试432


系统的第一个版本,研发团队团队也不清楚系统的性能能达到怎样的水平,这时进行的性能测试,其目标是获得系统标准配置下,有关的性能指标数据,作为将来性能改善的基准,这种测试称之为“性能基准测试。性能基准测试是通过性能测试获取系统的性能指标,建立一个性能基准,作为以后性能测试的参考。系统进行性能基准测试可以在系统开发的较早的阶段发现性能问题。


负载性能测试

软件在一定的压力情况下运行,观察性能指标是否出现了拐点


压力性能测试

经常使用的测试,让软件系统处于饱和(压力又增大了)的情况下,观察性能的指标 ,往往会将系统搞崩溃


可靠性测试

验证系统在常规负载模式下长期运行的稳定性。


在一定的软硬件环境下,长时间运行一定的负载,确定系统在满足性能指标的前提下是否运行稳定。与压力测试不同的是系统的负载并不是处于极限的状态下。重点是满足性能要求的情况下,系统的稳定性,比如响应时间,TPS是否稳定。需要借助测试工具进行


5.性能测试执行流程

功能测试执行流程:需求分析、测试计划、测试设计、测试执行、测试评估(测试报告)、上线


性能测试执行流程:需求分析、测试计划、选择工具、脚本编写、执行脚本、产出性能测试报告


性能测试中出现问题不叫BUG,叫性能瓶颈,开发修复过程就叫性能优化  

标签:性能,系统,用户,并发,测试,用户数,软件测试
From: https://blog.51cto.com/u_16102274/7099927

相关文章

  • Charles弱网测试
    一、关于charls的相关说明介绍可以看charlesformac使用说明 二、弱网测试要点  三、利用抓包工具charles进行弱网设置,适用PC端和移动端(IOS/Android)1.以charles4.5.6版本为例,打开Proxy->ThrottleSettings2、打开ThrottleSettings界面如下在之后弹出的对话框中,我们......
  • 有没有好用的性能测试工具推荐
    在当前软件测试行业,熟练掌握性能测试已经是测试工程师们面试的敲门砖了,当然还有很多测试朋友们每天的工作更多的是点点点,性能方面可能也只是做过简单的并发测试,对于编写脚本,搭建环境方面也比较陌生。今天这篇文章就给大家梳理一下如何去做性能测试,和怎么熟练掌握性能测试。文章结构......
  • 有没有好用的性能测试工具推荐
    在当前软件测试行业,熟练掌握性能测试已经是测试工程师们面试的敲门砖了,当然还有很多测试朋友们每天的工作更多的是点点点,性能方面可能也只是做过简单的并发测试,对于编写脚本,搭建环境方面也比较陌生。今天这篇文章就给大家梳理一下如何去做性能测试,和怎么熟练掌握性能测试。文章结......
  • 基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程
    (基于Jenkins+Python+Ubuntu+Docker的接口/UI自动化测试环境部署详细过程)1Jenkins是什么?学习官网:Jenkins官网,Jenkins中文官网;Jenkins是一款开源CI&CD软件,用于自动化各种任务,包括构建、测试和部署软件;用Java语言编写的,可在Tomcat、Docker等流行的容器中运行,也可独立运行。......
  • i513400f参数 i5 13400f性能怎么样酷睿i5 13400f属于什么水平
    i5-13400f7nm工艺采用拥有6个大核和4个小核,共计10核16线程,主频2.5GHz,全核睿频可达4.4GHz,单核睿频4.6GHz,配备28MB的L3缓存,基础功耗65W。i513400f组装电脑怎么搭配更合适这些点很重要 http://www.adiannao.cn/du ......
  • 性能测试报告:用于项目的性能验证、性能调优、发现性能缺陷等应用场景
     性能测试报告是一种重要的报告类型,旨在评估软件系统的性能、稳定性和安全性。在这篇文章中,我们将详细介绍性能测试报告的应用场景、测试方法和性能指标,以及如何撰写一份有效的性能测试报告。一、概述性能测试报告的目的是对软件系统的性能进行全面的评估,以便更好地进行性能......
  • 如何做好软件测试报告?柯信优创专业机构为您支招
     1、需求评审第一阶段需要对测试需求进行调研,评审和分析。客户整理提供的需求可能不成熟,不能包含项目要求,所以需要去重新梳理一次火灾和客户提醒确认一下,避免需求了解不充分导致出具的测试报告不能够覆盖完整需求。2、测试计划及安排有要求则形成测试方案交付客户进行确认,或......
  • i7 13700k核显性能 酷睿i713700k参数 i7 13700k功耗
    酷睿i7-13700K核心代号为RaptorLake,采用的是增强版的Intel7工艺(10纳米),不锁频设计,采用了全新的高性能混合架构,由8个性能核+8个能效核构成,最终规格为16核心24线程,其中性能核(P核)采用的是RaptorLake架构,基本频率为3.4Ghz,最高睿频可至5.4GHz,而能效核(E核)延续了Gracemot架构设计,单E......
  • .Net的性能调优
    .Net的性能调优一、.NetCore中的内存泄露1.1什么是内存溢出和内存泄露什么叫内存泄露(memoryleak)是指程序在申请内存后,无法释放已申请的内存空间,导致系统无法及时回收内存并且分配给其他进程使用。通常少次数的内存无法及时回收并不会到程序造成什么影响,但是如果在内存本身就......
  • SPI与SDIO两种操作方式读写SD卡速度测试
    SPI与SDIO两种操作方式读写SD卡速度测试 目前嵌入式应用中,若要用到SD卡,一般有两种操作方式可选:一种是SPI操作SD卡的方式;一种是SDIO操作SD卡的方式。一般是SPI操作SD卡方式使用较多,因为一般正常的MCU都带有SPI接口,但SDIO接口一般存在于大容量MCU中,中小容量的MCU一般不带有SDI......