关于系统性能测试的步骤总结和分析

本文涉及的产品
性能测试 PTS,5000VUM额度
简介:

关于系统性能测试的步骤总结和分析

  近期接触的项目,进行了比较多的性能测试,就性能测试的步骤做一下总结和分析,也希望对以后的工作有益。

  性能测试,是一种“正常”的测试,主要是测试正常使用时,系统及时性(响应时间、吞吐率)是否满足要求,同时可能为了保留系统的扩展空间进行一些稍稍超出“正常”范围的测试。

  常用软件:HP  LoadRunner

  系统性能测试中的几大步骤:

  1、明确测试目标;了解性能测试需求;

  2、编写性能测试计划;

  3、分析性能测试需求;

  4、编写性能测试方案、设计测试场景;

  5、相关资源准备(硬件资源、软件资源);

  6、执行性能测试并收集测试结果;

  7、分析结果;

  8、系统调优及再测试;

  关于步骤的解析:

  1、明确测试目标;了解性能测试需求;

  性能测试启动阶段要确定测试的负责人和组织结构。明确测试的总体目标和范围,确认资源情况。获取性能测试需求:业务列表、性能指标、测试环境、数据量等详细需求。为策划规划做准备。

  性能调优是是无止境的,所以在测试之前应确定一个明确性能调优目标,作为基准。

  2、编写性能测试计划;

  性能测试计划中包含测试目的和测试目标的相关信息,还确定了实施和执行测试时使用的策略,方法;同时还要确定测试工具、所需资源、日程表计划等。

  3、分析性能测试需求;

  性能测试需求分析主要目的是要找出可能造成系统瓶颈的因素,为后面的测试场景设计提供依据。影响系统性能有很多种原因,在此应关注如下几个关键点:

  A 环境配置性能需求:

  应用配置需求:例如应用整体框架、涉及到哪些第三方的组件、应用层与数据库层的接口、使用了什么数据库等;

  B 系统配置需求:例如用户客户端配置、客户端与服务器端的网络配置、应用服务器或数据库服务器操作系统等等;

  C 服务器性能指标要求:

  预期的在上线系统中服务器资源使用情况、吞吐量、软件运行情况等等。

  D 系统设计需求:

  系统架构、系统的技术实现、与其它系统接口关系及其技术实现、本系统测试数据及其与相关系统测试数据关系等等。

  E 工作负载需求:

  用户使用情况需求:例如用户分布情况;哪些模块用户使用比较频繁;在用户操作的数据有哪些特点等等;这些需求需要具体定位到系统的哪些功能模块、功能点;

  F 客户端性能指标要求:

  请求响应时间分布;请求的准确率等等。

  4、编写性能测试方案、设计测试场景;

  明确测试目的和测试的范围以及项目功能需求,分析测试环境中可能出现瓶颈的位置,据此来编写性能测试方案。在设计测试场景时,尽可能把测试按照类型划分,每个类型下又设计N个场景。一般来说测试中会使用的一些场景:

  预期性能指标测试、单一功能加压测试、复杂场景测试、压力测试、负载测试、大数据量测试、配置测试等。根据对业务数据的分析,设计与真实情况类似的场景,来测试系统的整体性能。

  5、相关资源准备(硬件资源、软件资源);

  硬件资源包括被测应用的主机和应用环境的部署,压力发生环境的准备和网络环境的部署以及监控系统环境的部署等。

  软件资源包括测试程序的开发,挡板的开发,测试脚本的编写、测试数据的准备和参数化数据在各测试用例中的调整、数据分析准备等。

  6、执行性能测试并收集测试结果;

  在测试执行前,需要确认用例和场景、测试环境、测试数据、测试脚本、测试工具监控工具的正常。

  在测试过程中,每个场景的执行和使用的用例都要做记录,并且做好结果的搜集,关键数据要做截图。

  在测试完成后,注意数据的恢复和备份、环境的清理、结果的整理和相关文档的生成。

  7、分析结果;

  测试结果的分析其目的主要是根据测试获取到的数据去判断造成系统出现瓶颈的位置,挖掘造成系统瓶颈的原因。当然这个过程是技术含量最高的一环。

  8、系统调优及再测试

  根据测试的分析结果,有针对性的去进行优化。比如:针对缓存上的问题,可以设置多级缓存;针对数据传输的问题,可以把大数据块分块传输,减小网络传输;如果是硬件资源的问题,可以增加更多的硬件资源;如果是服务器的应用访问压力问题,还可以做服务器应用的负载均衡水平扩展。在系统调优后,还可以再行测试以便达到更好的效果和切中指标。

  总之,性能测试是个繁琐和细致的工作过程,测试工具在测试中也只是一个辅助性的作用,而对测试得到的数据进行分析进而准确的定位问题和系统瓶颈才是关键。









====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

相关实践学习
通过性能测试PTS对云服务器ECS进行规格选择与性能压测
本文为您介绍如何利用性能测试PTS对云服务器ECS进行规格选择与性能压测。
目录
相关文章
|
5天前
|
机器学习/深度学习 人工智能 自然语言处理
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
MarS 是微软亚洲研究院推出的金融市场模拟预测引擎,基于生成型基础模型 LMM,支持无风险环境下的交易策略测试、风险管理和市场分析。
35 8
MarS:微软开源金融市场模拟预测引擎,支持策略测试、风险管理和市场分析
|
26天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
57 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
10天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
29 11
|
12天前
|
开发框架 .NET Java
C#集合数据去重的5种方式及其性能对比测试分析
C#集合数据去重的5种方式及其性能对比测试分析
41 10
|
2月前
|
监控 算法 Java
jvm-48-java 变更导致压测应用性能下降,如何分析定位原因?
【11月更文挑战第17天】当JVM相关变更导致压测应用性能下降时,可通过检查变更内容(如JVM参数、Java版本、代码变更)、收集性能监控数据(使用JVM监控工具、应用性能监控工具、系统资源监控)、分析垃圾回收情况(GC日志分析、内存泄漏检查)、分析线程和锁(线程状态分析、锁竞争分析)及分析代码执行路径(使用代码性能分析工具、代码审查)等步骤来定位和解决问题。
|
2月前
|
并行计算 算法 测试技术
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面
C语言因高效灵活被广泛应用于软件开发。本文探讨了优化C语言程序性能的策略,涵盖算法优化、代码结构优化、内存管理优化、编译器优化、数据结构优化、并行计算优化及性能测试与分析七个方面,旨在通过综合策略提升程序性能,满足实际需求。
71 1
|
2月前
|
JavaScript 安全 编译器
TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法
本文深入探讨了 TypeScript 与 Jest 测试框架的结合使用,从 TypeScript 的测试需求出发,介绍了 Jest 的特点及其与 TypeScript 结合的优势,详细讲解了基本测试步骤、常见测试场景及异步操作测试方法,并通过实际案例展示了其在项目中的应用效果,旨在提升代码质量和开发效率。
57 6
|
2月前
|
数据库连接 Go 数据库
Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性
本文探讨了Go语言中的错误注入与防御编程。错误注入通过模拟网络故障、数据库错误等,测试系统稳定性;防御编程则强调在编码时考虑各种错误情况,确保程序健壮性。文章详细介绍了这两种技术在Go语言中的实现方法及其重要性,旨在提升软件质量和可靠性。
42 1
|
3月前
|
监控 测试技术
如何进行系统压力测试?
【10月更文挑战第11天】如何进行系统压力测试?
191 34
|
2月前
|
敏捷开发 安全 测试技术
掌握单元测试:确保代码质量的关键步骤
单元测试是确保代码质量、提升可维护性和可靠性的重要手段。本文介绍了单元测试的基本概念、重要性及最佳实践,包括测试驱动开发(TDD)、保持测试独立性、使用断言库和模拟依赖等,旨在帮助开发者掌握单元测试技巧,提高开发效率。
下一篇
开通oss服务