background image

  

2.4 存储过程和触发器的测试存储过程可以人工执行,但触发器不能人工处理,所以在

对存储过程和触发器执行的过程中针对

SQL SERVER2005 及以上版本可以使用 Microsoft 

SQL Server Profiler 性能测试工具进行测试。 
  

Microsoft SQL Server Profiler  是 SQL  跟踪的图形用户界面,用于监视数据库引擎或

 

Analysis Services 的实例。测试人员可以捕获有关每个事件的数据并将其保存到文件或表中
供以后分析。例如:可以对生产环境进行监视,了解哪些存储过程由于执行速度太慢影响了
性能。

 

  

3 数据库的容量测试 

  随着数据库系统的使用,数据量在飞速增长,如何在使用前对数据容量的增长情况进
行初步估算,为最终用户提供参考,这在数据库使用和维护过程中,是非常重要的。可以通
过对数据库设计中基本表的数据大小,和每天数据表的数据产生量进行初步估算。

 

  记录数据量

=各个字段所占字节数的总和 

  表的数据量

=记录数据量*记录数 

  数据库大小

=各表数据量的总和 

  当然,数据库的大小不仅仅只是基本表的大小,还有系统表,视图,存储过程等其它
实体所占的容量,但最基本的数据是表的数据。另外,数据库的容量还包括数据库日志文件
的容量,一般应预留数据库文件的

2 倍左右。 

  

4 数据库的性能测试 

  应用软件除了功能外,很重要的一部分就是软件的性能,而对于数据库系统,数据库
性能的好坏会直接影响应用软件的性能,这部分的测试,一般手工测试就显得无能为力了
这时就要借助自动化的测试软件,例如:

DataFactory,DataFactory 是一种强大的数据产生

器,它允许开发人员和测试人员很容易产生百万行有意义的正确的测试数据库

,该工具支持

DB2、Oracle、Sybase、SQL Server 数据库。这样,就可以模拟出应用软件长期使用后,海量数
据存储的数据库的性能状况。从而尽早发现问题,进行数据库性能的优化。

 

  这里要注意,进行性能测试的时候,一定要注意测试环境的一致性,包括:操作系统、
应用软件的版本以及硬件的配置等,而且在进行数据库方面的测试的时候一定要注意数据
库的记录数、配置等要一致,只有在相同条件下进行测试,才可以对结果进行比较。否则无
法和用户对软件的性能的观点达成一致。

 

  

5 数据库的压力测试 

  说起测试,我们首先想到的就是软件正确性的测试,即常说的功能测试。软件功能正确
仅是软件质量合格指标之一。在实际开发中,还有其它的非功能因素也起着决定性的因素,
例如软件的响应速度。影响软件响应速度的因素有很多,有些是因为算法不够高效;还有些
可能受用户并发数的影响。

 

  在众多类型的软件测试中,压力测试正是以软件响应速度为测试目标,尤其是针对在
较短时间内大量并发用户的访问时,软件的抗压能力。但压力测试往往是手工难以测试的,
必须借助自动化测试工具。常用的压力测试有:

Web 测试、数据库测试等。 

  数据库在大多数软件项目中是不可缺少的,对于它进行压力测试是为了找出数据库对
象是否可以有效地承受来自多个用户的并发访问。这些对象主要是:索引、触发器、存储过程
和锁。通过对

SQL 语句和存储过程的测试,自动化的压力测试工具可以间接的反应数据库

对象是否需要优化。

 

  这些自动化的测试工具很多,各有特点,基于

Java 的项目可以使用 JMeter,.Net 项目

可以采用

.Net 集成开发环境中提供的测试方案。 

  

6 结束语 

  总之,在应用系统的测试中,把数据库应当作为独立的系统来测试,这无疑会为应用