软件质量模型
软件质量模型是衡量软件整体质量效果的度量标准
常见的软件质量模型是: ISO系列软件质量模型系列
一个完整的软件质量模型:
- 包括从产品角度出发的内部
- 外部质量模型
- 用户角度出发的使用质量模型
软件性能
软件质量模型中的效率特性即为软件的性能 其中包含时间特性,资源特性
- 时间特性指客户请求响应的时间
- 资源特性指的是在性能测试过程中,系统资源消耗的情况系统资源(处理器(cpu),内存,磁盘等等
关注软件性能的主要三类人:
- 用户:用户关注响应时间
- 系统管理员/性能测试工程师:关注系统资源使用情况,硬件资源的可扩展性/规划性能部分、
- 软件开发工程师:除了关注以上特性,软件开发工程师还关注关注泄露,数据库出现死锁,中间件以及应用服务器
性能测试相关专业术语
响应时间
从应用系统发出请求开始到用户接受到所有数据所花费的时间
并发用户数
同一时刻用户与服务器进行数据交互的所有用户数量。(在线用户不一定是并发用户)
一般参考以下方法确定性能测试时的并发用户数:
- 1.参考其他同类产品
- 2.分析历史数据
- 3.上线试运行
吞吐量
单位时间内服务器处理的字节数,单位为字节/秒 (直接体现服务器的承载能力)
F=VU * R / T
F为吞吐量,
VU表示虚拟用户个数,
R表示每个虚拟用户发出的请求数,
T表示性能测试所用的时间
注意:如果性能遇到瓶颈,那么这个公式就不再适用
在实际测试过程中,测试前吞吐量不知道,只有不断添加虚拟用户来不断测试,找到吞吐量拐点,即服务吞吐量最大值
吞吐率
指单位时间内从服务器返回的字节数/单位时间内服务器处理客户提交的请求书,是衡量 络性能的重要指标,吞吐率越大,系统负载能力越强。
TPS
表示服务器每秒处理的事务所数,是衡量系统处理能力的重要指标,tps值越大,说明服务器处理能力越强
点击率
指每秒钟用户向服务器提交的HTTP数量
注意:单击一次都会向服务器发送多个HTTP请求,点击率仅仅反映客户端提交的请求数,不能表示服务器当前承受的压力,因为客户端提交的请求,服务器并不会全部处理。有可能拒绝处理
资源利用率
服务器系统中硬件资源被利用的程度,包含cpu,内存,磁盘, 络利用率等等。
性能计数器
描述服务器或操作系统性能的一些数据指标。包含性操作系统性能计数器,数据库计数器,应用服务器计数器
思考时间
也称为休眠时间。指用户在进行操作时,每个请求之间的时间间隔,在测试脚本时,思考时间为脚本中两条请求之间的间隔时间
性能测试的划分
负载测试(Lord Testing)
通过对被测系统不断加压,直到超过预定指标或者部分资源达到饱和。该方法主要是找到系统最大负载能力,为性能调优提供数据:
目的:找到系统最大负载能力
环境:该方法需要在特定环境下进行测试
手段:不断对系统加压,直到系统中部分资源达到极限
压力测试( Stress Testing)
指系统已经达到一定的饱和程度( 如CPU、磁盘等已经处于饱和状态),此时测试系统处理业务的能力,以及系统是否会出现错误。
疲劳测试是压力测试的一种表现形式。例如,一个人很累了,但还在持续不停地工作。该测试方法有以下几个特点:
目的:测试在系统已经达到一定的饱和程度时,系统处理业务的能力。
手段:使用模拟负载等方法,使系统达到一个较高的水平
该方法一般用于系统稳定性测试。
配置测试(Configuration Testing)
通过调整系统软/硬件环境,了解各种不同环境对系统性能的影响,从而找到系统的最优配置。
该测试方法有以下几个特点:
目的:通过调整环境了解不同因素对系统性能的影响情况,从而找到调优的方法。
手段:通过调整系统软/硬件环境,使系统在不同环境下进行性能测试。
该方法一般用于系统调优和规划能力。
并发测试(Concurrency Testing)
通过模拟用户并发访问,测试多用户同时访问同一应用模块或数据,观察系统是否存在死锁、系统处理速度是否明显下降等其他的一些性能问题。该测试方法有以下几个特点:
目的:当多用户并发访问时,系统是否存在一 些可能的并发问题。
手段:模拟多用户同时并发操作。
可靠性测试(Reliability Testing)
当系统在一定的业务压力 下,让系统持续运行一段时间,观察系统是否达到要求的稳定性,此处强调在一定业务 压力下持续运行的能力,可靠性测试必须给出一个明确的要求,如系统能够持续无故障运行多少天。
该测试方法有以下几个特点:
目的:测试系统在一 定的业务压力下,系统可持续运行的时间。
环境:指明系统在一定的业务压力环境下持续运行。
测试过程中要关注系统运行的情况。
基准测试
在一定的软件、硬件及 络环境下,模拟一定数量虚拟用户运行一种或多种业务,将测试结果作为基线数据,在系统调优或者系统评测过程中,通过运行相同的业务场景并比较测试结果,确定调优是否达到效果或者为系统的选择提供决策数据
准测试主要包括两个目的:
1)度量改善性能测试的情况。
2)测试并且调优保证系统达到性能要求或服务协议要求,在这个测试过程中,基准测试与性能测试的每次迭代配合,以确定调优的情况。
各类测试的执行阶段(如下图)
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!