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

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

数据库单元测试实例

发布: 2007-12-07 11:49 | 作者: 网络转载 | 来源: 测试时代论坛 | 查看: 381次 | 进入软件测试论坛讨论

领测软件测试网 我自己编写了一个数据库单元测试的实例,该SP实现的功能虽然很简单,但麻雀虽小,五胀具全,供大家参考和讨论.

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/

TAG: 单元测试 数据库


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

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