性能测试需要关注什么--系列2:性能测试数据

上一篇 / 下一篇  2011-02-12 09:58:55 / 个人分类:性能测试

        性能测试之所以特殊,在于其测试数据的复杂性。这里讲的复杂性,不是单元测试功能测试中的要考虑多种不同情况下的数据组合;而是它需要兼顾到对数据库的操作。

        试想,如果某张表中只有100条数据,就开始做性能测试,有效吗?

        试想,SQL语句没通过DBA审核,就开始性能测试,有意义吗?

        答案是,无效,也无意义。在数据库层面,性能测试针对的是大数据量(不一定是大表),而大数据量的表,需要创建索引以提高数据库查询效率,数据量大了,也必然要求SQL语句足够优化。

        大量数据、索引、高效SQL。写到这里,答案已经非常清晰,性能测试不仅要关注业务规则的数据,还需要验证数据库索引是否正确,SQL语句是否足够优化,等等。

        至此,我们可以顺理成章的将性能测试数据分成两部分:业务数据+基础数据。

        1、业务数据

        业务数据是符合业务逻辑规则的数据,比如一个旺铺卖家的宝贝,需要有宝贝、卖家、店铺、卖家购买铺服务等这些表和表中相关联的数据。一旦缺少某个环节,页面就无法打开,即便打开也会报错;相应的性能测试脚本执行过程中,服务器端也会报错。构造业务数据,需要工程师熟悉业务逻辑。

        2、基础数据

        基础数据不一定要符合业务逻辑规则。它们的存在,是为了将表中数据量撑大到某种程度,以验证SQL语句的执行效率、索引创建的合理性和正确性,数据库相关参数设置是否合理等。构造基础数据,不需要工程师熟悉业务逻辑,但需要工程师具备编写高效存储过程或者高效SQL语句的能力。


TAG:

msnshow的个人空间 引用 删除 msnshow   /   2011-03-03 19:54:42
基础数据与业务是相关的,个人觉得不能分开,分开后就与实际不符了
 

评分:0

我来说两句

Open Toolbar