软件测试之性能测试概述

随着软件测试在国内的发展,越来越多的企业开始涉及性能测试,也越来越重视测试的全面性,有相关组织调查显示,每年花费在解决软件性能问题的资金大约为 44 亿美元。如果就个人而言,一直从事手工测试显然对个人职业规划不利,而性能测试是通往高端测试人才的一个选择方面,对未来职业发展和规划更有利。

本章主要包括以下内容:

  • 性能测试概述
  • 主流性能测试工具
  • 性能测试常见术语
  • 性能测试过程
  • 性能测试实例
  • 01

    性能测试概述

    在过去几年时间中,软件开发技术迅速发展,日益成熟,但与此同时,现代应用程序的复杂性也快速膨胀。应用程序可能使用上百个单独的组件完成以前手工完成的工作。这种复杂性直接与业务流程中更多的潜在故障点相关,使分析性能问题的根本原因变得更加困难。所以传统的通过手工进行性能测试在现在变得异常困难,故需要进行性能测试自动化。

    1// 性能测试的概念

    一般来说,性能是一种指标,表明软件系统或构件对其及时性要求的符合程度;其次,性能是软件产品的一种特性,可以用时间来进行度量。性能的及时性用响应时间或吞吐量来衡量。响应时间是指服务器对请求作出响应所需要的时间。

    系统性能包括时间和空间两个维度,时间是指客户操作业务的响应时间,空间是指系统执行客户端请求时,系统资源消耗情况。客户关注的性能只是时间的表现,客户不关注是什么原因引起的性能问题,但性能测试工程师和系统工程师就必须关注系统资源使用的情况。

    性能测试是测试系统端到端(即客户端发送请求经过服务器将信息返回的过程)的性能指标,目前在系统设计阶段无法设计出一个定量性能的系统,即开发工程师无法保证设计好的系统其性能表现如何,还是得靠测试来验证性能的表现,性能测试是一系列的测试过程。在系统投入到市场之前,必须对系统的性能进行测试,否则无法确定系统的性能是否能满足客户的需求。

    2// 性能测试自动化

    手工进行性能测试存在诸多困难,如图 16-1 所示。

    消耗大量的测试资源(主要包括测试人员和测试机器的成本)。

  • 如何保证并发测试?
  • 如何收集测试结果?
  • 如何重复执行该测试?
  • 图 16-1 人工性能测试困难

    需要使用性能测试工具来代替手工测试,即性能测试自动化的过程,自动化性能测试是利用人员、流程和技术来减少应用程序部署、升级或补丁部署过程中的风险的方法。自动化性能测试的核心是将生产工作量应用到部署前的系统,同时测量系统性能和最终用户体验。

    自动化性能测试解决方案应该能够解决以下问题:

  • 模拟成百上千个用户与系统交互,而无需过多的硬件需求。
  • 测量最终用户响应时间。
  • 监控负载系统组件。
  • 高效的性能测试解决方案(即性能测试工具)通常使用四个主要组件来构建并运行测试:

  • 虚拟用户生成程序,用于将最终用户业务流程捕获到自动化脚本中。
  • 监视器,用于组织、驱动、管理和监控负载。
  • 负载生成程序,用于在执行时运行虚拟用户。
  • 分析引擎,用于查看、剖析和比较结果。
  • 结构完善的性能测试应该能够回答以下问题:

  • 应用程序对目标用户响应是否够迅速?
  • 应用程序是否能够处理预期的用户负载以及更多的负载?
  • 应用程序是否能够处理业务所需要的大量交易?
  • 应用程序在预期或非预期的用户负载下是否稳定?
  • 在投入使用时用户是否具有积极的体验(即快速响应时间)?
  • 关于“软件测试之性能测试概述”就学习到这里了,每个工作日小编都会更新一个小知识,希望大家多多关注我们,一起来学习喔!

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2021年11月17日
    下一篇 2021年11月17日

    相关推荐