最近在学习性能测试,整理了下一些知识点。数据库
首先从ISO9216质量模型切入,这个模型展现了去完整测评一个软件的时候,须要从哪些维度去考虑。以下图所示,通常须要从功能性、可靠性、易用性、效率、维护性、可移植性这6个维度去测评。软件的性能测试就是从效率这一维度去测评软件。服务器
简单的对效率这一维度里的内容进行解读:网络
那么,给出性能测试的定义:并发
观察系统在一个给定的环境和场景中的性能表现是否与预期目标一致,评判系统是否存在性能缺陷,并根据测试结果识别性能瓶颈,改善系统性能的完整的过程。
在定义里,须要特别关注标红的部分,在描述性能测试时,须要基于给定的环境和场景。给定的环境涉及: 硬件服务器、操做系统、网络、数据库、Web服务器、应用服务器。场景就是指用户如何使用。性能
在作性能测试时,目标是不少的,针对不一样的目标就会采用不一样的测试策略。学习
在必定的软件、硬件及网络环境下,经过改变负载方式、增长负载等来发现系统中所存在的性能问题。
这种测试主要用于肯定系统所能承载的最大用户数(系统不崩溃),最佳用户数(用户体验最好,系统能支撑的最大的数量)。和在不一样用户数(常见用户数)下的系统响应时间及服务器的资源利用率。测试
在必定的软硬件及网络环境下,经过模拟大量的虚拟用户向服务器产生负载,使服务器的资源处于极限状态(超出能力范围)下长时间连续运行。
目的测试服务器在高负载状况下是否可以稳定工做,找出系统最薄弱环节。而后能够进行正对性优化。优化
经过模拟多个用户并发访问同一个应用、同一存储过程或数据记录以及其余并发操做。
测试是否存在死锁、数据错误等故障。并发抢资源很容易发生问题。spa
在必定的软件、硬件及网络环境下,模拟必定数量虚拟用户运行一种或者多种业务,长时间的运行(7*24)系统。
目的是检测系统在长时间运行下的稳定性和性能指标是否符合预期。能够发现资源泄露这类问题。操作系统