关闭

存储过程的测试心得

发表于:2012-3-30 13:32

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

 作者:591745293    来源:51Testing软件测试博客

  昨天看到51testing上有个帖子说讨论下存储过程的测试。在存储过程这一方面,我算是做得不少了,基本上70%的工作是关于存储过程测试的。于是第一次在51testing上发表了自己的第一份见解。在帖子上简单的说下了存储过程测试的进行和需要注意的几个地方。

  今晚,趁着这难得的闲暇稍微详细说下存储过程测试的过程吧!

  存储过程测试主要有两方面内容。一个是业务逻辑,也就是实现功能。其次是性能方面,寻求最优的SQL语句。

  1、业务逻辑

  给你一堆存储过程放在数据库里,你需要去测试它是否实现了该实现的功能,未出现多余的“功能”;获取到了想要的数据,未得到冗余的数据。由于数据获取到后是需要进行传输的,如果有冗余的数据,虽然在获取的时候能够处理掉,但是会给服务器造成很大的压力,久而久之,难免会出现瓶颈。再者,对于一系列的存储过程,你需要看它是否按照需求完成了所需要的功能,是否能够把一系列的流程跑通。

  对于业务逻辑方面的测试,能够在数据库里执行该语句,通过传入一些参数后能够进行手动的测试。说到这,大家肯定会问是否能够实现自动话测试吧?当然,这里有一定的技巧。我是通过C#语言来简单的实现了。通过ADO.NET调用存储过程,传入一些参数,执行存储过程就能够通过点击一个按钮就把所有的存储过程跑完了。在这个过程,需要收集的数据是一个难点,因为你需要这条数据一直能用下去。测试数据库并不是你一个人在用,所以这条数据得很灵活,需要仔细了哦,不然会经常跑不通。

  为了再智能点,就是不需要自己去点某个按钮就能自动执行所有的存储过程。当然就是利用开机自动运行了。有个第三方工具:Nunit。你只需要把存储过程代码写好,编译好后,加载进去,点击执行就能够一次性跑完代码,跑不通的会有颜色提示。这个工具其实看似简单,里面还有很多的功能,本人不才,未能发掘到更多,只是简单的利用了跑代码而已。把Nunit结合另外几个插件使用,如:Nant、NUnit2Report、nantcontrib。这几个一起使用完全可以架构出一套自动话测试平台。具体如何进行,请看下回。

  2、存储过程的性能

  存储过程是由SQL语句经过一些修饰而来的,说到性能,也就是sql语句的性能了。一条SQL语句的性能有很多地方能得出来。有经验的同志可以一眼就能看出大部分SQL语句的性能高低。所以,很简单的一个方法就是肉眼观看。如今,很多软件都支持查看SQL语句运行的时间,从时间上也可以很直观的看出SQL语句的性能。在相同的外界环境下,时间越短,显然效率是越高的。依稀记得在51testing上有一篇短文上介绍了一条语句,可以直接在oracle是sqlplus上执行后可以直接查看出SQL运行的时间,哎,记性不好,忘记了,大家应该可以搜出来。

  查看SQL语句的执行时间,有很多方法,PL/sql就会显示SQL语句的执行时间。你也可以通过ado来调用存储过程来查看SQL语句的执行时间,也是很容易实现的。

  在测试领域工作了一年多了,终于发现自己有点作为了。如今还在为工作的事情感到担心,其实,有时间可以多做些总结什么的。所以,潜水这么久,第一发文来记录自己的测试工作和发表自己的工作心得吧。希望能找到份好工作,也希望能早点走出阴影。

版权声明:本文出自 591745293 的51Testing软件测试博客:http://www.51testing.com/?417846

原创作品,转载时请务必以超链接形式标明本文原始出处、作者信息和本声明,否则将追究法律责任。

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

关注51Testing

联系我们

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

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

沪ICP备05003035号

沪公网安备 31010102002173号