數據庫單元測試實例

發表于:2007-12-07來源:作者:點擊數: 標簽:單元測試數據庫
我自己編寫了一個 數據庫 單元測試 的實例,該SP實現的功能雖然很簡單,但麻雀雖小,五脹具全,供大家參考和討論. use pubs go create procedure test_exemple @Begdate varchar(10), @Enddate varchar(10) as begin select * from sales where ord_date @Begdate
我自己編寫了一個數據庫單元測試的實例,該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開發的函數測試過程和思路給以上很類似,有時間會給大家整理例子,謝謝大家

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97