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

摘  要: 提出了一種數(shù)據(jù)庫(kù)系統(tǒng)測(cè)試的輔助工具,用于解決規(guī)范化管理的數(shù)據(jù)庫(kù)系統(tǒng)測(cè)試項(xiàng)目中測(cè)試數(shù)據(jù)構(gòu)建及測(cè)試結(jié)果保留效率低下的問(wèn)題。其具體做法是,采用Excel工作表規(guī)范設(shè)計(jì)輸入數(shù)據(jù)和預(yù)期結(jié)果,再利用該工具完成一些簡(jiǎn)單設(shè)定,可實(shí)現(xiàn)構(gòu)造數(shù)據(jù)庫(kù)測(cè)試數(shù)據(jù)、獲取測(cè)試結(jié)果及實(shí)現(xiàn)執(zhí)行結(jié)果與預(yù)期結(jié)果比較等功能。經(jīng)多個(gè)數(shù)據(jù)庫(kù)使用結(jié)果表明,該工具能生成規(guī)范的測(cè)試結(jié)果,并能減輕測(cè)試人員負(fù)擔(dān),提高了測(cè)試效率。
關(guān)鍵詞: 數(shù)據(jù)庫(kù)系統(tǒng);測(cè)試工具單元測(cè)試;回歸測(cè)試

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

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

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

 

 

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

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

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

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。