我最近在项目中兼任项目测试组长角色,这次项目中负责性能测试的QA组长调走了,只好由我硬着头皮顶上去。在这段日子里,使我对性能测试有了新的认识,性能测试绝不象大多数人认为的是一件简单的事情。目前,性能测试已跨越了单靠手工敲敲键盘、点点鼠标就可以完成的阶段,正朝着自动化和智能化方向发展。
性能测试的重要性随着网络发展更凸显重要性,由于网络环境、数据库环境、应用服务器环境、系统平台和技术等的复杂性和多样性,难以预知的用户负载和愈来愈复杂的应用程序使软件性能非常难于控制。虽然,改善系统性能不是单单依靠性能测试就能完成的,但性能测试至今仍是控制性能有效的手段。
什么是性能测试
性能测试主要是通过自动化的测试工具模拟多种正常、峰值及异常负载来对系统的各项性能指标进行测试。一般来说,性能测试可概括为三个方面:在客户端性能的测试、在网络上性能的测试和在服务器端性能的测试。通常情况下,三方面有效的结合可以达到对系统性能全面的分析和瓶颈的预测。
性能测试的基本策略是自动负载和压力测试。通过在一台或几台PC机上模拟成百上千的虚拟用户同时执行业务的情景,对应用程序进行测试,同时记录下每一事务处理的时间、服务器峰值数据、数据库状态等。它主要包括并发性能测试、疲劳强度测试、大数据量测试和速度测试等,其中并发性能测试是重点。
(1)并发性能测试
并发性能测试是一个负载测试和压力测试的过程,即逐渐增加负载,直到系统出现瓶颈或者不能接收更多负载,通过综合分析执行指标和资源监控指标来确定系统并发性能的过程。例如当负载压力逐渐增加时,通过检测系统的相应输出如通过量、响应时间、CPU负载、内存使用等来决定系统的性能。
并发性能测试一般不采用手工方式,而是利用工具采用自动化方式进行。在测试时常常需要模拟真实环境测试,以考察在真实环境中的表现,这样测试出来的数据才有实际意义。目前,成熟的并发性能测试工具有很多,选择的依据主要是测试需求和性能价格比。
(2)疲劳强度测试
疲劳测试是采用系统稳定运行情况下能够支持的最大并发用户数,持续执行业务一段时间,通过综合分析执行指标和资源监控指标来确定系统处理最大工作量强度性能的过程。软件测试
疲劳强度测试可以采用工具自动化的方式进行测试,也可以手工编写程序测试,其中后者占的比例较大。一般情况是以服务器能够正常稳定响应请求的最大并发用户数进行一定时间的疲劳测试,获取执行指标数据和系统资源监控数据。如出现错误导致测试不能成功执行,则及时调整测试指标,例如降低用户数、缩短测试周期等。还有一种情况的疲劳测试是对当前系统性能的评估,用系统正常业务情况下并发用户数为基础,进行一定时间的疲劳测试。
文章来源于领测软件测试网 https://www.ltesting.net/