性能测试基础
一、性能测试的每个阶段


二、性能测试的难点
(1)需求分析
(2)场景设计
(3)性能诊断调优
(4)环境搭建和模拟
三、不同视角看性能
黑盒/用户视角:
用户视角最多关注的是响应时间,也就是数据流向服务器,服务器返回的时间。
整体链路为:用户操作界面-----数据经过网络发送请求------服务端接收处理----DB端获取数据-----服务端处理返回----前端接收展示
研发视角:
(1)架构合理性
(2)数据库设计
(3)内存使用方式
(4)线程使用方式
(5)防止系统的资源恶性竞争
(6)业务逻辑不正确引发性能问题
运维视角
(1)硬件资源利用率
(2)JVM(JAVA虚拟机)
(3)DB
(4)扩展性、兼容性、最大容量、系统瓶颈
(5)系统7*24小时稳定性
测试视角

四、性能测试基础名词
内存泄露:
指程序中已动态分配的堆内存由于某种原因程序未释放或无法释放,造成系统内存的浪费,导致程序运行速度减慢甚至系统崩溃等严重后果。
内存溢出:
是指应用系统中存在无法回收的内存或使用的内存过多,最终使得程序运行要用到的内存大于能提供的最大内存。
举例1:幼儿园班里有十个杯子给几十个小朋友装牛奶喝,小朋友用完杯子后要放回去清洗后给后面的小朋友用,但有个小朋友不听话,用完杯子后丢垃圾桶去了, 这样小朋友轮流喝完牛奶的速度就变慢了(内存泄露), 甚至如果刚好一共有十个小朋友都不听话把杯子扔了,那后面的小朋友就喝不到牛奶了,这个“系统“就崩溃掉了(内存溢出)。
死锁:
死锁是指两个或两个以上的进程在执行过程中,由于竞争资源或者由于彼此通信而造成的一种阻塞的现象,若无外力作用,它们都将无法推进下去。此时称系统处于死锁状态或系统产生了死锁, 这些永远在互相等待的进程称为死锁进程。
举例:小明和小刚打架,两人互相掐着对方的脖子,都各自喊着你先放,但都不认输都不肯放,那就死锁了- -!
房间里面只有一间浴室一个小音箱,小明在洗澡,小刚在用小音箱听歌,小明想一边洗澡一边听歌,小刚不给,小刚也想一边洗澡一边听歌,小明不让进,那就又死锁了- -!
吞吐量:
处理能力又叫吞吐量,指的是单位时间内处理的客户端请求数量。
举例:小明开了家快餐店,这家快餐店在16点-20点这个时间段一共接纳了2000个客户。
绝对并发:
多个用户同时做同一个操作。目的主要是考察系统运行过程中处理“死锁”、“资源争用”的能力。
举例:长城的宽度允许我和我的小伙伴五个人肩并肩一起走过去,但最佳第六人小明表示他也要并肩一起走,于是他被挤下去了- -!
相对并发:
多个用户同时做同一个操作。但这个同时不一定要在同一秒钟,可以理解为同一个时间段内做了同一个操作。
举例:在国庆期间,我和我的5个小伙伴在长城畅通无阻地溜达了一圈。
稳定性测试:
程序持续正确运行的周期长度。(时间范围内的运行稳定)
举例:买了个保温杯,天天使用它的情况下用了十年还没坏

浙公网安备 33010602011771号