一、项目经理经常安排测试工程师进行下面的工作

* 测试系统的最大并发用户数
* 测试系统8小时的最大业务吞吐量
* 测试系统的稳定性和健壮性
* 测试系统在数据达到100万条记录时的性能
* 测试系统的核心事务相应时间是否满足用户的需求
二、性能测试概念

* 是指通过模拟生产运行的业务压力或用户使用场景来测试系统的性能是否满足生产性能的要求。
* 性能测试是一种“正常”测试,主要测试使用时系统是否满足要求,同时可能为了保留系统的扩展空间而进行的一些稍稍超过“正常”范围
的测试(比如:当前系统使用用户100人,可能未来人数会增多到300人,所以要让系统能够在300人情况下正常运行)
三、负载测试

* 是通过逐步增加系统负载,测试系统性能的变化,并在满足最终确定性能指标的情况下,系统所能承受的最大负载量的测试
性能指标:是系统应该满足的,比如请求响应时间等
负载测试是正常范围的测试
四、压力测试

* 逐步增加系统负载,测试系统性能的变化,并最终确定在什么负载下系统性能处于失效状态,并以此来获得系统能提供的最大服务级别的测试
五、压力测试与负载测试两者区别
相同点:都是性能测试
负载测试强调系统正常工作情况下的性能指标
压力测试的目的是发现在什么条件下系统的性能变得不可接受,发现应用程序性能下降的拐点。

举例:工人建桥,桥身上表明,该桥的最大负重量为60吨。—负载测试
该桥的内部建筑资料中,表明该桥的最大载重量为70吨。这个数据是给内部建桥工程师掌握的。—压力测试

六、影响系统性能的主要因素

* 硬件:CPU、内存、硬盘、网卡以及其他网络设备
* 操作系统
* 网络
* 中间件(也叫应用服务器,如Jboss、websphere、weblogic等)
* 数据服务器
* 客户端
* 编程语言、程序实现方式、算法
七、性能测试的常用术语
1、并发:指多用户在同一时刻,共同执行某一操作;并发测试要求比较严格,着重考察系统的瞬间压力
在线:多用户在一段时间内对系统执行操作(是指多用户在线去循环操作某一动作)
对一般系统而言,多用户并发和多用户在线对AUT的压力是10:1,即50用户并发相当于500用户在线
2、请求响应时间

* 是指从客户端发送一个请求开始计时,到客户端接收到从服务器端返回的响应结果计时结束。
* 在一些工具中,请求响应事假通常称为TTLB(Time to last byte:从发送第一个请求开始,到客户端收到最后一个字节的响应为止所耗费的时间)
* 请求响应时间的单位一般为“秒”或“毫秒”

* 请求响应时间=客户端时间+网络时间(传输时间)+服务器时间

实际的项目测试过程中,经常将被测系统部署到内网环境,这样有充足的带宽,即可规避网络的瓶颈。(因为网络是不可控的,是运营商提供的,不可控的,注意测的是系统,而不是网络,若系统测试,最终测出是网络问题,也是无法解决的。)
* 性能测试关心两个词:请求和响应。正常的顺序是请求和应答,先发后收
3、事务响应时间
用户完成某个具体事务(如跨行取款事务)所需要的时间
性能测试初探

* 性能测试过程中,数据库中不可以为空或者条数很少,这种情况下测试不符合实际的生产情况。一定要根据系统实际的在线情况,插入足够数据(背景数据)后再进行测试
* 在性能测试之前,要对被测系统(AUT,application under test)进行备份(数据库的备份)

技术
©2020 ioDraw All rights reserved
PTA快速排序SK海力士全球首发DDR5内存:频率冲上5600MHz、容量可达256GB鸿蒙系统基于Linux打造,其本质还是安卓系统?LeetCode快速入门① ——数组系列上(面试常问,建议收藏)特征工程【评论】华为的鸿蒙系统会开源吗?ETL工具kettle与datax的对比测试案例之Oracle to Oraclespark.sql.shuffle.partitions 和 spark.default.parallelism 的区别华为鸿蒙系统能否与安卓、苹果分庭抗礼?centos7部署springboot jar包