你看,如标题所示,测试可以分为这么多种。实际上,这只是一种性能测试的分类。按照不同的标准,还可以有别的划分。
1、按开发阶段:单元测试、集成测试、系统测试、验收测试
2、按测试实施组织:α测试(开发方)、β测试(用户方)、第三方测试
3、按测试执行方式:静态测试、动态测试
4、按是否查看代码:黑盒测试、白盒测试、灰盒测试
5、按是否手工执行划分:手工测试、自动化测试
6、按测试对象划分:性能测试、安全测试、兼容性测试、文档测试、易用性测试(用户体验测试)、业务测试、界面测试、安装测试
7、按测试地域划分:本地化测试、国际化测试
现在来说说这个性能测试。
性能测试是一个总称,可细分为性能测试、负载测试、压力测试、稳定性测试。
一、性能测试
1、性能测试
以系统设计的性能指标为预期目标,对系统不断施加压力,验证系统在资源可接受范围内,是否能达到性能预期。
2、负载测试
对系统不断地增加并发请求以增加系统压力,直到系统的某项或多项指标达到安全临界值。如某种资源已经饱和,继续加大压力,系统处理能力不升反降。
3、压力测试
超过安全负载的情况下,对系统继续施加压力,直到系统崩溃或不能再处理任何请求,以此获得系统最大压力承受能力。
4、稳定性测试
被测试系统在特定硬件、软件、网络环境条件下,给系统加载一定业务压力,使系统运行一段较长时间,以此检测系统是否稳定。稳定性测试应该模拟生产环境,不均匀地对系统施加压力。
性能测试是一个不断对系统增加访问压力,以获得系统性能指标、最大负载能力、最大压力承受能力的过程。
二、强度测试
5、强度测试
有说法称强度测试就是压力测试,不过可能不够准确。强度测试检查程序对异常情况的抵抗能力;是检查系统在极限状态下运行的时候性能下降的幅度是否在允许的范围内。
这个强度,既可以是超负荷的压力,也可以是资源不足够的考验:为了确定系统在最差工作环境的工作能力,或验证标准工作压力下的各种资源的最下限指标。(非标准工作环境下,人为降低工作环境资源,如网络带宽、系统内存、数据锁等,以测试系统在资源不足的情况下的工作状态。通过强度测试,可以确定本系统正常工作的最差环境.)
强度测试是一种特别重要的测试,对系统的稳定性,以及系统未来的扩展空间均具有重要的意义。在这种异常条件进行的测试,更容易发现系统是否稳定以及性能是否容易扩展。
疲劳强度测试是一类特殊的强度测试,主要测试系统长时间运行后的性能表现,例如7x24小时的压力测试。
看上去,强度测试 = 压力测试 + 下限测试 + 稳定性测试
三、性能指标
1、响应时间
执行一个操作需要的时间,从发出请求到最后响应所需要的时间。
2、并发数
系统能够同时处理的请求的数目。对于网站而言,并发数就是网站并发用户数,即同时提交请求的用户数目。
网站用户数 >> 用户在线数 >> 网站并发用户数
3、吞吐量
单位时间内系统处理的请求数量。体现系统的整体处理能力。
4、性能计数器
描述服务器或操作性能的一些数据指标。如:
System Load
对象与线程数
内存使用
CPU使用
磁盘与网路IO 等