專利名稱:測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自動(dòng)化測試技術(shù)領(lǐng)域,特別涉及一種測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的方法及系統(tǒng)。
背景技術(shù):
在自動(dòng)化測試領(lǐng)域中,自動(dòng)化測試腳本的開發(fā)一般有兩種方法,一種是通過手工運(yùn)行一次測試,同時(shí)使用自動(dòng)化測試工具的錄制功能,把所進(jìn)行的操作記錄下來,生成測試腳本。這種技術(shù)生成的腳本回放成功率比較低,后期維護(hù)也比較困難。第二種方法是編寫測試框架,對(duì)測試需要的基礎(chǔ)操作提供接口供調(diào)用,測試人員根據(jù)用例操作需求,手工編寫調(diào)用接口的自動(dòng)化測試腳本,這種方法對(duì)測試人員的代碼水平要求很高。目前自動(dòng)化測試中,測試人員編寫完用例以后,還需要腳本開發(fā)人員單獨(dú)編寫一條針對(duì)此用例的自動(dòng)化測試腳本,然后使用自動(dòng)化測試工具運(yùn)行腳本進(jìn)行測試。當(dāng)測試用例變更后,還需要重新編寫這條測試腳本,資源耗費(fèi)比較大。測試用例和測試腳本之間的維護(hù)比較復(fù)雜。
發(fā)明內(nèi)容
(一 )要解決的技術(shù)問題本發(fā)明要解決的技術(shù)問題是如何將測試用例自動(dòng)地轉(zhuǎn)化為自動(dòng)化測試腳本,以減小資源消耗及測試用例和測試腳本之間的維護(hù)。( 二 )技術(shù)方案為解決上述技術(shù)問題,本發(fā)明提供了一種測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的方法,包括以下步驟Sl 讀取用戶編寫的測試用例,所述測試用例中的操作命令以關(guān)鍵字與代碼映射表中關(guān)鍵字命名;S2:根據(jù)測試用例中的關(guān)鍵字在關(guān)鍵字與代碼映射表中查找對(duì)應(yīng)的測試腳本代碼,并生成自動(dòng)化測試腳本;S3 驗(yàn)證所述自動(dòng)化測試腳本的代碼完整性,使自動(dòng)化測試腳本的代碼符合自動(dòng)化測試工具代碼規(guī)范的代碼。其中,所述步驟S3具體包括S3. 1 添加測試用例信息,包括測試用例名稱和ID ;S3. 2 在所述自動(dòng)化測試腳本的外層添加異常處理代碼;S3. 3 驗(yàn)證步驟S3. 2之后的自動(dòng)化測試腳本是否有語法和編寫錯(cuò)誤,若驗(yàn)證不通過,則進(jìn)行修改,若通過,則生成最終的自動(dòng)化測試腳本。其中,所述步驟異常處理代碼為try-catch代碼。其中,所述步驟Sl之前還包括連接測試用例管理工具,所述測試用例管理工具中存儲(chǔ)有用戶編寫的測試用例。
本發(fā)明還提供了一種測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的系統(tǒng),包括測試用例獲取模塊,用于讀取用戶編寫的測試用例,所述測試用例中的操作命令以關(guān)鍵字與代碼映射表中關(guān)鍵字命名;測試腳本生成模塊,用于根據(jù)測試用例中的關(guān)鍵字在關(guān)鍵字與代碼映射表中查找對(duì)應(yīng)的測試腳本代碼,并生成自動(dòng)化測試腳本;完整性驗(yàn)證模塊,用于驗(yàn)證所述自動(dòng)化測試腳本的代碼完整性,使自動(dòng)化測試腳本的代碼符合自動(dòng)化測試工具代碼規(guī)范的代碼。其中,所述完整性驗(yàn)證模塊包括測試用例信息添加模塊,用于添加測試用例信息,包括測試用例名稱和ID ;異常處理代碼添加模塊,用于在所述自動(dòng)化測試腳本的外層添加異常處理代碼;錯(cuò)誤驗(yàn)證模塊,用于驗(yàn)證異常處理代碼添加模塊處理后的自動(dòng)化測試腳本是否有語法和編寫錯(cuò)誤,若驗(yàn)證不通過,則進(jìn)行修改,若通過,則生成最終的自動(dòng)化測試腳本。(三)有益效果本發(fā)明通過關(guān)鍵字與代碼映射表中的映射關(guān)系,實(shí)現(xiàn)了測試用例到自動(dòng)化測試腳本的自動(dòng)轉(zhuǎn)化,提高了自動(dòng)化測試的效率,降低了資源消耗和維護(hù)復(fù)雜度。
圖1是本發(fā)明實(shí)施例的一種測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的方法流程圖;圖2是圖1方法中關(guān)鍵字與代碼映射表中存儲(chǔ)著關(guān)鍵字與腳本代碼的對(duì)應(yīng)關(guān)系圖3是本發(fā)明實(shí)施例的一種測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的系統(tǒng)結(jié)構(gòu)示意圖。
具體實(shí)施例方式下面結(jié)合附圖和實(shí)施例,對(duì)本發(fā)明的具體實(shí)施方式
作進(jìn)一步詳細(xì)描述。以下實(shí)施例用于說明本發(fā)明,但不用來限制本發(fā)明的范圍。本發(fā)明的方法和系統(tǒng)可以連接測試用例管理工具,讀取測試用例,根據(jù)測試用例中的關(guān)鍵字,自動(dòng)生成與之相關(guān)的自動(dòng)化測試工具所識(shí)別的腳本操作代碼,然后對(duì)腳本進(jìn)行完整性驗(yàn)證和填補(bǔ),保證代碼的正確與完整性。生成的代碼可以直接提供給自動(dòng)化測試工具運(yùn)行。具體步驟如圖1所示,包括步驟101 讀取用戶編寫的測試用例,可以連接測試用例管理工具,從存儲(chǔ)有用戶編寫測試用例的測試用例管理工具中讀取。測試用例中的操作命令以關(guān)鍵字與代碼映射表中關(guān)鍵字命名。關(guān)鍵字與代碼映射表中存儲(chǔ)著關(guān)鍵字與腳本代碼的對(duì)應(yīng)關(guān)系,如圖2所示, 示出了幾個(gè)關(guān)鍵字與對(duì)應(yīng)的腳本代碼,箭頭左邊為關(guān)鍵字,右邊為對(duì)應(yīng)的腳本代碼。步驟S102 根據(jù)測試用例中的關(guān)鍵字在關(guān)鍵字與代碼映射表中查找對(duì)應(yīng)的測試腳本代碼,并生成自動(dòng)化測試腳本。該自動(dòng)化測試腳本的具體格式依賴自動(dòng)化測試工具, 常見的自動(dòng)化測試工具如Quicktest Professional ^jTP)和 IBM Rational Functional Tester (RFT)等,本實(shí)施例中的腳本默認(rèn)是生成針對(duì)RFT這個(gè)自動(dòng)化測試工具的java代碼。 如操作- >登錄用戶A,如圖2所示,則生成腳本代碼
LoginForm login = new LoginForm(ProcessA);login. LoginByUserName(UserA. getName);其中,“登錄”為關(guān)鍵字,其后的用戶A會(huì)自動(dòng)替換腳本代碼中的參數(shù)ftOcessA和 UserA0如驗(yàn)證- >用戶A登錄成功獲取到數(shù)據(jù),則生成腳本代碼Assert (UserA. OnlineMUserA. Info)。其中,“登錄成功”和“獲取到數(shù)據(jù)”為關(guān)鍵字,用戶A會(huì)自動(dòng)替換腳本代碼中的參數(shù) UserA0步驟S103 驗(yàn)證所述自動(dòng)化測試腳本的代碼完整性,使自動(dòng)化測試腳本的代碼符合自動(dòng)化測試工具代碼規(guī)范的代碼。完整性檢查主要是對(duì)用戶操作的上下文維護(hù),驗(yàn)證完整性的具體步驟為(1)添加測試用例信息,包括測試用例名稱和ID等,如TestCase case = new TestCase (CaseName,CaseID)。根據(jù)實(shí)際測試方案有不同的會(huì)添加不同的信息。主要根據(jù)前后順序依賴的操作代碼添加相應(yīng)的信息,例如如果有發(fā)送消息操作時(shí),檢查之前是否有登陸代碼,如果沒有則會(huì)自動(dòng)添加上。(2)在所述自動(dòng)化測試腳本的外層添加異常處理代碼,常用的異常處理代碼為 try-catch 代碼。(3)驗(yàn)證步驟( 之后的自動(dòng)化測試腳本是否有語法和編寫錯(cuò)誤,若驗(yàn)證不通過, 則進(jìn)行修改,若通過,則生成最終的自動(dòng)化測試腳本,即符合自動(dòng)化測試工具代碼規(guī)范的腳本代碼。自動(dòng)化測試工具讀取該腳本后完成自動(dòng)化測試。使用本發(fā)明的方法,即使當(dāng)測試用例變更后,測試人員只需按照關(guān)鍵字規(guī)范,手工修改一次測試用例即可。測試時(shí),轉(zhuǎn)化裝置重新讀取用例生成新的測試腳本,供運(yùn)行自動(dòng)化測試。本發(fā)明還提供了一種測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的系統(tǒng),其結(jié)構(gòu)示意圖如圖 3所示,包括測試用例獲取模塊,用于讀取用戶編寫的測試用例,具體從測試用例管理工具中讀取測試用例,所述測試用例中的操作命令以關(guān)鍵字與代碼映射表中關(guān)鍵字命名;測試腳本生成模塊,用于根據(jù)測試用例中的關(guān)鍵字在關(guān)鍵字與代碼映射表中查找對(duì)應(yīng)的測試腳本代碼,并生成自動(dòng)化測試腳本;完整性驗(yàn)證模塊,用于驗(yàn)證所述自動(dòng)化測試腳本的代碼完整性,使自動(dòng)化測試腳本的代碼符合自動(dòng)化測試工具代碼規(guī)范的代碼。其中,所述完整性驗(yàn)證模塊包括測試用例信息添加模塊,用于添加測試用例信息,包括測試用例名稱和ID ;異常處理代碼添加模塊,用于在所述自動(dòng)化測試腳本的外層添加異常處理代碼;錯(cuò)誤驗(yàn)證模塊,用于驗(yàn)證異常處理代碼添加模塊處理后的自動(dòng)化測試腳本是否有語法和編寫錯(cuò)誤,若驗(yàn)證不通過,則進(jìn)行修改,若通過,則生成最終的自動(dòng)化測試腳本。以上實(shí)施方式僅用于說明本發(fā)明,而并非對(duì)本發(fā)明的限制,有關(guān)技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明的精神和范圍的情況下,還可以做出各種變化和變型,因此所有等同的技術(shù)方案也屬于本發(fā)明的范疇,本發(fā)明的專利保護(hù)范圍應(yīng)由權(quán)利要求限定。
權(quán)利要求
1.一種測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的方法,其特征在于,包括以下步驟51讀取用戶編寫的測試用例,所述測試用例中的操作命令以關(guān)鍵字與代碼映射表中關(guān)鍵字命名;52根據(jù)測試用例中的關(guān)鍵字在關(guān)鍵字與代碼映射表中查找對(duì)應(yīng)的測試腳本代碼,并生成自動(dòng)化測試腳本;53驗(yàn)證所述自動(dòng)化測試腳本的代碼完整性,使自動(dòng)化測試腳本的代碼符合自動(dòng)化測試工具代碼規(guī)范的代碼。
2.如權(quán)利要求1所述的測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的方法,其特征在于,所述步驟S3具體包括S3. 1 添加測試用例信息,包括測試用例名稱和ID ;S3. 2 在所述自動(dòng)化測試腳本的外層添加異常處理代碼;S3. 3 驗(yàn)證步驟S3. 2之后的自動(dòng)化測試腳本是否有語法和編寫錯(cuò)誤,若驗(yàn)證不通過, 則進(jìn)行修改,若通過,則生成最終的自動(dòng)化測試腳本。
3.如權(quán)利要求2所述的測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的方法,其特征在于,所述步驟異常處理代碼為try-catch代碼。
4.如權(quán)利要求1 3中任一項(xiàng)所述的測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的方法,其特征在于,所述步驟Sl之前還包括連接測試用例管理工具,所述測試用例管理工具中存儲(chǔ)有用戶編寫的測試用例。
5.一種測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的系統(tǒng),其特征在于,包括測試用例獲取模塊,用于讀取用戶編寫的測試用例,所述測試用例中的操作命令以關(guān)鍵字與代碼映射表中關(guān)鍵字命名;測試腳本生成模塊,用于根據(jù)測試用例中的關(guān)鍵字在關(guān)鍵字與代碼映射表中查找對(duì)應(yīng)的測試腳本代碼,并生成自動(dòng)化測試腳本;完整性驗(yàn)證模塊,用于驗(yàn)證所述自動(dòng)化測試腳本的代碼完整性,使自動(dòng)化測試腳本的代碼符合自動(dòng)化測試工具代碼規(guī)范的代碼。
6.如權(quán)利要求5所述的測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的系統(tǒng),其特征在于,所述完整性驗(yàn)證模塊包括測試用例信息添加模塊,用于添加測試用例信息,包括測試用例名稱和ID ;異常處理代碼添加模塊,用于在所述自動(dòng)化測試腳本的外層添加異常處理代碼;錯(cuò)誤驗(yàn)證模塊,用于驗(yàn)證異常處理代碼添加模塊處理后的自動(dòng)化測試腳本是否有語法和編寫錯(cuò)誤,若驗(yàn)證不通過,則進(jìn)行修改,若通過,則生成最終的自動(dòng)化測試腳本。
全文摘要
本發(fā)明公開了一種測試用例轉(zhuǎn)化為自動(dòng)化測試腳本的方法,包括S1讀取用戶編寫的測試用例,所述測試用例中的操作命令以關(guān)鍵字與代碼映射表中關(guān)鍵字命名;S2根據(jù)測試用例中的關(guān)鍵字在關(guān)鍵字與代碼映射表中查找對(duì)應(yīng)的測試腳本代碼,并生成自動(dòng)化測試腳本;S3驗(yàn)證所述自動(dòng)化測試腳本的代碼完整性,使自動(dòng)化測試腳本的代碼符合自動(dòng)化測試工具代碼規(guī)范的代碼。本發(fā)明實(shí)現(xiàn)了測試用例到自動(dòng)化測試腳本的自動(dòng)轉(zhuǎn)化,提高了自動(dòng)化測試的效率,降低了資源消耗和維護(hù)復(fù)雜度。
文檔編號(hào)G06F11/36GK102567193SQ201010593948
公開日2012年7月11日 申請(qǐng)日期2010年12月9日 優(yōu)先權(quán)日2010年12月9日
發(fā)明者李陽 申請(qǐng)人:北京新媒傳信科技有限公司