如何有效开展性能测试(2)

上一篇 / 下一篇  2008-12-16 14:24:08 / 个人分类:性能测试相关

如何有效开展性能测试2

3.2配置测试环境

配置测试环境是测试实施的一个重要环节,测试环境适合与否会严重影响测试结果的真实性和正确性。测试环境包括硬件环境和软件环境,硬件环境指测试必需的服务器、客户端、网络连接设备,以及打印机/扫描仪等辅助硬件设备所构成的环境;软件环境指被测软件运行时的操作系统数据库其他应用软件构成的环境。考虑到其它因素,如网络锁、网速、显示分辩率,数据库权限、容量等对测试结果的影响。如条件允许,我们最好能配置几组不同的测试环境。

搭建测试环境步骤:

1) 测试环境规划

测试环境的规划包括硬件、软件及所有构建测试环境所需的资源的规划,可以利用Checklist或是测试环境部署矩阵的方式完成;

测试环境部署checklist

测试环境说明

对测试环境的简介

项目名称

测试项目名称

项目简介

对项目的简介

网络拓扑图

测试环境的网络拓扑图

硬件配置

描述配置环境硬件配置信息

例如:

CPU:至强3.0

内存:4GB

硬盘:200G

网卡:千兆

软件配置

测试环境中所使用的软件环境配置(要有详细版本)

例如:

操作系统:Windows Server 2003 SP2

系统服务:AD域、消息队列、MSDTC访问

应用平台:Microsoft .Net Framework2.0 SP1

应用软件:MCMS 2002 SP1

数据库:SQL Server 2005 SP1

中间件:IIS6.0

浏览器:IE7.0

杀毒软件:诺顿SEP

软件防火墙:windows防火墙

软件要求

描述软件环境的详细配置:

例如:

操作系统需要配置/3G的支持

需要打开windows防火墙

IIS应用连接池的详细配置

IE需要将应用网址添加到信任站点

网卡型号

描述测试环境的网卡型号信息详细

例如:

Intel PRO/100 NIC

Intel(R) 82567V-2 Gigabit Network Connection

网络信息

描述网络的具体配置项

例如:

域名或工作组名

IP地址

子网掩码

默认网关

DNS服务器

测试工具

描述环境中需要安装的测试工具

测试工具名称

测试工具版本

测试工具简介

用户权限

描述测试环境中的用户权限

应用软件列表

被测试的软件及版本描述

如:

门户网站后台管理服务端

静态抓取服务端

外来数据导入应用

应用软件要求

描述应用软件的详细配置

Dao.config数据库连接的配置

Webconfig配置

外来数据导入配置

2)       测试环境创建

按照checklist中的网络拓扑、硬件配置、网卡型号的要求创建测试环境的硬件和网络环境,搭建完毕后,每个设备(PC或服务器)要整理出《硬件配置表》,以便于维护

3)       测试环境配置

按照checklist中的软件配置、软件要求、网络信息、用户权限配置测试环境中PC和服务器的软件环境,配置完毕后,每个设备(PC或服务器)要整理出《环境配置文档》,以便于后期的环境维护。

4)       应用程序部署

按照checklist中的应用软件列表和应用软件要求,将应用程序部署到测试环境中,部署完毕后,每个应用程序的部署要整理出《应用软件部署文档》,以便于后期的升级维护。

5)       测试环境的使用

在使用过程中可能会对测试环境做一定的调整,每次调整后,都要对相应的文档《测试环境部署checklist》、《硬件配置表》、《应用软件部署文档》和《应用软件部署文档》进行修改,以保持环境和文档的一致。

6)       测试环境回收

项目结束后,需要对项目中使用的资源进行整理,并将不使用的资源进行释放。

硬件资源:PC机、服务器、磁盘空间、交换机等

网络资源:IP地址

 

3.3测试数据的获取和处理

功能测试的数据获取主要有三个方式

1) 数据:针对正常业务,异常情况,边界情况等构建测试数据,不仅仅包括最基本的基础数据,比如:用户、权限、配置、基础编码、原数据等,还包括系统的业务数据;

2) “导”数据:把已经在生产环境中运行的数据或老版本中的数据导出,在此基础上进行数据的整理后加工为测试数据;

3)     “积累”数据:使用现实的业务流程将现有的非电子化业务数据手工录入系统,在验证业务的同时也完成了测试数据的积累,即边测试边积累数据。但是这种情况积累的数据往往有一定局限性,因为已经发生的业务数据基本是正确的、一致的,而且可能缺少某些特定业务的数据(不常发生的分支业务)。这样就需要根据对测试需求的分析,追加新的测试数据,以便能完整覆盖业务类型。

性能测试使用的数据和功能测试有一定的区别,准备测试数据的侧重点不同,性能测试使用的数据不用考虑如何去校验功能。性能测试数据要注意以下几点:

1)       测试数据的唯一问题

性能测试往往使用自动化测试工具进行测试,会使用相同的脚步反复的运行来进行测试,所以在测试过程中一定要注意脚本中参数的重复问题,设计测试数据时要考虑并发用户数以及每个用户可能迭代的次数,避免因测试数据数量不够而使用重复数据,最终导致测试失败。

2)       测试数据的清理问题

性能测试往往会向系统中增加大量的数据,增加的数据量足以达到影响系统性能的程度(例如:数据库表中有100条数据和表中有100W条数据的响应时间一定是不同的),所以必须及时的对增加的测试数据进行清理,以保证测试环境的公平性,进而保证测试结果的真实性。

3)       测试数据数量和容量(大小)问题

性能测试往往要使用“大”数据量来进行测试,“大”数据量不仅仅指数量的多少,还要考虑到数据容量的大小。例如:发布文章的测试,不仅要满足发布文章数量的要求,还要考虑到文章内容的大小,也就是说不仅要考虑发布10W1K大小的文章的性能还要考虑发布10W10M大小的文章的性能。

4)       测试数据随意性问题

测试数据忌随意性,随意输入指定长度的字符串,虽然满足测试执行的要求,但是对后续工作会产生很多不良影响,例如:无法保证数据的唯一性,随意的输入数据有几率产生重复数据;收集的测试结果开发人员不易分析,性能测试中的开发人员可能需要分析内存的Dump文件,随意输入的、没有规则的字符串不利于开发人员对dump文件的分析。

4.如何开展性能测试

  测试前期的准备工作纷繁复杂,做好测试准备工作,已是完成了测试工作的一大半,但要产生一份具有说服力的测试报告,还应正确把握测试的强度,保持测试的一致性,提高测试的精度。

判断软件的好坏,要看软件解决实际应用的能力,只有在一定的测试强度下,才能测试出各种软件资源的消耗率,软件运行的速度,软件的稳定性。通过对比在不同的测试强度下,不同软件每一个功能模块解决实际问题的能力和软件运行的效率,我们才可能判断出不同软件的每一个模块的强弱,甚至于整个软件的优劣。

性能测试开始后,所有参数的输入都应遵循统一的标准,无论是哪一个环节,哪怕是一点点偏差,都应立即纠正,绝不能心存侥幸。要特别注意外部环境对测试结果的影响,如果在整个测试过程中,外部环境不一致,如网速、机器内存使用率不一样,就有可能导致测试结果与实际情况有出入。

实例1XX项目使用终端PCA1运行Loadrunner进行15小时(1700-第二天早800)的压力测试,第二天查看结果,发现由于PCA1的内存不足,导致Loadrunner在凌晨300

TAG: 性能测试相关

 

评分:0

我来说两句

日历

« 2024-04-24  
 123456
78910111213
14151617181920
21222324252627
282930    

数据统计

  • 访问量: 48986
  • 日志数: 19
  • 建立时间: 2008-11-13
  • 更新时间: 2008-12-16

RSS订阅

Open Toolbar