性能测试-软件测试

第四章:性能测试

2020/3/30 20:06:00

性能测试的概念

  • 概念:是指通过性能测试工具模拟正常、峰值、异常负载状态下,对系统的各项性能指标进行测试的活动。
  • 目的:

1.验证系统性能是否满足预期的性能需求,包括系统的执行效率、稳定性、安全性、可靠性等。</br>
2.分析软件系统在各种负载下的运行状态,提高性能和效率。</br>
3.识别系统缺陷,寻找系统中可能存在的性能问题,定位系统瓶颈并解决问题。</br>
4.系统调优,探测系统设计与资源之间的最佳平衡,改善并优化系统的性能。</br>


性能测试的指标

  1. 响应时间:指系统对用户的请求做出响应所需要的时间,响应时间需要与用户的具体需求相结合。
  2. 吞吐量: 衡量的是系统服务器的处理能力;
  3. 并发用户量:同一时间请求和访问的用户的数量。
  4. TPS:(Transaction per Second)事务数/秒,指系统每秒能够处理的事务和交易的数量。 TPS = 并发用户数/平均响应时间;
  5. 点击率:每秒选服务器提交的Http请求数。它只是一个参考指标,帮助衡量服务器的性能。
  6. 资源利用率:包括CPU,内存,磁盘等;

性能测试的种类

  • 负载测试:通过逐步增加系统负载,测试系统性能的变化,并最终确定在满足系统性能指标的情况下,系统所能承受的最大负载量;
  • 压力测试:逐步给系统增加压力,测试系统性能的变化,是系统某些资源达到饱和或系统崩溃的边缘,从而确定系统所能承受的最大压力;(系统达到极限)
  • 并发测试:通过模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者记录是是否存在死锁或者其他性能问题;
  • 配置测试:调整软件系统的软硬件环境,测试各种环境对系统性能的影响,从而找到系统各项资源的最优分配原则;(配置测试不改变代码,只改变软硬件配置、配置性能更好的CPU、内存等)
  • 可靠性测试:给系统加载一定的业务压力,使其持续运行一段时间,测试系统在这种情况下是否能够稳定运行(Linux更稳定);
  • 容量测试:在一定的软硬件及网络环境下,测试系统所支持的最大用户数、最大存储量;(通常与数据库、系统资源有关,用于规划将来的需求增长时,对数据库和系统资源的优化)

性能测试的流程

1.分析性能测试的需求
  • 测试人员需要收集有关项目的各项资料,并与开发人员沟通。对整个项目有一定的了解,针对需要进行性能测试的部分进行分析,确定测试目标。
2.制定性能测试计划
  • 确定测试环境:包括物理环境、生存环境、测试团队可利用的工具和资源。
  • 确定性能测试验收标准:确定响应时间、吞吐量和系统资源利用总目标和限制。
  • 设计测试场景:对产品业务、用户使用场景进行设计,设计符合用户使用习惯的场景,准备出一个业务场景表,为编写测试脚本提供依据。
  • 准备测试数据:性能测试是模拟现实的使用场景,例如模拟用户高并发,则需要准备用户数量、工作时间、测试时间等数据。
3.设计测试用例
  • 根据测试场景准备测试用例。
4.编写性能测试脚本
  • 正确选择协议;
  • 根据工具的支持情况和测试人员熟悉程度选取脚本语言;
  • 编写测试脚本时,要遵循代码编写规范,保证代码的质量;
  • 做好脚本的维护管理工作;
5.测试执行及监控
  • 性能指标:本次性能测试需要测试的性能指标的变化;
  • 资源占用率与释放情况:资源的使用情况,性能测试停止后,各项资源是否能正常释放以供后续业务使用;
  • 警告信息:系统出现问题时会发出警告信息,要及时查看;
  • 日志检查:系统日志(操作系统,数据库等日志)。

性能测试所用的工具

1.LoadRunner

简介:

LoadRunner是一款适用于各种体系架构的性能测试工具,它能预测系统行为并优化系统性能,其工作原理是通过模拟多个用户(虚拟用户)并行工作的环境来对应用程序进行负载测试
  在进行负载测试时,LoadRunner能够使用最少的硬件资源为模拟出来的虚拟用户提供一致的,可重复并可度量的负载,在测试过程中监控用户想要的数据和参数。测试完成,LoadRunner可以自动生成分析报告,给用户提供软件产品所需要的的性能信息。

优点:

  • 广泛支持业界标准协议;
  • 支持多种平台开发的脚本;
  • 可创建真实的系统负载;
  • 具有强大的实时监控和数据采集功能;
  • 可以精确分析结果,定位软件问题;

组成:

  1. VuGen(Virtual User Generator):用来创建虚拟用户脚本的工具,因此被称为虚拟脚本生成器。  VuGen会监控虚拟用户进行的操作,并以代码的形式将操作记录下来,生成一个VBScript脚本文件。当执行该脚本文件时,可以自动执行上述操作。在录制期间,VuGen会监控虚拟用户的行为,为跟踪用户发到服务器的所有请求以及从服务器接收到的所有应答。
  2. Controller:用于创建和控制LoadRunner场景,场景负责定义每次测试中发生的场景,包括模拟的用户数、用户执行的操作以及要监控的性能指标等;
  3. Analysis:LoadRunner的数据分析工具,它可以收集性能测试中的各种数据,对其进行分析并生成图表和报告,供测试人员查看;
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容