从表1我们可以看出(1)“系统类软件”、“特殊应用类软件”应该从设计阶段开始进行性能测试共,(2)制定性能测试策略的主要依据是由软件的特点来决定,用户的态度对策略会有一定的影响,但不是决定因素。
软件的特点决定性能测试策略另外一个重要原因就是“一般应用类软件”通常耗费资源较少,因此可以通过提高硬件配置,进而改善运行环境来提高“一般应用类软件”的性能。从硬件方面解决性能问题往往更容易做到,同时可以降低我们的开发成本,不过也不能过分让用户进行较大的硬件投入,否则会降低我们的“客户满意度”。我们调整性能最好的办法还是软硬件相结合。
用户对待系统性能的态度影响性能测试策略,但不起决定作用的根本原因是我们最终要把产品交付给用户来使用,而不是做出来给用户欣赏。因此不管用户是否重视性能测试,即使根本不关心,对于性能要求高的软件产品我们都应该按照测试上面的策略进行合理的安排。同时,如果我们的上帝——用户如果特别重视,这意味着我们需要进行更多的性能测试方面的投入,因为我们有义务使我们的用户满意。
2.2性能测试策略实例
下面我们可以看一些性能测试策略制定的案例。
案例一:一个银行项目的性能测试策略的制定案例,性能测试策略从立项时开始确定,贯穿整个项目的执行过程。该软件属于特殊应用软件,用户高度重视性能,因而采取的策略是从设计阶段就开始进行性能测试的准备工作,案例具体内容如下:
产品类型 |
银行卡审批业务系统,使用非常频繁,业务量每年达到200万左右,属于银行领域的特殊应用软件。 |
项目背景 |
系统属于第二次重新开发,前一开发商在系统开发完成后没有通过性能测试,100个左右用户并发访问系统时数据库服务器崩溃。因此新的系统从项目启动开始,性能测试成为用户关注的焦点。 |
用户要求 |
用户提出性能方面首先过关,否则功能再好也不会投产。 |
性能测试策略 |
从系统设计阶段开始进行性能测试准备工作,主要是参加系统的设计、评审。重点讨论了数据库的设计,前一开发商失利的重要原因是数据库设计不合理。 系统设计阶段,完成了性能测试方案的设计。 单元测试阶段通过测试工具对一些重要模块的算法进行测试。主要是一些并发控制算法的性能问题,测试对象是一些核心业务模块。 集成测试阶段进行组合模块的测试。 整个系统测试阶段都在进行性能测试,性能测试和功能测试同步进行。对功能测试引起的一些相关修改,立刻进行性能测试。 验收测试阶段时,在用户现场的投产环境进行性能测试,根据测试结果对系统运行环境进行调优,达到较佳的运行效果。 |
表2某银行项目测试制定案例
案例二:一个OA系统的测试案例,我们可以看出性能测试策略和案例一差别很大。
产品类型 |
企业办公系统,用户数目在300人以内,主要是一些信息的发布,以及公文流转、收发邮件功能。软件系统的地位属于辅助办公功能。因此该类软件属于一般类型的应用软件,对性能要求不高,性能测试不属于重要工作。 |
项目背景 |
已有稳定产品的实施工作。主要是按照客户的个性化需求进行二次开发。 |
用户要求 |
客户提出了性能方面的需求:要求要系统响应时间不要过慢,可以满足500个用户来使用。 |
性能测试策略 |
系统测试阶段开始进行性能测试准备工作,性能测试在功能测试之后进行。主要是评估系统性能,根据测试结果对系统进行一定的优化。 验收测试阶段在用户现场进行测试,根据测试结果进行一定的调优工作,提交测试报告给用户以便进行系统验收。 |
表3某OA项目测试制定案例
案例三:一个门户系统的测试案例。
产品类型 |
主要是用于一些单位信息的发布,用户在50人以下。因此该类软件属于一般类型的应用软件,对性能要求很低。 |
项目背景 |
软件运行的硬件环境较好。 |
用户要求 |
用户没有提出具体的要求。 |
性能测试策略 |
验收测试阶段在用户现场进行测试,根据测试结果进行一定的调优工作,提交测试报告给用户以便进行系统验收。 |
表4某门户项目测试制定案例