扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:陈绍英 来源:软件测试网 2007年8月31日
关键字:
2、性能测试通用策略
2.1、性能测试策略通用方法
本节主要介绍一下通用的性能测试策略制定方法。性能测试策略一般从需求设计阶段开始讨论制定,策略的内容决定着性能测试工作投入多少资源、什么时间开始实施等后继工作如何安排。其制定的主要依据是“软件自身特点”和“用户对性能的关注程度”两个因素,其中软件的自身特点起决定作用。
软件按照用途的不同分为两大类:系统类软件和应用类软件。系统类软件对性能一般要求比较高,因此性能测试应该尽早介入。应用类软件分为特殊类应用和一般类应用,特殊类应用主要指银行、电信、电力、保险、医疗、安全等领域类的软件,这类软件使用比较频繁,用户较多,一般也要较早进行性能测试;一般类应用主要指一些普通应用,例如办公自动化软件、MIS系统等,一般应用类软件多根据实际情况决定性能测试策略,比如OA系统,可以早开始、也可以最后进行性能测试,这类软件受用户因素影响比较大。
用户一般可以分为四类:即对性能特别关注、中等重视、一般关注、不怎么关注四类。这里这么划分并不意味着用户不关注性能测试人员就可以忽略性能测试。不过,用户如果特别关注性能,测试人员也应该特别重视性能测试。表1列出了性能测试策略制定的基本原则。(注意:这里的用户是广义范围的用户,包括所有和我们的产品有利害关系的群体。因而不单单指最终使用产品的用户,这些用户既可以是为我们提出需求的产品部,也可以是公司的董事会,甚至是我们研发人员自己。)
表1:性能测试策略制定对照表
软件类别 | 系统类软件 | 应用类软件 | |
用户重视程度 | 一般应用 | 特殊应用 | |
高度重视 | 设计阶段就开始针对系统架构、数据库设计等方面进行讨论,从根源来提高性能;系统类软件一般从单元测试阶段开始性能测试实施工作,主要是测试一些和性能相关的算法或者模块。 | 设计阶段开始进行一些讨论工作,主要在系统测试阶段开始进行性能测试实施。 | 设计阶段就开始针对系统架构、数据库设计等方面进行讨论,从根源来提高性能;系统类软件一般从单元测试阶段开始性能测试实施工作,主要是测试一些和性能相关的算法或者模块。 |
中等重视 | 可以在系统测试阶段的功能测试结束后进行性能测试。 | ||
一般重视 | 可以在系统测试阶段的功能测试结束后进行性能测试。 | ||
不怎么重视 | 可以在软件发布前进行性能测试,提交测试报告即可。 |
从表1我们可以看出:(1)“系统类软件”、“特殊应用类软件”应该从设计阶段开始进行性能测试;(2)制定性能测试策略的主要依据是由软件的特点来决定,用户的态度对策略会有一定的影响,但不是决定因素。
软件的特点决定性能测试策略另外一个重要原因就是“一般应用类软件”通常耗费资源较少,因此可以通过提高硬件配置,进而改善运行环境来提高“一般应用类软件”的性能。从硬件方面解决性能问题往往更容易做到,同时可以降低我们的开发成本,不过也不能过分让用户进行较大的硬件投入,否则会降低我们的“客户满意度”。我们调整性能最好的办法还是软硬件相结合。
用户对待系统性能的态度影响性能测试策略,但不起决定作用的根本原因是我们最终要把产品交付给用户来使用,而不是做出来给用户欣赏。因此不管用户是否重视性能测试,即使根本不关心,对于性能要求高的软件产品我们都应该按照测试上面的策略进行合理的安排。同时,如果我们的上帝——用户如果特别重视,这意味着我们需要进行更多的性能测试方面的投入,因为我们有义务使我们的用户满意。
2.2、性能测试策略实例
下面我们可以看一些性能测试策略制定的案例。
案例一:一个银行项目的性能测试策略的制定案例,性能测试策略从立项时开始确定,贯穿整个项目的执行过程。该软件属于特殊应用软件,用户高度重视性能,因而采取的策略是从设计阶段就开始进行性能测试的准备工作,案例具体内容如下:
表2:某银行项目测试制定案例
产品类型 | 银行卡审批业务系统,使用非常频繁,业务量每年达到200万左右,属于银行领域的特殊应用软件。 |
项目背景 | 系统属于第二次重新开发,前一开发商在系统开发完成后没有通过性能测试,100个左右用户并发访问系统时数据库服务器崩溃。因此新的系统从项目启动开始,性能测试成为用户关注的焦点。 |
用户要求 | 用户提出性能方面首先过关,否则功能再好也不会投产。 |
性能测试策略 | 从系统设计阶段开始进行性能测试准备工作,主要是参加系统的设计、评审。重点讨论了数据库的设计,前一开发商失利的重要原因是数据库设计不合理。 |
系统设计阶段,完成了性能测试方案的设计。 | |
单元测试阶段通过测试工具对一些重要模块的算法进行测试。主要是一些并发控制算法的性能问题,测试对象是一些核心业务模块。 | |
集成测试阶段进行组合模块的测试。 | |
整个系统测试阶段都在进行性能测试,性能测试和功能测试同步进行。对功能测试引起的一些相关修改,立刻进行性能测试。 | |
验收测试阶段时,在用户现场的投产环境进行性能测试,根据测试结果对系统运行环境进行调优,达到较佳的运行效果。 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者