性能测试概述和性能指标

1、性能测试
  定义:测试系统在一定的负荷压力下,系统的响应时间、吞吐量、稳定性、可扩展性等性能指标
  职责:结合架构和实现细节找出问题,并最终确认问题得到解决的过程

2、性能测试的目的
  根据目的进行性能测试
  瓶颈(性能) = 问题 = 缺陷 = bug = 弱点(安全)
  基本目的:
    验证是否达到客户的性能指标
    发现软件中的瓶颈并优化
  评估系统的能力:
    测试中得到的负荷和响应时间数据,用于验证所计划的能力
    帮助做出决策
  识别体系中的弱点:
    受控的负荷可以被增加到一个极端水平,并突破它
    修复体系的瓶颈或者薄弱的地方
  系统调优:
    重复运行测试,验证调整系统的活动是否得到了预期的结果
    改进性能。如:长时间的测试执行可能导致内存泄漏
  验证稳定性:
    在一定生产负荷下执行测试一定时间,评估系统稳定性和可靠性能否满足需求

3、不同角度的性能测试
  用户:
    响应时间、稳定性
  管理员:
    资源利用率、可扩展性、系统容量、稳定性
  开发:
    架构、数据库、代码、算法
  测试:
    性能应该全面
    包括用户、并发、管理员等各个视角的性能
    关注本质

3、性能测试前提
  功能:OK。如果有验证码,需要把验证码去掉。
  数据量:与真实环境相当
  性能测试计划评审通过

4、性能测试的注意事项
  评估系统的可行性
    评估系统的性能指标(有时候没有明确指标,把自己想法和领导沟通)
    比较多个不同系统或是不同系统配置时的性能特征
    找出系统性能问题并确定问题根源
  做系统性能优化
    找出系统吞吐量的不同等级

5、项目验收的时候不需要找性能瓶颈,只需要满足客户需求

6、性能测试与项目
  项目的总体愿景或者目的是什么
  性能测试的目的是什么
  性能测试的成功标准是什么
  产品开发的生命周期
  项目进度规划
  项目预算
  项目中可用的工具和环境
  测试人员和团队的技能
  对性能方面,担心的一些点的优先级
  部署性能差的系统带来的商业影响

7、性能测试指标概念
  响应时间:
    对请求做出响应需要的时间,是用户感知软件性能的主要指标
    apdex指标
  响应时间包括:
    客户端呈现时间 —- 浏览器有关 –性能测试过程中,这部分时间不用管。如果是开发浏览器或者浏览器产品,则需要关注
    请求\响应数据网络传输时间 —- 网络条件
    应用服务器处理时间
    数据库系统处理时间
    响应时间多少合理
    2S(非常好),5S(可以接受),8S(客户能接受的响应上限)
  用户数:
    系统用户:软件系统注册的用户总数
    在线用户:某段时间内访问的用户数,这些用户只是在线,不一定同时做某一件事情。在线不干事,也会消耗资源(内存)
    并发用户:某段时间内同时向系统提交请求的用户数。场景不一定是同一个。网络、CPU….

  并发:用于从业务角度模拟真实用户同时访问
    并发数:同时访问系统的用户数。 通常在工作中说的并发就是等同于并发数
    在C/S和B/S的应用,系统的性能主要由服务器决定。服务器在大量用户同时访问时,压力最大
    并发分为:严格并发、广义并发:在线用户数
  在确定并发用户数之前,必须先对用户的业务进行分解,分析出其中典型的业务场景(最常用、最关注的业务操作),然后基于场景获得并发用户数
  常见场景:访问网站首页、登录功能、核心业务、个人中心
  并发数确认满足二八原理

  吞吐量:TPS
    单位时间内系统处理的业务请求数。可以用:请求数/秒、页面数/秒、人数/天、处理业务数/小时、字节/秒…来衡量
    对交互式应用来说,吞吐量指标反映的是服务器承受的压力,体现系统的负载能力
    TPS:每秒事务数
    相应时间越短,吞吐量越大
    吞吐量计算:F=UV*R/T F:吞吐量,UV:虚拟用户数(并发数),R:每个虚拟用户发出的请求数,T:性能测试使用的时间
  性能计数器:
    描述服务器或操作系统性能的一些数据。如:内存、CPU、磁盘等资源使用率
    思考时间:每个请求之间的时间间隔

Q:如何对项目进行测试
1、项目流程
2、软件测试维度:功能、性能、易用性、稳定性、可维护性、移植性

 

版权声明:本文为nangongqi原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/nangongqi/p/14307435.html