性能测试基础理论

什么是性能测试

01生活中遇到的软件性能问题

10月20晚,淘宝崩了,给客服发消息发不出去;2022.3.24抖音崩了,视频无法正常播放。

02性能测试定义

测试人员借助性能测试工具,模拟系统在不同场景下,对应的性能指标是否达到预期。

03性能测试和功能测试有什么区别

功能测试:依靠人工执行

性能测试:依靠工具完成

功能测试:软件是否实现了需求。不管是在什么场景下,只要能够正常运行即可。

性能测试:软件在一些极端的情况下,是不是能够正常运行

04什么样的表现属于软件性能好的表现,什么样的表现属于软件性能不好的表现

性能测试基础理论_第1张图片

软件1:登录需要花费3s时间

软件2:需要花费3ms时间 

性能测试基础理论_第2张图片

DAU:day active user => 日活跃用户数 

05影响一个软件性能的因素

硬件:服务器CPU利用率,内存,磁盘操作频繁,CPU核心数,带宽

软件:算法,编程语言

  • 资源泄露,包括内存泄漏
  • CPU使用率达到100%,系统被锁定等
  • 线程死锁,阻塞等造成系统越来越慢
  • 查询速度慢,或者列表的效率第
  • 受外部系统影响越来越大

用户:用户数量,用户使用时长,用户访问频率

为什么做性能测试

  • 获取系统性能的指标,作为性能指标的基准
  • 验证系统的性能指标是否达到要求(性能需求)

        应用程序是否能够满足系统要求的各种性能指标

        应用程序是否能处理预期的用户负载并有盈余能力

        应用程序是否能处理业务所需要的事务数量

        在预期和非预期的用户负载下,应用程序是否稳定

        是否能确保用户在真正使用软件时获得舒服的体验

  • 发现系统的性能瓶颈,内存泄漏等问题。
  • 系统正常工作的情况下的最大容量。
  • 帮助系统运维部门能更好的规划硬件配置

性能测试常见术语以及性能测试衡量指标

1、并发

大量用户,同时访问

业务层面的并发用户数:指的是同时向服务器发送请求的用户数量。

后端服务器层面的并发用户数:指的是同时向服务器发送请求的请求数量。

2、用户数

系统用户数:系统注册的用户

在线用户数:成功登录系统用户数

并发用户数:大量用户访问系统,此时访问的用户数,就是并发用户数

系统用户数  1;  在线用户数  2;   并发用户数  3       

1》2》3

3、响应时间

1)用户响应时间性能测试基础理论_第3张图片

                                N1+A1+N2+A2+N3+A3+N4 

2)请求响应时间

服务器收到请求到发出响应这段时间是请求响应时间

A1+N2+A2+N3+A3

3)影响一个软件响应时间的因素有哪些 

数据库性能、网络带宽、服务器处理性能,软件算法,逻辑,用户设备

4)事务响应时间

美团点餐

订单->支付->权益(用户是否是会员)……

5)每秒事务通过数量

处理的事务数量/事务花费的时间

每秒事务通过的数量越多自然而然说明软件性能越好

6)点击量

用户点击数量

7)点击率

点击量 / 时间

8)吞吐量

用户一次请求和服务器之间的数据交互量

9)吞吐率

吞吐量 / 时间;吞吐率越高,性能越好

10)思考时间

用户在对软件进行操作的时候,每一个操作中间间隔时间

11)资源利用率

不同系统资源的使用情况,包括CPU、内存、硬盘、网络

问题:了解性能测试,那么你说下你做测试的时候,关注哪些指标

性能分类

01基准性能测试定义

    让系统在正常情况下运行,观察软件性能指标

应用场景

   软件刚上线需要进行性能摸底

02负载性能测试

验证软件在一定的压力情况下运行,观察性能指标是否出现了拐点

03压力性能测试

系统处于一个饱和的情况下,观察系统性能指标

往往会把系统搞崩溃

04可靠性测试

验证系统在一个持续的时间段内运行,在这个运行时间段,观察系统各项性能是否正常

持续1day -》持续运行一周 -》持续运行1个月 -》 一个季度 -》 一年

性能测试执行流程

先回顾一下功能测试流程:需求分析-》测试计划-》测试设计-》测试执行-》测试评估(测试报告)-》上线

性能测试流程:需求分析-》测试计划-》选择一款性能测试工具-》性能测试脚本编写-》执行性能测试脚本-》产出一个性能测试报告

性能测试出现了不符合预期的情况,我们不叫它bug,他叫性能瓶颈

在性能测试中,出现了性能瓶颈,开发修复的过程,叫它优化

eg:基准性能测试

需求分析:摸底page接口可以容纳的用户数量

工具:Loadrunner,针对需求编写脚本性能测试基础理论_第4张图片

你可能感兴趣的:(测试用例,java)