软件测试之性能测试

前言

性能测试是一个全栈工程师/架构师必会的技能之一,只有学会性能测试,才能根据得到的测试报告进行分析,找到系统性能的瓶颈所在,而这也是优化架构设计中重要的依据。

一、性能测试

1. 什么是性能测试

性能测试就是通过特定的方式对被测试系统按照一定测试策略施加压力,获取该系统的响应时间、TPS、吞吐量、资源利用率等性能指标,来检测系统上线后能否满足用户需求的过程。

2. 性能测试的重要性

性能测试是检验我们系统性能的重要步骤,只有经过性能测试,得到对应的测试报告,才能根据报告中所呈现的现象(成功率、响应时长、TPS等)来进行分析,找出系统的瓶颈所在,优化系统的性能。

3. 性能测试的分类

  • 压力测试、负载测试、并发测试、稳定性测试

压力测试(Stress Testing):是指不断地给被测系统增加压力,直到被测系统被压垮,从而确定系统能承受的最大压力。它实际上是通过对系统不断施压,来确定系统瓶颈或不能接受用户请求的性能点,以获得系统能提供的最大服务级别。换句话说,压力测试就是为了发现什么条件下系统性能变得不可接受。

负载测试(Load Testing):通常是让被测系统在其能忍受的压力极限范围内(或临界状态下)连续运行,来测试系统的稳定性。其目的是找到系统的处理极限,为系统调优提供依据。

负载测试与压力测试的区别在于负载测试侧重于压力持续的时间,而压力测试则更加强调施加压力的大小。

并发测试是指模拟用户并发访问,测试多用户并发访问同一个应用、同一个模块或者数据记录时是否存在死锁或其他性能问题。并发测试一般没有标准,只是测试并发时会不会出现意外情况。

Tips:死锁(数据库有一个概念叫做锁的概念,一个用户访问数据了就会给数据加锁,不让其他用户进行数据访问,等我操作完了再把锁放开。死锁就是当我访问完了数据库之后没有把锁放开,这样就导致了其他用户访问不了数据,从而导致阻塞)。)

稳定性测试是指给系统加载一定的业务压力,使其稳定运行一段时间(如7×24h),测试系统在这种条件下是否能够稳定运行。

(Tips:稳定性测试场景容易发生的问题是内存溢出(指的是系统在运行的时候会占用一定的内存空间,但是内存空间运行的过程中无法释放,导致内存出现爆炸,从而使内存不能再负载之前所运行的程序)。)

未完待续~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值