关闭

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

发表于:2009-6-30 13:35

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:悟石    来源:Taobao QA Team

  上期给大家分享过需要关注性能测试服务器方面的内容,今天分享一下性能测试数据。

  有些同学会问:性能测试数据有什么稀奇的,不就是构造一条数据或者一小批数据,供性能测试脚本使用吗?其实不然,性能测试之所以特殊,在于其测试数据的复杂性。这里讲的复杂性,不是单元测试功能测试中的要考虑多种不同情况下的数据组合;而是它需要兼顾到对数据库的操作。

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

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

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

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

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

  1、业务数据

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

  2、基础数据

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

  写到这里,又有同学会发问:那么,搜索引擎没有数据库,该如何准备性能测试数据呢?

  搜索引擎性能测试数据的准备,将在后续的系列章节中进行分享,敬请期待。

相关阅读:

性能测试需要关注什么——系列1:性能测试服务器

性能测试需要关注什么--系列3:liunx命令

《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号