《電子技術應用》
您所在的位置:首頁 > 測試測量 > 設計應用 > 數據庫系統輔助測試工具
數據庫系統輔助測試工具
來源:微型機與應用2013年第2期
王 敏1,陳亞光2
(1.武昌理工學院 信息工程學院, 湖北 武漢 430223; 2.中南民族大學 生物醫學工程學院,
摘要: 提出了一種數據庫系統測試的輔助工具,用于解決規范化管理的數據庫系統測試項目中測試數據構建及測試結果保留效率低下的問題。其具體做法是,采用Excel工作表規范設計輸入數據和預期結果,再利用該工具完成一些簡單設定,可實現構造數據庫測試數據、獲取測試結果及實現執行結果與預期結果比較等功能。經多個數據庫使用結果表明,該工具能生成規范的測試結果,并能減輕測試人員負擔,提高了測試效率。
Abstract:
Key words :

摘  要: 提出了一種數據庫系統測試的輔助工具,用于解決規范化管理的數據庫系統測試項目中測試數據構建及測試結果保留效率低下的問題。其具體做法是,采用Excel工作表規范設計輸入數據和預期結果,再利用該工具完成一些簡單設定,可實現構造數據庫測試數據、獲取測試結果及實現執行結果與預期結果比較等功能。經多個數據庫使用結果表明,該工具能生成規范的測試結果,并能減輕測試人員負擔,提高了測試效率。
關鍵詞: 數據庫系統;測試工具單元測試;回歸測試

 規范化管理的軟件測試項目,從過程上劃分為:單元測試、集成測試、系統測試和驗收測試。如果在各個階段的測試中發現缺陷,在進行缺陷對應后還必須進行回歸測試。因此,規范化管理的軟件測試項目,其測試用例的設計必須包括輸入數據、執行條件和預期結果。針對數據庫系統的測試項目,其測試用例的輸入數據、執行條件和預期結果絕大部分體現在數據庫中的數據上,而這些數據在測試用例設計時,通常采用與關系數據庫模型類似的Excel工作表來呈現。規范化管理的軟件測試項目,針對各測試階段的每一個測試用例都必須留下完備的測試結果,而針對數據庫系統的測試結果很大一部分是數據庫中的數據。為便于清晰地呈現這些結果,通常是將測試結果存放在Excel工作表中。本文提出的測試工具正是對應這種規范化管理的測試項目而設計開發的。
 采用自動化測試工具進行測試,能減輕測試人員負擔、提高測試效率及測試的準確性[1-2]。雖然20世紀90年代以來人們就充分認識到測試工具的重要性,軟件開發機構也相繼開發出了一些卓有成效的測試工具產品,但由于測試工具購入的成本及使用培訓成本較高,商用測試工具給軟件項目帶來的時間效率及經濟效率受到一定的限制;同時,由于軟件項目本身的復雜性,很難將測試工具充分貫穿于軟件測試項目。因此,在實際項目開發中,很多軟件開發組織并不采用商用軟件測試工具,而是針對項目特點,自行研發針對性強的輕量級輔助測試工具來改善測試過程。研究者針對數據庫系統的測試進行了大量探索,但探索的內容主要體現在測試方法和測試腳本的開發方面[1-4],對實際測試過程中細節部分的測試效率問題探索較少。而本文提出的測試工具主要針對在規范化管理的測試項目中,需要頻繁構建數據庫輸入和獲取測試結果這一特點而設計開發的,它能改善測試過程、提高測試效率。
1 應用需求
 由于數據庫系統會頻繁涉及到對數據庫數據的操作,因此,測試用例的設計多數體現在數據庫數據的設計上。各測試用例的實施過程為制作測試數據、測試實施和結果判斷。其中,制作測試數據需要用設計的測試用例數據去更新數據庫,測試實施后需要判斷數據庫中相關數據是否與預期結果相吻合。作為測試證據的測試結果需要記錄下的信息包含:測試執行前數據庫相關表的數據和測試執行后相關表的數據。由此可見,在一個測試用例的測試過程中,需要分3次操作數據庫,其中1次為更新數據,另外2次為抽出數據。采用SQL-Server的數據庫系統,通常使用企業管理器來操作數據庫數據;采用Oracle的數據庫系統,通常使用Object Browser來操控數據庫數據。目前在測試過程中,采用這些工具操控數據,基本上還是人工操作,因此,仍然存在誤操作及操作效率低下的問題。如果能將測試過程中對數據的各種操作交給計算機來完成,可提高測試效率,避免誤操作的發生,并起到輔助測試的作用。為實現這一輔助測試功能,下面通過對餐飲管理系統點菜畫面的單元測試的用例設計和測試結果保留模式進行分析,探索計算機輔助測試的方法。
1.1 測試用例設計模式
 圖1是采用Excel設計的點菜畫面的單元測試項目書,鑒于篇幅,這里只顯示了說明所需要的測試項目,對其他項目進行了隱藏。圖中用例編號(Case No)31用于測試點菜畫面的保存按鈕按下,在輸入檢查無誤的情況下,畫面中的數據是否正確登錄數據庫。

 在進行數據庫系統的測試用例設計時,由于涉及的數據項較多,不便在測試項目書中列舉數據庫中的數據,通常采用Excel工作簿的另一張工作表來描述數據庫相關的輸入數據和預期結果,常用的設計格式如圖2所示。其中的信息包含:測試用例編號、測試執行前后標記、表名、字段名及數據明細。其中的數據明細不是來自于數據庫,而是來自于人工設計;在測試執行前需要用圖2中執行前的數據去更新數據庫,采用人工方式可直接按行拷貝數據粘貼到數據庫表中,如果要求表中只包含所設計的測試數據,還需要先刪除表中的數據再拷貝粘貼數據。當涉及到多個表時,就需要人工不斷在Excel工作表和數據庫工具之間來回切換,操作十分繁瑣。如果按照一定的規范(圖2的樣式)設計測試用例,便可采用編程手段實現將Excel工作表中的數據自動寫入數據庫。

1.2 測試結果保留模式
 很多項目也把測試結果稱作測試證據,留下測試結果除了便于測試人員判斷結果的正誤,很大程度上留下測試的證據也是為了便于管理。因此,保留的測試結果應詳細體現實施每一個測試用例的輸入數據、執行條件、執行過程及執行結果,這些信息應足以體現測試用例的執行過程,并且按照這些信息能再現測試結果。數據庫系統的測試結果通常采用Excel工作表來記錄,它既能保留截圖信息,又能直觀地保留數據庫中的數據。圖3是點菜畫面的Case No31-32的測試結果,包含測試執行前后數據庫數據及畫面顯示內容的截圖。對其分析可知,采用編程手段實現抽出數據庫中數據并按圖3的格式保留數據是可以做到的。

 

 

2 工具的實現
 分析測試用例設計模式和測試結果保留模式可得,在測試過程中對數據的處理包含兩部分:(1)將工作表中設計的測試數據追加到數據庫;(2)將數據庫數據作為測試結果抽出到Excel工作表中。也就是通過編程將圖2中的數據追加到數據庫以及將數據庫中的數據抽出可以實現如圖3所示將測試結果顯示在工作表中。因此,數據庫輔助測試工具可設計成如圖4(此截圖為數據抽出處理的設置畫面)所示的畫面。圖4操作界面中包含有:對數據庫的連接關閉處理區、對Excel文件的打開關閉處理區、功能選項區、SQL編輯區及格式設定區。其主要功能就是實現輸入數據做成、測試結果做成及測試配置的保存。下面詳細分析各部分的實現。

2.1 輸入數據做成處理
 輸入數據做成即是將設計的測試數據追加到數據庫中,圖2的數據包含描述性文字(執行前、執行后)、表名、字段名、字段值及數據結束標志(*****END*****),數據結束標志用于標識某數據表數據結束。利用這些數據可以提取出需要更新的表名、字段名及數據。利用圖4所示工具,建立數據庫連接、指定工作表及向數據庫追加數據的開始和結束行號,功能選項設為“數據插入”。單擊執行按鈕的處理流程如圖5所示。圖中,“刪除現存數據”復選按鈕用于選擇更新數據前是否刪除數據庫中現存的數據,若選擇刪除現存數據,則需要讀取數據庫中所有用戶表名,逐一刪除后再向數據庫追加數據;過程①實現讀取工作表中的表名及字段名,形成INSERT語句到VALUES為止的前半部分SQL語句,當遇到數據結束標志時,再次調用過程①重置SQL語句的前半部分;過程②實現讀取該行單元格數據,并將數據拼接到過程①形成的SQL語句,拼接完成則執行該語句,實現數據向數據庫的追加。

2.2 測試結果做成處理
 測試結果做成處理主要完成用例執行前后數據庫相關表數據的獲取,其實質就是根據SQL語句抽出數據,將數據結果保留到Excel工作表中。如圖4的參數設定,這里只需要指定開始行號,即指定從工作表的哪一行開始保留抽出數據,逐一讀取“抽出數據的SQL語句”中的SQL語句,從語句中取出表名,根據表名獲取字段名寫入工作表,再執行SQL語句抽出數據寫入工作表,同時按照“抽出數據的格式設定”進行工作表數據的格式設定,所得測試結果規范且便于結果判定。
2.3 測試結果比較處理
 為了驗證測試結果是否與預期結果相吻合,本測試工具還設計了數據比較功能。單擊主畫面的“結果比較”按鈕,打開如圖6所示的測試結果比較畫面,在畫面中分別設定參與比較的文件名、工作表名、開始及結束行號,即可對指定部分的數據進行比較,從而檢驗測試結果是否與預期結果一致。

2.4 測試配置保存處理
 圖4所示的執行畫面中,完成數據插入功能畫面設定內容較少,但完成數據抽出功能涉及的畫面設定較多。為便于回歸測試,本工具還設計了配置保存功能,用于將畫面現有配置保存到指定的ini文件中,便于在需要再次執行某測試用例時,可通過“選擇配置”實現讀入指定ini文件內容進行畫面參數的設定。這一功能將保證回歸測試及驗收測試的測試效率。
 本文介紹的數據庫輔助測試工具在多個項目的測試中已被采用,實踐證明了采用此輔助測試工具進行測試,可快速生成輸入數據及保留測試結果,其保留的測試結果與單元測試的結果要求的吻合度較高,其效率在單元測試過程中體現更為突出;同時在驗收測試中需要重現測試結果時,采用本工具也能快速完成測試,提高了測試效率;不僅能產生規范的測試文檔,還能減輕測試負擔。
參考文獻
[1] 曹娜.大型關系數據庫自動化測試工具的設計與實現[D].武漢:華中科技大學,2009.
[2] 王逸兮.一個數據庫功能性自動化測試系統的設計與實現[D].武漢:華中科技大學,2011.
[3] 曾強,駱德全,楊昊蘇,等.數據庫系統測試工具綜述 [J].科技風,2008(16):74.
[4] 王振鐸,陳曉范.數據庫系統測試方法與技術探討[J].中國民航飛行學院學報,2008(1):49.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产一区视频在线免费观看 | 国产精品天干天干 | 国产一区二区三区在线观看精品 | 曰批全过程免费视频免费看 | 一级黄色在线视频 | 欧美一级视频在线 | 99久久免费国产精精品 | xxx大片| 特级毛片ww特级毛片w免费版 | 射黄视频| 青青草狠狠干 | 欧美性猛交xxxxx按摩国内 | 欧美视频导航 | 性欧美高清另类videoso | 亚洲激情视频在线播放 | 99国产在线观看 | 欧美亚洲综合另类成人 | 欧美日韩看片 | 在线播放你懂得 | 青青视频网 | 亚洲爽| 精品久久香蕉国产线看观看亚洲 | 国产免费不卡 | 美女116午夜一级视频 | 久久成人亚洲香蕉草草 | 2022久久国产精品免费热麻豆 | 超薄肉色丝袜精品足j福利 超级碰人人 | 摸一摸操一操 | 欧美精品xxxⅹ欧美 欧美经典成人在观看线视频 | 中文字幕福利视频 | 亚洲精品日本高清中文字幕 | 国产在线麻豆精品观看 | 特级全黄一级毛片免费 | 外国成人网在线观看免费视频 | 日韩激情影院 | 日韩精品三级 | 国产激情一区二区三区在线观看 | 成人 日韩 在线 | 亚洲剧情在线 | 亚洲综合影视 | 性 色 黄 一级 |