两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種自動化測試異常處理方法及自動化測試系統(tǒng)與流程

文檔序號:12719391閱讀:635來源:國知局
一種自動化測試異常處理方法及自動化測試系統(tǒng)與流程

本發(fā)明涉及自動化測試技術(shù)領(lǐng)域,尤其涉及一種可以檢測并處理干擾自動化測試的異常問題的自動化測試異常處理方法及自動化測試系統(tǒng)。



背景技術(shù):

軟件測試對于保證軟件產(chǎn)品的可靠性和安全性十分重要,隨著軟件功能的日益增多及對于軟件穩(wěn)定、可靠性日益嚴苛的要求,軟件測試的工作量也成倍增長,如何快速、有效的進行軟件測試、保證軟件質(zhì)量成為一個亟待解決的問題。隨著自動化測試技術(shù)在數(shù)據(jù)通信領(lǐng)域的快速發(fā)展,很大程度上減少了手工測試人員大量的重復勞動,同時也為縮減產(chǎn)品開發(fā)成本,縮短開發(fā)周期作出了很大貢獻。越來越多的設(shè)備廠商利用自動化測試技術(shù)在保證產(chǎn)品質(zhì)量的情況下縮短設(shè)備開發(fā)周期和開發(fā)成本,提高產(chǎn)品的市場競爭力。

自動化測試系統(tǒng)開始測試時會從jenkins上獲取一個最新的成功的buildnumber(即為最新版本號),自動化測試系統(tǒng)會將測試用例文件名中版本號改成最新版本號,如果此時有調(diào)用則會產(chǎn)生一個新的測試用例文件,那么在下次自動化測試時因搜索到兩個測試用例文件而報錯,終止自動化測試。

在自動化測試過程中會生成一些自動化腳本(自動化測試用例文件、自動化關(guān)鍵字文件、自動化庫等)的備份文件,這些備份文件名只是多了.bak,其他與原文件名一樣,在調(diào)用時會出現(xiàn)異常,導致自動化測試失敗。

當在晚上執(zhí)行測試進程時,例如自動化測試系統(tǒng)在每晚23:30進行自動化測試,不可能靠人工來實時監(jiān)控每個進程的運行情況,這樣會浪費大量的人力。由于測試人員無法做到實時檢查,目前可以做的是測試人員提前對這些文件進行檢查,但無法保證在測試前是否會生成異常;由于未能及時的發(fā)現(xiàn)異常情況,將會導致異常進程所執(zhí)行的測試任務不能按時完成,影響測試進度。因此,需要對現(xiàn)有的自動化測試進行改進。



技術(shù)實現(xiàn)要素:

針對現(xiàn)有自動化測試存在會導致自動化測試終止、自動化測試失敗以及提前人工檢查無法保證在測試前是否會生成異常的技術(shù)問題,本發(fā)明目的在于提供一種自動化測試異常處理方法及自動化測試系統(tǒng),以確保測試準確性、減輕測試人員工作量、縮短測試周期、降低測試成本。

為實現(xiàn)上述目的,本發(fā)明提供了一種自動化測試異常處理方法,所述方法包括如下步驟:(1)在自動化測試前,遍歷自動化測試腳本所在的目錄中的文件并導出文件信息;(2)讀取所述文件信息并根據(jù)所述文件信息判斷相應文件是否為備份文件,若是備份文件則刪除,若不是備份文件則繼續(xù)讀取下一文件信息并判斷,直到刪除所有備份文件;(3)重新遍歷刪除所有備份文件后的所述目錄中的文件并導出文件信息。

在一實施例中,步驟(3)之后進一步包括:(4)讀取步驟(3)中導出的文件信息并根據(jù)所述文件信息判斷相應文件是否為測試用例文件,若是測試用例文件則將版本號作為鍵、文件名作為值一一對應保存到字典中,若不是測試用例文件則繼續(xù)讀取下一文件信息并判斷,直到遍歷所有文件信息;(5)將所述字典中的所有鍵輸出,并根據(jù)鍵選取版本號中的最大鍵版本;(6)逐一讀取輸出的鍵并判斷是否為所述最大鍵版本,若不是所述最大鍵版本則刪除所述字典中所述鍵對應的文件,直至所述字典中僅保留所述最大鍵版本的文件。

為實現(xiàn)上述目的,本發(fā)明還提供了一種自動化測試系統(tǒng),包括:初始文件遍歷模塊、備份文件判斷模塊以及第二文件遍歷模塊;所述初始文件遍歷模塊,用于在自動化測試前,遍歷自動化測試腳本所在的目錄中的文件并導出文件信息;所述備份文件判斷模塊,用于讀取所述文件信息并根據(jù)所述文件信息判斷相應文件是否為備份文件,若是備份文件則刪除,若不是備份文件則繼續(xù)讀取下一文件信息并判斷,直到刪除所有備份文件;所述第二文件遍歷模塊,用于重新遍歷刪除所有備份文件后的所述目錄中的文件并導出文件信息。

在一實施例中,所述系統(tǒng)進一步包括:測試用例文件判斷模塊、最大鍵版本選取模塊以及文件處理模塊:所述測試用例文件判斷模塊,用于讀取所述第二文件遍歷模塊中導出的文件信息并根據(jù)所述文件信息判斷相應文件是否為測試用例文件,若是測試用例文件則將版本號作為鍵、文件名作為值一一對應保存到字典中,若不是測試用例文件則繼續(xù)讀取下一文件信息并判斷,直到遍歷所有文件信息;所述最大鍵版本選取模塊,用于將所述字典中的所有鍵輸出,并根據(jù)鍵選取版本號中的最大鍵版本;所述文件處理模塊,用于逐一讀取輸出的鍵并判斷是否為所述最大鍵版本,若不是所述最大鍵版本則刪除所述字典中所述鍵對應的文件,直至所述字典中僅保留所述最大鍵版本的文件。

本發(fā)明的優(yōu)點在于:在自動化測試前先對文件進行檢測,并對檢測出的干擾文件提前做處理,通過遍歷文件目錄的方式對目錄中文件進行檢測,通過將版本號作為鍵、文件名作為值一一對應存入字典的方式方便調(diào)用,通過max對字典的值進行對比,找出最大的版本號;與現(xiàn)有技術(shù)相比,本發(fā)明可以確保測試準確性、減輕測試人員工作量、縮短測試周期以及降低測試成本。

附圖說明

圖1,本發(fā)明所述的自動化測試異常處理方法的流程示意圖;

圖2,本發(fā)明所述的自動化測試異常處理方法一實施例的流程示意圖。

具體實施方式

下面結(jié)合附圖對本發(fā)明提供的自動化測試異常處理方法及自動化測試系統(tǒng)做詳細說明。

參考圖1,本發(fā)明所述的自動化測試異常處理方法的流程示意圖。所述的方法包括如下步驟:S11:在自動化測試前,遍歷自動化測試腳本所在的目錄中的文件并導出文件信息;S12:讀取所述文件信息并根據(jù)所述文件信息判斷相應文件是否為備份文件,若是備份文件則刪除,若不是備份文件則繼續(xù)讀取下一文件信息并判斷,直到刪除所有備份文件;S13:重新遍歷刪除所有備份文件后的所述目錄中的文件并導出文件信息。以下給出詳細解釋。

S11:在自動化測試前,遍歷自動化測試腳本所在的目錄中的文件并導出文件信息。

具體的,可以通過調(diào)用os.listdir函數(shù)遍歷自動化測試腳本所在的目錄中的文件,并將導出的文件信息存到列表中。

S12:讀取所述文件信息并根據(jù)所述文件信息判斷相應文件是否為備份文件,若是備份文件則刪除,若不是備份文件則繼續(xù)讀取下一文件信息并判斷,直到刪除所有備份文件。

由于在自動化測試過程中會生成一些自動化腳本(自動化測試用例文件、自動化關(guān)鍵字文件、自動化庫等)的備份文件,這些備份文件名只是多了.bak,其他與原文件名一樣,因此,可以通過檢測文件信息是否包括.bak來判斷是否為備份文件。

具體的,可以通過調(diào)用for...in命令循環(huán)讀取所述文件信息,并調(diào)用re.search函數(shù)以‘.+.bak’為匹配項匹配讀取的文件信息以判斷相應文件是否為備份文件。如果是備份文件則刪除該文件,如果不是備份文件則讀取并檢測下個文件直到遍歷完所有文件,從而避免在調(diào)用時會出現(xiàn)異常,導致自動化測試失敗的問題。

S13:重新遍歷刪除所有備份文件后的所述目錄中的文件并導出文件信息。

具體的,可以通過再調(diào)用os.listdir函數(shù)重新遍歷刪除所有備份文件后的的所述目錄中的文件并將文件信息存到列表中。此時的列表中不存在備份文件,從而避免在調(diào)用時會出現(xiàn)異常,導致自動化測試失敗的問題。

本發(fā)明進一步對測試用例文件進行了優(yōu)化。優(yōu)選的,本發(fā)明所述的自動化測試異常處理方法在步驟S13之后進一步包括:S14:讀取步驟S13中導出的文件信息并根據(jù)所述文件信息判斷相應文件是否為測試用例文件,若是測試用例文件則將版本號作為鍵、文件名作為值一一對應保存到字典中,若不是測試用例文件則繼續(xù)讀取下一文件信息并判斷,直到遍歷所有文件信息;S15:將所述字典中的所有鍵輸出,并根據(jù)鍵選取版本號中的最大鍵版本;S16:逐一讀取輸出的鍵并判斷是否為所述最大鍵版本,若不是所述最大鍵版本則刪除所述字典中所述鍵對應的文件,直至所述字典中僅保留所述最大鍵版本的文件。通過上述操作,使得僅保留最大鍵版本的測試用例文件,避免了現(xiàn)有技術(shù)中自動化測試時因搜索到兩個測試用例文件而報錯,終止自動化測試的問題。

具體的,步驟S14可以通過調(diào)用for...in命令循環(huán)讀取所述文件信息并調(diào)用re.search函數(shù)以‘(項目名_v版本_case.txt)’為匹配項匹配讀取的文件信息以判斷相應文件是否為測試用例文件。如果是測試用例文件,可以利用匹配對象的元組特性將版本號作為鍵、文件名作為值一一對應保存到字典中(如果只有一個測試用例文件,則字典中只有一個版本號對應一個文件名);如果不是測試用例文件,則讀取并檢測下個文件直到遍歷完所有文件。

具體的,步驟S15可以通過調(diào)用_dict.key()函數(shù)將所述字典中的所有鍵輸出,并調(diào)用max命令根據(jù)鍵選取版本號中的最大鍵版本。因在判定測試用例文件時,將版本號作為鍵、文件名作為值一一對應保存到字典中,故可以通過鍵來選出最大鍵版本(即最接近現(xiàn)在測試的版本,如果只有一個測試用例文件則選出該用例文件名對應的版本號)。

具體的,步驟S16可以通過調(diào)用for...in命令逐一讀取輸出的鍵并判斷是否為所述最大鍵版本。調(diào)用for...in命令逐一讀取函數(shù)_dict.key()輸出的版本號(鍵),如果版本號不是選出的最大鍵版本則刪除字典中該版本號對應的文件,直至字典中僅保留最大鍵版本的文件為止。

在自動化測試前先進行本發(fā)明提供的自動化測試異常處理方法所述的操作,通過遍歷文件目錄的方式對目錄中文件進行檢測,通過將版本號作為鍵、文件名作為值一一對應存入字典的方式方便調(diào)用,通過max對字典的值進行對比,找出最大的版本號;與現(xiàn)有技術(shù)相比,本發(fā)明可以確保測試準確性、減輕測試人員工作量、縮短測試周期以及降低測試成本。

以下結(jié)合附圖2對本發(fā)明所述的自動化測試異常處理方法做進一步說明。參考圖2,本發(fā)明所述的自動化測試異常處理方法一實施例的流程示意圖。

本發(fā)明公開的檢測并刪除干擾自動化測試的備份和同類文件的方法,適用于WiFi產(chǎn)品自動化測試環(huán)境。通過將本發(fā)明所述的方法寫入自動化腳本的setup中,在自動化測試前先運行setup中該方法的腳本。

腳本內(nèi)容如下:

1)調(diào)用os.listdir函數(shù)遍歷自動化測試腳本所在的目錄中的文件,并將文件信息存到列表中;

2)調(diào)用for...in命令循環(huán)讀取列表中的文件信息,并調(diào)用re.search函數(shù)以‘.+.bak’為匹配項匹配讀取的文件信息以檢測該文件是否為備份文件;如果是備份文件則刪除該文件,如果不是備份文件則讀取并檢測下個文件直到遍歷完成整個列表;

3)對刪除所有備份文件后的的所述目錄中的文件,再調(diào)用os.listdir函數(shù)重新讀取目錄中的文件并將文件信息存到列表中;

4)調(diào)用for...in命令循環(huán)讀取列表中的文件信息,并調(diào)用re.search函數(shù)以‘(%s_v)(\d+)(_case.txt)’為匹配項(項目名_v版本_case.txt)檢測該文件是否為測試用例文件;如果是測試用例文件則利用匹配對象的元組特性將版本號作為鍵和文件名作為值一一對應保存到字典中(如果只有一個測試用例文件,則字典中只有一個版本號對應一個文件名),如果不是則讀取并檢測下個文件直到遍歷完成整個列表;

5)調(diào)用函數(shù)_dict.key()函數(shù)將字典中的鍵(版本號)輸出出來,并調(diào)用max命令選出版本號中的最大鍵版本(即最接近現(xiàn)在測試的版本,如果只有一個測試用例文件則選出該用例文件名對應的版本號);

6)調(diào)用for...in命令逐一讀取_dict.key()函數(shù)輸出的鍵,如果鍵不是選出的最大鍵版本則刪除字典中該鍵對應的測試用例文件,直至字典中僅保留最大鍵版本的測試用例文件為止。

本發(fā)明還提供了一種自動化測試系統(tǒng),包括:初始文件遍歷模塊、備份文件判斷模塊以及第二文件遍歷模塊。

所述初始文件遍歷模塊,用于在自動化測試前,遍歷自動化測試腳本所在的目錄中的文件并導出文件信息。具體的,初始文件遍歷模塊可以通過調(diào)用os.listdir函數(shù)遍歷自動化測試腳本所在的目錄中的文件,并將導出的文件信息存到列表中。

所述備份文件判斷模塊,用于讀取所述文件信息并根據(jù)所述文件信息判斷相應文件是否為備份文件,若是備份文件則刪除,若不是備份文件則繼續(xù)讀取下一文件信息并判斷,直到刪除所有備份文件。具體的,備份文件判斷模塊可以通過調(diào)用for...in命令循環(huán)讀取所述文件信息,并調(diào)用re.search函數(shù)以‘.+.bak’為匹配項匹配讀取的文件信息以判斷相應文件是否為備份文件。如果是備份文件則刪除該文件,如果不是備份文件則讀取并檢測下個文件直到遍歷完所有文件,從而避免在調(diào)用時會出現(xiàn)異常,導致自動化測試失敗的問題。

所述第二文件遍歷模塊,用于重新遍歷刪除所有備份文件后的所述目錄中的文件并導出文件信息。具體的,第二文件遍歷模塊可以通過調(diào)用os.listdir函數(shù)重新遍歷刪除所有備份文件后的的所述目錄中的文件并將文件信息存到列表中。此時的列表中不存在備份文件,從而避免在調(diào)用時會出現(xiàn)異常,導致自動化測試失敗的問題。

本發(fā)明進一步對測試用例文件進行了優(yōu)化。優(yōu)選的,本發(fā)明所述的自動化測試系統(tǒng)進一步包括:測試用例文件判斷模塊、最大鍵版本選取模塊以及文件處理模塊。

所述測試用例文件判斷模塊,用于讀取所述第二文件遍歷模塊中導出的文件信息并根據(jù)所述文件信息判斷相應文件是否為測試用例文件,若是測試用例文件則將版本號作為鍵、文件名作為值一一對應保存到字典中,若不是測試用例文件則繼續(xù)讀取下一文件信息并判斷,直到遍歷所有文件信息。具體的,測試用例文件判斷模塊可以通過調(diào)用for...in命令循環(huán)讀取所述文件信息并調(diào)用re.search函數(shù)以‘(項目名_v版本_case.txt)’為匹配項匹配讀取的文件信息以判斷相應文件是否為測試用例文件。如果是測試用例文件,可以利用匹配對象的元組特性將版本號作為鍵、文件名作為值一一對應保存到字典中(如果只有一個測試用例文件,則字典中只有一個版本號對應一個文件名);如果不是測試用例文件,則讀取并檢測下個文件直到遍歷完所有文件。

所述最大鍵版本選取模塊,用于將所述字典中的所有鍵輸出,并根據(jù)鍵選取版本號中的最大鍵版本。具體的,最大鍵版本選取模塊可以通過調(diào)用_dict.key()函數(shù)將所述字典中的所有鍵輸出,并調(diào)用max命令根據(jù)鍵選取版本號中的最大鍵版本。因在判定測試用例文件時,將版本號作為鍵、文件名作為值一一對應保存到字典中,故可以通過鍵來選出最大鍵版本(即最接近現(xiàn)在測試的版本,如果只有一個測試用例文件則選出該用例文件名對應的版本號)。

所述文件處理模塊,用于逐一讀取輸出的鍵并判斷是否為所述最大鍵版本,若不是所述最大鍵版本則刪除所述字典中所述鍵對應的文件,直至所述字典中僅保留所述最大鍵版本的文件。具體的,文件處理模塊可以通過調(diào)用for...in命令逐一讀取輸出的鍵并判斷是否為所述最大鍵版本。調(diào)用for...in命令逐一讀取函數(shù)_dict.key()輸出的版本號(鍵),如果版本號不是選出的最大鍵版本則刪除字典中該版本號對應的文件,直至字典中僅保留最大鍵版本的文件為止。

本發(fā)明所述的自動化測試系統(tǒng)在自動化測試前僅保留最大鍵版本的測試用例文件,避免了現(xiàn)有技術(shù)中自動化測試時因搜索到兩個測試用例文件而報錯,終止自動化測試的問題。

以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人員,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
遵义县| 晋中市| 兖州市| 建瓯市| 沅江市| 宝坻区| 万宁市| 江陵县| 依兰县| 肃北| 年辖:市辖区| 徐汇区| 陇西县| 滨海县| 仁布县| 介休市| 托克托县| 永胜县| 普宁市| 雅安市| 鄂托克旗| 乳山市| 古田县| 祥云县| 梅州市| 桑植县| 屏东市| 海安县| 临泉县| 视频| 潼关县| 年辖:市辖区| 安陆市| 全南县| 磐石市| 枝江市| 灵丘县| 旬阳县| 宿迁市| 长沙市| 遂昌县|