• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

连载:(九)软件测试技术——数据库性能检查和压力测试

发布: 2009-4-30 10:10 | 作者: 不详 | 来源: 测试时代采编 | 查看: 124次 | 进入软件测试论坛讨论

领测软件测试网 上面介绍的都是代码层的性能测试,而目前很多软件系统都需要应用到数据库,通常数据库也会成为性能瓶颈之一。如图所示的是一个简单C/S结构系统可能出现性能瓶颈的地方。

 简单C/S结构系统可能出现性能瓶颈的地方


那么测试人员应该如何发现数据库相关的性能问题呢?
        首先要分析什么会引起数据库的性能问题,一般来说有两个主要原因:数据库的设计和SQL语句。
        数据库的设计又分为数据库的参数配置和逻辑结构设计,前一种比较好解决,后一种则是测试人员需要关注的,糟糕的表结构设计会导致很差的性能表现。例如,没有合理地设置主键和索引则可能导致查询速度大大降低。没有合理地选择数据类型也可能导致排序性能降低。
        低效率的SQL语句是引起数据库性能问题的主要原因之一,其中又包括程序请求的SQL语句和存储过程、函数等SQL语句。对这些语句进行优化能大幅度地提高数据库性能,因此是测试人员需要重点关注的对象。
        技巧:可以借助一些工具来帮助找出有性能问题的语句,例如SQL Best Practices Analyzer、SQLServer数据库自带的事件探查器和查询分析器、LECCO SQLExpert等。

软件的“极限考验”——压力测试
        是否想知道软件系统在某方面的能力可以达到一个怎样的极限呢?软件项目的管理者以及市场人员会尤其关心压力测试的结果,想知道软件系统究竟能达到一个怎样的极限。压力测试(stress testing)就是一种验证软件系统极限能力的性能测试。
      压力测试负载测试(load testing)的区别在于,负载测试需要进行多次的测试和记录,例如随着并发的虚拟用户数的增加,系统的响应时间、内存使用、CPU使用情况等方面的变化如何。压力测试的目的很明确,就是要找到系统的极限点。在系统崩溃或与指定的性能指标不符时的点,就是软件系统的极限点。

        说明:实际上,在做性能测试的过程中不会严格区分这些概念,它们的界限有些模糊。对于测试人员来说,更关心的是如何满足性能需求,如何进行性能测试。

        经常碰到性能需求不明确的情况。用户通常不会明确地提出性能需求,在进行需求分析和设计时也通常把性能考虑在后面。即使提出了性能上的要求,也是很模糊的,例如:“不能感觉到明显的延迟”。
        对于不明确的性能需求,通常需要进行的不是极限测试,而是负载测试,需要逐级验证系统在每一个数据量和并发量的情况下的性能响应,然后综合分析系统的性能表现形式。

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 技术 软件测试 数据库 性能 压力


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备10010545号-5
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网