2.7 提供高质量的足够的测试数据

通过上面的内容您已经了解了性能指标和事务;下一个需要考虑的事情就是数据了。提供足够好的测试数据是十分重要的,这么说并不过分。确实可以这么说:性能测试的成败就取决于提供的测试数据的质量和数量。几乎没有哪个性能测试是不需要在脚本事务中提供输入数据的。

即使是创建适量的测试数据也不是一项平常的任务,大多数自动化测试工具支持在脚本中按逗号分隔符(CSV)的文件格式输入,因此您可以使用一些程序通过这种格式的文件轻松创建数据。最常用的是微软的Excel和Compuware公司的FileAid(客户/服务器软件)。

有3种测试数据是比较关键的:输入数据、目标数据和运行时数据。

2.7.1 输入数据

这些数据是在您的事务中的输入数据。您得看看需要什么,需要多少,还有(重要的是)创建这些数据需要多少工作量。如果您只有2周的时间进行性能测试,而创建足够的测试数据就需要1个月的时间,那您就需要再三考虑一下了。

一些典型的输入数据如下。

用户认证

由于应用程序围绕着用户会话而设计,这个数据通常由登录的ID和密码构成。许多性能测试的执行受到测试用户认证的限制。这就产生了多个用户使用同一个登录认证进行并发操作的风险,这会造成误导的结果和执行错误。您应该尽可能为性能测试中的每个虚拟用户提供唯一的登录认证。

搜索条件

在所有性能测试中几乎都有不同的查询事务。为了使这些搜索动作更加理想,您必须提供不同的数据组成搜索条件。常见的例子包括客户姓名和详细地址信息、发票号码和产品编号等。您也可能希望提供一定数量的主要特征作为查询关键字,去执行一个模糊查询。执行模糊查询通常会耗时更长,并且向客户端返回更多数据。假如应用程序允许最终用户查询所有以字母"A"开头的客户姓氏,那么您需要在测试数据中包含这一信息。

文档关联

在某些特定类型的性能测试中,有必要将事务与文档关联。在一个文档管理系统中,这是一个常见的需求,在这种系统里,上传和下载文档的耗时是一个衡量性能的关键指标。这些文档可能涉及多种格式(例如,PDF和Word),所以您需要保证有足够多的类型和大小的文件可用。