“全面性能测试模型”是在以上性能测试分类和总结的基础上提出来的,主要包含3部分内容:
第1部分:性能测试策略模型,这是整个性能测试模型的基础。软件类型决定着性能测试的策略,同时用户对待软件性能的态度也影响性能测试策略的制定。本部分内容主要结合软件类型和用户特点来讨论性能测试策略制定的基本原则和方法。
第2部分:性能测试用例模型,这是整个性能测试模型的核心部分。其主要思想就是结合测试工具,把以上性能测试的8项内容进一步归纳,形成5类测试用例:
● 预期指标的性能测试;
● 并发用户的性能测试;
● 疲劳强度和大数据量的性能测试;
● 服务器性能测试;
● 网络性能测试。
在具体的测试设计中,性能测试用例往往和测试工具结合起来,把服务器、网络性能测试的用例设计与前三种类型结合起来。例如LoadRunner就可以在进行压力测试的同时,完成后面两类测试的数据采集工作。因此,后面两部分的测试用例只进行总体设计就可以了。
第3部分:模型的使用方法。本部分内容讨论如何在工作中使用“全面性能测试模型”。
一、性能测试策略模型
本节主要介绍性能测试策略的制定方法。性能测试策略一般从需求设计阶段就开始讨论如何制定了,它决定着性能测试工作将要投入多少资源、什么时间开始实施等后继工作的安排。其制定的主要依据是“软件自身特点”和“用户对性能的关注程度”两个因素,其中软件的自身特点起决定作用。
软件按照用途的不同可以分为两大类:系统类软件和应用类软件。系统类软件通常对性能要求比较高,因此性能测试应该尽早介入。应用类软件分为特殊类应用和一般类应用,特殊类应用主要指银行、电信、电力、保险、医疗、安全等领域类的软件,这类软件使用比较频繁,用户较多,一般也要较早进行性能测试;一般类应用主要指一些普通应用,例如办公自动化软件、MIS系统等。一般应用类软件多根据实际情况来制定性能测试策略,例如OA系统,既可以早开始,也可以最后进行性能测试,这类软件受用户因素影响比较大。
按对性能重视程度的不同一般可以将用户分为4类,即高度重视、中等重视、一般重视、不重视。这么划分主要是为了说明用户对性能测试的影响。实际上,用户不关注性能并不意味着测试人员就可以忽略性能测试,但是如果用户特别关注系统性能,那么测试人员也要特别重视性能测试工作。表1-1列出了性能测试策略制定的基本原则。
注意:这里的用户是广义范围的用户,包括所有和产品有利害关系的群体。因而不单单指最终使用产品的用户,这些用户既可以是提出需求的产品经理,也可以是公司的董事会成员,甚至是项目的研发人员。
软件类别 用户重视程度 |
系统类软件 |
应用类软件 | |
一般类应用 |
特殊类应用 | ||
高度重视 |
从设计阶段就开始针对系统架构、数据库设计等方面进行规划,从根源来提高性能; 系统类软件一般从单元测试阶段开始进行性能测试实施工作,主要是测试一些和性能相关的算法或模块 |
设计阶段开始进行一些规划工作,主要在系统测试阶段开始进行性能测试实施 |
从设计阶段就开始针对系统架构、数据库设计等方面进行规划,从根源来提高性能; 特殊应用类软件一般从单元测试阶段开始进行性能测试实施工作,主要是测试一些和性能相关的算法或模块 |
中等重视/一般重视 |
可以在系统测试阶段的功能测试结束后进行性能测试 | ||
不重视 |
可以在软件发布前进行性能测试,提交测试报告即可 |
从表1-1中可以看出:(1)“系统类软件”、“特殊应用类软件”应该从设计阶段开始进行性能测试;(2)制定性能测试策略的主要依据是软件的特点,用户对待系统性能的态度影响性能测试策略,但不起决定作用。
软件的特点决定性能测试策略的另外一个重要原因是“一般应用类软件”本身对性能要求不高,发生性能问题的概率较小。因此可以通过提高硬件配置来改善运行环境,进而提高性能。不过这也不是普遍适用的原则。例如一个几千用户使用的OA系统,仍然要高度重视性能,不管客户对待系统性能是什么态度。
虽然从硬件方面解决性能问题往往更容易做到,同时还可以降低开发成本,但是也不能要求用户进行过大的硬件投入,否则会降低“客户满意度”。调整性能最好的办法还是软硬件相结合。
“用户对待系统性能的态度影响性能测试策略,但不起决定作用”的根本原因是,产品最终是要交付给用户使用的,而不是做出来给用户欣赏的。因此,不管用户是否重视性能测试,甚至根本不关心,对于性能要求较高的软件产品也应按照表1-1的策略来执行性能测试。只是如果用户特别重视产品性能,意味着测试团队可能要进行更多的成本投入。
性能测试策略是后期性能测试工作的基础,决定着性能测试工作的投入。因此,要充分意识到这一工作的重要性,认识到只有做好了前期的“路线”制定工作,才可以走对后面的“道路”。