前言

        进行性能测试,满足真实的业务场景(活动场景)、支持大量的用户,满足商用要求。


性能测试的概念

什么是性能?

什么是性能测试?

性能测试的概念:使用自动化测试,模拟不同的场景,对软件各项性能指标进行测试和评估的过程

1.后台处理程序的性能(代码性能)
2.应用服务器、数据库、架构设计等是否存在瓶颈
3.服务器资源消耗(CPU、内存、磁盘、网路)

性能测试的目的是什么?

1.评估当前系统能力


性能测试的策略

基准测试

狭义上讲

就是单用户测试。在测试环境确定后,对于业务模型中的重要业务做单独的测试,获取单用户运行时的各项性能指标

广义上讲

是一种测量和评估软件性能指标的活动。你可以在某个时刻通过基准测试建立一个已知的性能测试基准线,当系统的软硬件环境发生变化之后再进行一次基准测试,以确定变化对性能的影响。

负载测试

为什么要进行负载测试?

电商系统平时可以正常运行,双 11 时能保证也可以正常运行吗?

概念

通过逐步增加系统负载,确定在满足系统的性能指标情况下,找出系统所能承受的最大负载量的测试。

作用

作用:系统最大负载量达到用户要求时,系统才能正式上线使用。

稳定性测试

为什么要进行稳定性测试?

例子:电商系统能抗住双 11 时的考验,能保证长时间运行不出问题吗?

概念

在服务器稳定运行(用户正常的业务负载下)的情况下进行长时间测试(1 天—1 周),并最终保证服务器能满足线上业务需求。

作用

系统在用户要求的业务负载下运行达到规定的时间时,系统才能正式上线使用。

压力测试

为什么要进行压力测试?

1.软件实际使用过程中,用户量超过预期(系统最大负载量),该如何反应?
2.软件由于意外情况出现问题,多久能恢复?

概念

在强负载下的测试,查看系统在峰值情况下是否功能隐患、系统是否具备良好的容错能力和可恢复能力

场景

并发测试

为什么要进行并发测试?

电商系统能抗住双十一的考验,能保证在秒杀活动时不出问题吗?(时间短,请求量大)

概念

是指在极短的时间内,发送多个请求,来验证服务器对于并发的处理能力。


性能测试的指标

资源利用率

概念

是指系统中各种资源的使用情况,一般用 “资源使用量 / 总的资源可用量 * 100%” 形成资源利用率的数据。

常见的资源指标

吞吐量

概念

指的是单位时间内处理客户端请求数量,直接体现软件系统的性能承载能力。

单位

每秒查询数(QPS)、每秒事务数(TPS)

响应时间

概念

指用户从客户端发起一个请求开始,到客户端接收到从服务端返回的结果,整个过程所耗费的时间。

组成

网络传输时间 + 服务器处理时间

并发数

概念

某一时刻同时向服务器发送请求的用户数。

点击数

概念

指客户端向服务端发送请求时,所有的页面资源元素(图片、链接、框架 CSS、JS 等)的请求总数量。

错误率

概念

指系统在负载情况下,失败业务的概率。错误率 =(失败业务数 / 业务总数)* 100%


性能测试的流程

1.性能测试需求分析

2.性能测试方案

谁来测?测什么?怎么测?

3.性能测试用例设计

4.性能测试执行

5.性能分析及调优

说明:性能测试分析人员经过对结果的分析之后,如果不符合性能需求,则会提出性能 bug,然后由开发人员进行后续的调优。

6.性能测试报告分析

性能测试报告是对性能测试工作的总结,为软件后续验收和交付打下基础。

测试报告的主要内容:


后记

        零基础学习测试开发到现在已经一月有余了,总体给我的感觉就是用技术进行测试,但写的代码确实比后端开发少得多。


↙↙↙阅读原文可查看相关链接,并与作者交流