性能测试从零开始——LoadRunner入门(五)[1] 性能测试工具
1.2 软件性能测试
在上一节中,我们知道软件系统的性能问题多种多样,这给用户带来巨大的风险,那么我们如何能够在软件系统上线之前,找出软件中潜在的性能问题呢?目前软件性能测试是发现软件性能问题最有效的手段,而完备有效的性能测试是最关键的,在本节中我们将从流程和技术的角度解析如何构建一个高效的性能测试模型。
1.2.1 性能测试在软件测试的周期位置
首先,软件性能测试属于软件测试范畴,存在于软件测试的生命周期中。一个软件的生产过程通常遵循V型图,如图1-3所示。
图1-3 软件开发-测试V型图
在通常的软件生产周期中,先由用户提出用户需求或经系统分析核定以后提出系统需求,开发人员再经过需求分析提出软件需求规格说明,进行概要设计,提出概要设计说明,进行详细设计,提出详细设计说明,最后就是对每个模块进行编码。到测试阶段,测试按照开发过程逐阶段进行验证并分步实施,体现了从局部到整体、从低层到高层逐层验证系统的思想。对应软件开发过程,软件测试步骤分为代码审查、单元测试、集成测试、系统测试。
而性能测试就属于软件系统级测试,其最终目的是验证用户的性能需求是否达到,在这个目标下,性能测试还常常用来做:
(1)识别系统瓶颈和产生瓶颈的原因;
(2)最优化和调整平台的配置(包括硬件和软件)来达到最高的性能; 软件测试
(3)判断一个新的模块是否对整个系统的性能有影响。
提示:系统瓶颈:
瓶颈本来是指玻璃瓶中直径较小并影响流水速度的一段,用它来比喻软件系统中出现性能问题的节点是很形象的,比如一个典型的分布式系统架构如图1-4所示。
图1-4 软件系统压力流动图
如果把软件系统看做是交通系统,那么网络就是一条条大道,客户端、防火墙、负载均衡器、Web服务器、应用服务器(中间件)、数据库等各个系统节点就是交通要塞,客户的请求和数据就像在道路上行驶的车辆,如果在某处发生堵车,那么整个交通系统都会不畅。在这个时候,我们就要分析是哪里出了问题,是道路不够宽,还是某处立交桥设计不合理而引起堵塞等。找到问题的关键点,那么此关键点就是本系统的瓶颈。软件系统也是如此,我们做性能测试的大部分工作都是为了寻找这个瓶颈到底在何处。