二、性能测试用例模型
“性能测试用例模型”是“全面性能测试模型”的核心内容。限于篇幅和本书主旨,本节仅对“性能测试用例模型”做概要介绍。
在前面的内容中,已经介绍了性能测试分为8个方面。而在“性能测试用例模型”中,则融合了性能、强度、压力、负载等多方面测试内容,对性能测试进行了重新组织和分类,最终归纳出五类性能测试用例。下面介绍各类性能测试用例包含的内容以及设计方法。
预期性能指标测试用例
所谓预期或预定性能指标,就是指一些十分明确的、在系统需求设计阶段预先提出的、期望系统达到的,或者向用户保证的性能指标,这些指标是性能测试的首要任务。针对每个指标都要编写一个或多个测试用例来验证系统是否达到要求,如果达不到目标,则需根据测试结果来改进系统的性能。
预期指标的用例设计比较简单,主要参考需求和设计文档,把里面十分明确的性能要求提取出来即可。指标中通常以单用户为主,如果涉及并发用户内容,则归并到并发用户测试用例中进行设计,遇到其他内容亦可采用同样的方法处理。
用户并发性能测试用例
本节的用户并发测试融合了前面提到的“独立业务性能测试”和“组合业务性能测试”两类内容,主要是为了使性能测试按照一定的层次来开展。独立业务性能测试实际上就是核心业务模块的某一业务的并发性能测试,可以理解为“单元性能测试”;组合业务的性能测试是一个或多个模块的多项业务同时进行并发性能测试,可以理解为“集成性能测试”。“单元性能测试”和“集成性能测试”两者紧密相连,由于这两部分内容都是以并发用户测试为主,因此把这两类测试合并起来通称为“用户并发性能测试”。
用户并发性能测试要求选择具有代表性的、关键的业务来设计测试用例,以便更有效地评测系统性能。当编写具体的测试用例设计文档时,一般不会像功能测试那样进行明确的分类,其基本的编写思想是按照系统的体系结构进行编写的。很多时候,“独立业务”和“组合业务”是混合在一起进行设计的。
单一模块本身就存在“独立业务”和“组合业务”,所以性能测试用例的设计应该面向“模块”,而不是具体的业务。在性能测试用例设计模型中,用户并发测试实际就是关于“独立核心模块并发”和“组合模块并发”的性能测试。
用户并发性能测试的详细分类如图1-2所示。
图1-2 用户并发性能测试的分类示意图
独立核心模块(以下简称“核心模块”)并发性能测试的重点是测试一些系统重要模块独立运行的情况,因此可以将其理解为“单元性能测试”。只有这些决定系统性能的“核心单元”性能稳定,后面的性能测试才有意义。核心模块并发性能测试是整个性能测试工作的基础。
组合模块并发性能测试是最能反映用户实际使用情况的测试,是在前面各个核心模块运行良好的基础上、把系统的一些具有耦合关系的模块组合起来的测试,因此可以理解成 “集成性能测试”。组合模块用户并发性能测试最重要的是模拟实际用户比较常见的场景,只有这样才可以真实地反映用户使用系统的情况,进而发现系统的瓶颈和其他一些性能问题。