1.1 性能测试的标准依据
随着计算机技术的日益发展与普及,软件已经渗透了社会的每一个“细胞”,它的影响力覆盖了人们生活的方方面面,而软件性能质量出现问题导致的后果越来越严重,因此软件性能质量的重要性日益突出。如何对软件的性能质量进行测试、评价及优化,成为软件测试的一项重要研究内容。
软件的性能质量是软件质量的一部分。而软件质量是一个难以量化的概念,不同的人对软件质量的理解不同,不同的应用系统也有不同的质量特性。
为了统一软件质量评判标准,国际标准化组织ISO/IEC JTC1/SC7/WG6开展了软件质量度量和评价的标准化工作,制定了ISO/IEC 25000 SQuaRE[1]系列国际标准,其中包含软件质量模型、软件质量度量和评价等标准,在内容上覆盖了软件性能的测试维度和质量评价。我们国家软件测试和软件质量评价的标准在不同的阶段也不同程度地参考了国际标准。其中,GB/T 25000.1—2021《系统与软件工程 系统与软件质量要求和评价(SQuaRE)第1部分:SQuaRE指南》便是采纳ISO/IEC 25000系列标准制定的国家标准。
上述国际和国家标准定义了系统与软件的质量模型,主要包括产品质量模型(见图1-1)和使用质量模型(见图1-2)。
图1-1 产品质量模型
图1-2 使用质量模型
产品质量模型将系统与软件产品的质量属性划分为8个:功能性、性能效率、兼容性、易用性、可靠性、信息安全性、维护性和可移植性。其中每个特性由一组相关的子特性组成。
软件的性能质量可以通过性能效率来度量和评估,而性能效率主要包括如下几个子特性。
❑时间特性:软件执行其功能所需的响应时间、处理时间等。
❑资源利用性:软件执行其功能所需资源的数量和类型,例如内存、CPU、网络带宽的占用情况,需要的特殊设备的数量等。
❑容量:包括存储数据项数量、并发用户数、通信带宽、交易吞吐量、数据库规模等在软件运行时的最大限度。
❑性能效率的依从性:是否遵守了与性能效率相关的标准、约定或法规等,例如遵守金融行业的关于性能效率的规定。
性能效率这一指标可反映系统和软件所达到的效率水平,软件性能与在指定条件下所使用的资源量有关。