美文网首页性能优化摄影
性能测试进阶(二)

性能测试进阶(二)

作者: Fox_Nick | 来源:发表于2019-11-21 11:24 被阅读0次

现在开始正式的来理解性能测试

一、性能测试基础

      什么是性能,以及忽视性能回带来怎样的结果,那么什么是性能测试呢?

1)性能测试的概念

     性能测试是系统测试的一种,作为一位系统测试工程师,需要通过“系统”的视角来分析被测试系统,分析包含如下几点
     功能测试:某个功能点

      性能测试:整个系统,包括软件和硬件

      在软件质量模型中,性能测试属于效率这一类。先了解这句话涉及的两个概念。

      质量模型:一组特性及特性之间的关系,它提供规定质量需求和评价质量的基础。

      软件效率:在规定条件下,相对于所用资源的数量,软件产品可提供适当的性能的能力。其中资源可能包含其他软件的产品、系统的软件和硬件配置,以及物质材料(如打印纸、磁盘等)。

      衡量一个软件的性能,需要从软件效率的以下3点考虑:

      a.时间特性。在规定条件下,软件产品执行其功能时提供适当的响应和处理时间以及吞吐率的能力。

      b.资源利用性。在规定条件下,软件产品执行其功能时,使用合适数量和类别的资源能力。

      c.效率性。软件产品遵循与效率相关的标准或约定的能力。而性能测试的定义:在一定的负载情况下,系统的响应时间等特性是否满足特定的性能需求。从某些角度来讲,性能其实是功能的一种。

2)性能测试的分类

      性能测试的方法很多,,从使用方便的角度来说,性能测试可分为6种;

      a.负载测试(Load Testing)

         负载测试是指一定的软件、硬件及网络环境下,运行一种或多种业务,在不同虚拟用户数量的情况下,测试服务器的性能指标是否在用户的要求范围内,以此确定系统所能承载的最大用户数、最大有效用户数,以及不同用户数下的系统响应时间及服务器的资源利用率。

         负载强调的是在一定的环境下系统能够达到的峰值指标,大多数的性能测试都是负载测试。

      b.压力测试(Stress Testing)

          压力测试是指在一定的软件、硬件及网络环境下,模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态下并长时间连续运行,以测试服务器在高负载情况下是否能稳定工作,与负载测试获得峰值性能数据不同,压力测试强调在极端情况下系统的稳定性,此时处理能力已经不重要了。

      c.容量测试(Volume Testing)

         容量测试是指在一定的软件、硬件及网络环境下,在数据库中构造不同数量级别的数据记录,在一定虚拟用户数量的情况西安运行一种或多种业务,获取不同数量级别的服务器性能指标,以确定数据库的最佳容量和最大容量,容量测试不仅可以对数据库进行,还可以对硬件处理能力,各种服务器的连接能力等进行,以此来测试系统在不同容量级别下是否能达到指定的性能。

      d.配置测试(Configuration Testing)

         配置测试是指在不同的软件、硬件及网络环境配置下,运行一种或多种业务,在一定的虚拟用户数量情况下,或者不同配置的性能指标,用于选择最佳的设备及参数配置。通过产生不同的配置来得到系统性能的变化状况。

      e.基准测试(Benchmark Testing)

         基准测试是指在一定的软件、硬件及网络环境下,模拟一定数量的虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或系统评测的过程中,通过运行相同的业务场景比较测试结果,确定调优的结果是否达到预期效果或者为系统的选择提供决策数据。

        基准测试一般基于配置测试,通过配置测试得到数据,并将这个数据作为基准来比较每次调优后的性能是否有所改善。

       f.并发测试(Concurrency Testing)

          并发测试是通过mini多个用户并发访问同一个应用、存储过程或数据记录及其他并发操作,来测试是否存在死锁、数据错误等故障。为了避免数据库或函数方法在并发下的错误,需要专门针对每个模块进行并发测试。

 3)性能测试进行的时间

性能测试的进行时间

       a.编码阶段(压力/并发)

          在编码阶段,当每个函数、方法、存储过程被开发出来并通过单元测试后,都应该进行压力和并发测试,确认接口和被测对象能否健壮低处理极端情况,并且能否正确处理并发请求。

       b.编码-测试(容量测试)

           在系统编码完成时,应该及时进行容量测试,确认系统能否满足在指定容量下的性能需求,并具备足够的软/硬伸缩性。

       c.测试阶段(负载/配置/基准)

           在进入测试阶段之后,确保功能正确实现后需要进行负载测试,得到系统在当前硬件及软件环境下的性能指标(响应时间、 吞吐量、资源利用率),进一步形成性能数据基准,然后通过配置测试进行性能瓶颈的定位和优化。

           在负载测试后可以得到系统的性能,如结果满足用户需求,则可以考虑结束性能测试,也可以考虑进一步进行配置和基准测试,定位系统中的性能瓶颈,并进一步的优化。

相关文章

  • 性能测试进阶(二)

    现在开始正式的来理解性能测试 一、性能测试基础 什么是性能,以及忽视性能回带来怎样的结果,那么什么是性能测试...

  • 性能测试进阶,当前最主流的两种性能测试

    性能测试进阶,当前最主流的两种性能测试 相信我们进行性能测试的时候,都遇到过这样的问题: 1、你的性能测试方案是什...

  • 如何去学习,一份认证,一本书,还是一堂课?

    介绍:TestOps云层简介:全栈测试、TestOps测试运维开拓者。著有《性能测试进阶指南-loadrunner...

  • 软件测试的进阶之路

    系统知识储备 功能测试学习路线 自动化测试学习路线 性能测试学习路线 安全测试学习路线 测试进阶学习方向

  • 性能测试进阶(一)

    软件测试逐渐成为软件开发过程中的一个必不可少的环节,随着功能测试的必要性被认可,自动化测试和性能测试也逐渐崭露头角...

  • 性能测试进阶(三)

    前面我们了解了什么是性能,忽视性能会带来什么结果,以及什么是性能测试,那么性能测试到底要测什么内容呢? 性能指标 ...

  • 性能测试简述

    一、 性能测试目的:发现性能瓶颈; 二、 性能测试分类: 1、 负载测试:通过逐步加压的方式,达到既定...

  • 性能测试进阶(三)——使用jmeter+ant进行接口集成性能自

    此前的性能测试进阶文章中内容提到,近期我已经成功完成分布式的性能测试、单机输出报告等操作。与此同时,最近利用JMe...

  • 2017-12-29性能测试总结---基础理论篇

    目录:一、 什么是软件性能二、不同群体眼中的性能三、性能测试类型四、性能测试应用场景五、性能测试基本概念六、理发店...

  • 性能测试基础知识

    一、性能测试的目的 发现性能瓶颈性能 二、测试概念 性能测试是一个非常广泛的概念,包括很多发面的测试,也被称为非功...

网友评论

    本文标题:性能测试进阶(二)

    本文链接:https://www.haomeiwen.com/subject/cdniectx.html