2性能测试通用策略
2.1性能测试策略通用方法
本节主要介绍一下通用的性能测试策略制定方法。性能测试策略一般从需求设计阶段开始讨论制定,策略的内容决定着性能测试工作投入多少资源、什么时间开始实施等后继工作如何安排。其制定的主要依据是“软件自身特点”和“用户对性能的关注程度”两个因素,其中软件的自身特点起决定作用。
软件按照用途的不同分为两大类:系统类软件和应用类软件。系统类软件对性能一般要求比较高,因此性能测试应该尽早介入。应用类软件分为特殊类应用和一般类应用,特殊类应用主要指银行、电信、电力、保险、医疗、安全等领域类的软件,这类软件使用比较频繁,用户较多,一般也要较早进行性能测试;一般类应用主要指一些普通应用,例如办公自动化软件、MIS系统等,一般应用类软件多根据实际情况决定性能测试策略,比如OA系统,可以早开始、也可以最后进行性能测试,这类软件受用户因素影响比较大。
用户一般可以分为四类:即对性能特别关注、中等重视、一般关注、不怎么关注四类。这里这么划分并不意味着用户不关注性能测试人员就可以忽略性能测试。不过,用户如果特别关注性能,测试人员也应该特别重视性能测试。表1列出了性能测试策略制定的基本原则。(注意:这里的用户是广义范围的用户,包括所有和我们的产品有利害关系的群体。因而不单单指最终使用产品的用户,这些用户既可以是为我们提出需求的产品部,也可以是公司的董事会,甚至是我们研发人员自己。)
软件的特点决定性能测试策略另外一个重要原因就是“一般应用类软件”通常耗费资源较少,因此可以通过提高硬件配置,进而改善运行环境来提高“一般应用类软件”的性能。从硬件方面解决性能问题往往更容易做到,同时可以降低我们的开发成本,不过也不能过分让用户进行较大的硬件投入,否则会降低我们的“客户满意度”。我们调整性能最好的办法还是软硬件相结合。
用户对待系统性能的态度影响性能测试策略,但不起决定作用的根本原因是我们最终要把产品交付给用户来使用,而不是做出来给用户欣赏。因此不管用户是否重视性能测试,即使根本不关心,对于性能要求高的软件产品我们都应该按照测试上面的策略进行合理的安排。同时,如果我们的上帝——用户如果特别重视,这意味着我们需要进行更多的性能测试方面的投入,因为我们有义务使我们的用户满意。
3 Web性能测试模型使用方法
“全面性能测试模型”是针对Web性能测试而提出的一种方法,主要目的是为了比较全面的开展性能测试,使Web性能测试更容易组织和开展。本模型包含了测试策略制定的通用方法和测试用例设计通用方案,测试用例的设计覆盖了应用软件、服务器、操作系统多方面的内容,按照由浅入深的顺利对性能测试进行了合理的组织。
“全面性能测试模型”是一种经很多性能测试项目抽象出来的方法论,主要用来指导测试,它一般不适合具体的性能测试项目,因为任何一个项目都会有它的特定背景。要想通过“Web全面性能测试模型”做好性能测试工作,首先要制定好性能测试策略,同时还要按照一些基本指导原则来使用“Web性能测试用例设计模型”的内容。这些原则主要包括如下的内容:
测试策略遵从最低成本原则。Web性能测试本身是一种高投入的测试,而实际中国内公司通常在测试上进行较低的投入,Web性能测试只是全部测试工作的一部分,很多项目只能进行一些重要的性能内容,这就决定测试经理制定性能测试策略时在资源投入方面一定要遵从最低成本化原则。最低成本的衡量标准主要指“投入的测试成本能否使系统满足预先确定的性能测试目标”,只要我们经过反复的“测试——系统调优——测试”后,系统符合性能需求并有一定的扩展空间,就可以认为性能测试工作是成功的。反之,如果系统经过测试后不满足性能需求或者满足性能需求后仍然投入资源,都可以认为是不合理的。
策略为中心原则。本原则不但对性能测试工作有效,对其他类型的测试工作都具有同样的指导意义。测试策略不但决定了我们测试用例设计时的主要内容,还决定着我们实施测试工作时如何根据项目的实际情况进行处理,例如:如果项目时间比较紧张,我们完全可以按照测试用例的优先级只执行一部分性能测试用例。因此,性能测试策略应该贯穿整个性能测试过程。
适当裁剪原则。裁剪原则主要是针对性能用例设计而言。Web性能测试用例设计模型主要是针对电信、银行级的应用而提出的,包含的测试内容比较全面,而这类项目的性能测试一般周期较长、投入较大,作者曾亲身经历过测试周期为一年的银行项目。要想性能测试用例设计模型在大多数测试项目中使用,必须对测试用例模型包含的内容进行合理的裁剪,这样做的主要目的是为了适合特定项目的测试需求,进而节约测试成本。
裁减的主要依据是性能测试策略,我们根据策略制定方法制定出测试策略,然后依据策略从“五类性能测试用例”中选择适当的内容来编写测试用例。例如有些要求不高的静态门户网站,用户也没有提出性能方面的要求,我们完全可以只测试一下用户并发情况作为系统性能的参考。
完善模型原则。本模型只是作者的工作经验总结,由于不同的性能测试任务都有自己的项目背景,因而需要对模型内容进行不断的调整、补充、完善,才能使之适合更多的性能测试工作。不断完善具体来说就是要在工作中不断总结自己的经验,形成自己的“Web全面性能测试模型”。只有“自己的”测试模型,才是最符合自己需要的模型。
模型具体化原则。模型具体化主要是指把本模型运用到具体的项目中,是前面所有原则的目标。如果只记住模型的这些条条框框,然后生搬硬套框架来设计测试,只能得到适得其反的结果。要想使模型在Web性能工作中发挥作用,只有根据实际项目的特点制定合理的性能测试策略、编写适当的性能测试用例,并在测试实施中灵活的执行测试方案。
综合上面的分析,可以看出模型使用完全可以概括成两个字——“活用”。要想真正做好性能测试工作,最有效的办法就是在掌握基本理论和方法后,在工作中不断的去探索和总结,不断的完善该模型,形成自己的“Web全面性能测试模型”。
“全面性能测试模型”是一种很有效的做Web性能测试的“兵法”,这正是本篇命名为“兵法篇”的目的。“兵法”是“将帅”们“打仗”的必备知识,学会了兵法才可以指挥战争,但是兵法毕竟不能代替具体的“战术”,它只是“打胜仗”的前提条件,具体的“仗”怎么去“打”,仍然要根据具体的战场情况来指挥。因此,具体的Web性能测试工作仍然按照项目的自身特点去组织和实施。
文章来源于领测软件测试网 https://www.ltesting.net/