性能测试方法讨论
性能测试(Performance php?name=Test">Testing):
原文摘要:性能测试方法是通过模拟生产运行的业务压力量和使用场景组合,测试系统的性能是否满足生成性能要求。即在特定的运行条件下验证系统的能力状况。
个人理解:主要强调在固定的软硬件环境、确定的测试业务场景下,其主要意义是获得系统的性能指标。通常用于项目中,应客户需求针对客户的应用环境进行性能测试以获得在该确定环境下的性能情况。
负载测试(Load Testing):
原文摘要:在给定的测试环境下,通过在被测系统上不断增加压力,直到性能指标超过预定指标或某种资源使用已经达到饱和状态,目的是了解系统性能容量和处理能力极限。
个人理解:也可以理解为扩展性测试(Scalability Testing)。先确定系统的瓶颈或不能接受的性能点,在固定测试环境中,在其它测试角度不变的情况下,变化一个测试角度并持续增加压力,查看系统的性能曲线和系统能够提供的最大服务级别,以及是否有性能瓶颈存在(拐点)。一般是软件开发商进行的测试,主要意义是从多个测试角度去探测分析系统的性能变化情况,配合性能调优。测试角度可以是并发用户数、业务量、数据量等。
压力测试(Stress Testing):
原文摘要:测试系统在一定饱和状态下系统能够处理的会话能力,以及是否出现错误,一般用于稳定性测试。
个人理解:可以理解为资源的极限测试。测试关注在资源处于饱和或超负荷的情况下,系统能否正常运行,是一种在极端压力下的稳定性测试。其主要意义是通过测试调优保证系统即使在极端的压力情况下也不会出错甚至系统崩溃。
配置测试(Configuration Testing):
原文摘要:通过对被测系统的软硬件环境的调整,了解各种不同环境对性能影响的程度,从而找到系统各项资源的最有分配原则。
个人理解:主要用于性能调优,在经过测试获得了基准测试数据后,进行环境调整(包括硬件配置、网络、操作系统、应用服务器、数据库等),再将测试结果与基准数据进行对比,判断调整是否达到最佳状态。
并发测试(Concurrency Testing):
原文摘要:模拟并发访问,测试多用户并发访问同一个应用、模块、数据时是否产生隐藏的并发问题,如内存泄漏、线程锁、资源争用问题。
个人理解:测试目的并非为了获得性能指标,而是为了发现并发引起的问题。
可靠性测试(Reliability Testing):
原文摘要:通过给系统加载一定的业务压力的情况下,让应用持续运行一段时间,测试系统在这种条件下是否能够稳定运行。
个人理解:需要和压力测试区分开,两者的测试环境和测试目的不一样。压力测试强调在资源极限情况下系统是否出错,可靠性测试强调在一定的业务压力下长时间(如24×7)运行系统,关注系统的运行情况(如资源使用率是否逐渐增加、响应是否是否越来越慢),是否有不稳定征兆。
文章来源于领测软件测试网 https://www.ltesting.net/