use pubs
go
create procedure test_exemple
@Begdate varchar(10),
@Enddate varchar(10)
as
begin
select * from sales
where ord_date >@Begdate
and ord_date<@Enddate
End
上面SP完成了按照起始日期查询PUBS库里面的sales表记录的
那我们该如何来测试呢?请看下面的测试思路和过程
做代码的codeview
发现几个问题
1.关键字一般都应该大写
2.当你想在SELECT子句中列出所有的COLUMN时,使用动态SQL列引用 ‘*’ 是一个方便的方法.
不幸的是,这是一个非常低效的方法. 实际上,ORACLE在解析的过程中, 会将’*’ 依次转换成所有的列名,
这个工作是通过查询数据字典完成的, 这意味着将耗费更多的时间
3.应该在sales前面加上DBO做为表的前缀,sales默认的表属主,加上会提高效率,否则会先到当前用户去查找
准备测试用例进行动态测试:
4.日期所定义的长度10位不够
三组
第一组:@Begdate='1993-03-11 00:00:00.000',@Enddate'1994-09-14 00:00:00.000'
下面执行该测试用例
EXEC test_exemple '1993-03-11 00:00:00.000','1994-09-14 00:00:00.000'
第二组:EXEC test_exemple '1994-09-14 00:00:00.000 ','1994-09-14 00:00:00.000'
这一组出现了问题,因为数据库在这个启始日期是有记录的,该存储过程是没有查询出记录,需要调整
第三组:EXEC test_exemple '2000-05-12','2000-05-12'
备注:如果大家要调试先安装SQL SERVER,打开查询分析器
所以该SP有很多问题需要调整,希望大家多找出BUG,进行完善。。。。期待中
至于C/C++/JAVA开发的函数测试过程和思路给以上很类似,有时间会给大家整理例子,谢谢大家
文章来源于领测软件测试网 https://www.ltesting.net/