绿叶的执着 发表于 2012-3-29 17:35:34

我没做过这方面的,学习了。。。。

littlebig 发表于 2012-3-30 00:36:27

存储过程测试,个人感觉就像上面说的,可以直接在pl/sql里面直接输入参数,看结果;结果不仅要对,而且格式也要正确,因为存储过程一般都是被调用,需要和其他程序匹配;输入参数是难点,如果可以自动化得到你的参数,你就可以自动化了,不管是dbunit,nunit,都只是辅助工具,当然要整个测试自动化,这些工具对于搭建自动化平台是少不了的;输入参数需要考虑,如何触发存储过程的异常处理,如果遇到数据update,需要看看是什么级别的锁,然后考虑是不是有些地方需要外联结,字段是null的东西如何处理,性能.

littlebig 发表于 2012-3-30 00:42:28

设计不同的输入参数,调用存储过程不管是用pl/sql还是其他工具,验证结果。总是得过程是这个样子,但是如何设计输入是个大难题,个人感觉需要考虑各种可能业务的数据,可以触发触发异常处理的数据,是不是有些数据需要使用外联结查询,null值字段怎么处理,遇到锁会怎么办,update的锁是什么级别,性能如何

yxsong66 发表于 2012-3-31 00:21:48

mark,学习下,基本忘光了

SariyaLee 发表于 2012-3-31 11:29:12

呃,没有测过。。

wjtest 发表于 2012-3-31 18:34:40

我测试的存储过程不多,个人意见:
1、先test 通不通过
2 、观察存储过程执行速度 ,假如太慢了要看看 是否有 数据量较大的表关联,如果 是每张表的数据较大(几千万的数据),超过2张关联 需要借助临时表,否则 数据入库的时候 会很 耗性能,也占用了资源

吴限峰光 发表于 2012-4-1 06:53:41

没做过性能,功能上的测试方法差不多:
首先,看懂源码,分析流程是否有错
其次,输入数据,验证输出是否有错

megan0228 发表于 2012-4-1 10:47:06

我也没测试过,正想知道这方面的知识

乐呗123 发表于 2012-4-1 10:59:36

上来学习一下,有木有相关selenium相关方面的测试呢?谢谢!

liangxianquan85 发表于 2012-4-1 16:17:57

路过进来学习学习~

yezhaohui520 发表于 2012-4-1 21:42:42

本帖最后由 yezhaohui520 于 2012-4-1 21:48 编辑

学好数据库及存储过程   然后先静态检视    考虑语法以及逻辑再借助工具实际执行    对输入输出编写测试用例相当于是单元测试测试函数一样测试存储过程

skyzhu 发表于 2012-4-1 22:25:36

功能:类似于白盒的函数测试,单元测试等,针对参数进行,验证返回值
自动化:会用任何代码方式调用即可,遍历参数,获取返回值,看具体情况
性能:可以用辅助工具监控,MSSQL比较多,查看读写、耗时等,另外数据库使用的索引也比较重要;也可以直接用LR之类的工具,ODBC之类的协议来直接跑结果。测试性能也顺便跑一下可能的并发问题
安全:对于带有SQL语句拼接的需要顺带测试一下

mew234 发表于 2012-4-3 09:45:10

我之前的作法是:
先弄清楚测试目的与准备好测试数据后,
是依据商业规则写存储程序,
写完之后再把上千笔测试数据(从csv 汇入),
观察存储程序是否可以正常运作。

chxcyp 发表于 2012-4-5 10:16:47

学习了,之前测过存储过程的能能测试,没玩那么高级

chxcyp 发表于 2012-4-5 10:16:57

学习了,之前测过存储过程的能能测试,没玩那么高级

红茶sweet1 发表于 2012-4-5 10:27:53

回复 6# 591745293
顶顶你~:loveliness:

chxcyp 发表于 2012-4-5 10:29:53

我觉得性能方面的测试直接拿工具运行就行,没必要自己写一个新的存储过程,或者把研发的存储过程调优后再使用性能工具运行后的结果进行比对,有点耗时间
功能方面的测试可以写一个新的存储过程,每次执行时调用需要测试的存储过程,查看运行结果便可

Merlynee 发表于 2012-4-5 11:25:13

回复 10# ervinzhang


    峰哥最近经常在51晃哈;
   那如果存储过程的性能不够高,怎么定位具体是哪一句或者关键词的问题呢?需要逐词调试还是有什么好的办法?

mew234 发表于 2012-4-5 15:05:27

估计可能是 join 或 index 的地方需要调整。
以前遇过几次,问题都是出在这里。
希望这回答对你有帮助

duangang312 发表于 2012-4-6 23:00:12

回复ervinzhang


    峰哥最近经常在51晃哈;
   那如果存储过程的性能不够高,怎么定位具体是哪一 ...
Merlynee 发表于 2012-4-5 11:25 http://bbs.51testing.com/images/common/back.gif


    做深了就是DBA的事情,性能不够高,首先就是看执行计划。一般这种事情,最好是配合DBA来做,测试过于纠结的话,有点舍本求末了。当然,了解一些常用的优化方法,对工作是多多宜善。
页: 1 [2] 3
查看完整版本: 存储过程与sql怎么进行测试?(2012-4-5)(获奖名单已经公布)