專利名稱:一種無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及自動(dòng)化測(cè)試領(lǐng)域,具體地說(shuō)是一種無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法。
背景技術(shù):
現(xiàn)有技術(shù)中,自動(dòng)化回歸測(cè)試時(shí),腳本的回歸走查就是場(chǎng)景腳本的羅列,所有場(chǎng)景腳本依次執(zhí)行,這時(shí)當(dāng)其中一個(gè)場(chǎng)景腳本走查發(fā)生了異常(比如程序發(fā)生變動(dòng)或是出現(xiàn)錯(cuò)誤)時(shí),整個(gè)腳本走查就停止,必須由測(cè)試人員分析異常原因,然后處理完異常后在進(jìn)行后續(xù)的走查。進(jìn)行后續(xù)腳本走查的時(shí)候還需要根據(jù)測(cè)試用例分析哪些腳本可以走查。簡(jiǎn)單來(lái)說(shuō)就是有人值守的非智能的自動(dòng)化回歸測(cè)試。其結(jié)構(gòu)框圖如附圖1所示。上述測(cè)試的走查模式存在以下不足過(guò)程腳本走查中必須投入很大的人工工作量用于監(jiān)控腳本走查情況和出現(xiàn)異常后由人來(lái)判斷和處理,以及選擇場(chǎng)景進(jìn)行后續(xù)走查。
發(fā)明內(nèi)容
本發(fā)明的技術(shù)任務(wù)是針對(duì)上述現(xiàn)有技術(shù)的不足,提供一種無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法。該方法一方面降低了自動(dòng)化回歸測(cè)試中的人工投入的工作量,同時(shí)提高自動(dòng)化測(cè)試的執(zhí)行效率;并且還有應(yīng)用范圍廣泛應(yīng)用成本低廉的特點(diǎn)。本發(fā)明的技術(shù)任務(wù)是按以下方式實(shí)現(xiàn)的一種無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法,其特點(diǎn)是
1)以業(yè)務(wù)場(chǎng)景為單位組織腳本形成場(chǎng)景腳本,主腳本是對(duì)多個(gè)場(chǎng)景腳本調(diào)用的羅列;
2)場(chǎng)景之間的關(guān)系通過(guò)場(chǎng)景關(guān)系表的場(chǎng)景依賴項(xiàng)體現(xiàn);
3)場(chǎng)景腳本運(yùn)行結(jié)果記錄在配置文件中;
4)場(chǎng)景腳本運(yùn)行前檢查場(chǎng)景關(guān)系表里的依賴的場(chǎng)景的運(yùn)行結(jié)果,當(dāng)依賴場(chǎng)景運(yùn)行通過(guò)再運(yùn)行此場(chǎng)景;
5)場(chǎng)景腳本執(zhí)行前檢查程序狀態(tài),當(dāng)程序不可用時(shí)將程序恢復(fù)可用狀態(tài);
6)主腳本對(duì)場(chǎng)景腳本的調(diào)用進(jìn)行封裝增加異常捕獲和處理,當(dāng)腳本走查發(fā)生異常時(shí), 異常捕獲處理單元可以捕獲、記錄并處理相關(guān)異常信息;
7)—個(gè)場(chǎng)景腳本執(zhí)行結(jié)束后都會(huì)回寫(xiě)配置文件中的運(yùn)行結(jié)果;
8)不管一個(gè)場(chǎng)景腳本執(zhí)行結(jié)果如何都可以執(zhí)行下一個(gè)場(chǎng)景腳本的走查。進(jìn)一步的,還可以設(shè)置日志文件,可以將測(cè)試過(guò)程的所有情況都記錄在日志文件中。更進(jìn)一步的,步驟3中所述記錄場(chǎng)景運(yùn)行結(jié)果的配置文件和場(chǎng)景關(guān)系表的記錄是對(duì)應(yīng)的,可以根據(jù)場(chǎng)景關(guān)系表生成。本發(fā)明無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法的特點(diǎn)如下1、無(wú)人值守
1以業(yè)務(wù)場(chǎng)景為單位組織腳本形成場(chǎng)景腳本,主腳本是對(duì)多個(gè)場(chǎng)景腳本調(diào)用的羅列。這樣結(jié)構(gòu)是實(shí)現(xiàn)當(dāng)一個(gè)場(chǎng)景腳本異常時(shí)能夠走查另外一個(gè)場(chǎng)景腳本的前提。1主腳本對(duì)場(chǎng)景腳本的調(diào)用進(jìn)行了封裝增加異常捕獲和異常處理。當(dāng)腳本走查發(fā)生異常時(shí),異常處理單元可以捕獲并記錄相關(guān)異常信息,同時(shí)也保證了發(fā)生異常時(shí)整個(gè)腳本走查不會(huì)中斷。1場(chǎng)景腳本真正執(zhí)行前還要首先檢查程序狀態(tài),當(dāng)程序不可用時(shí)根據(jù)場(chǎng)景關(guān)系表里的本場(chǎng)景的重置選項(xiàng)將被測(cè)程序重置。例如當(dāng)上一個(gè)場(chǎng)景腳本執(zhí)行發(fā)生了異常,導(dǎo)致了當(dāng)前程序不可用,這時(shí)可以結(jié)束程序,然后用重置選項(xiàng)如執(zhí)行此場(chǎng)景的用戶、崗位、日期、口令等。重新登陸程序,然后執(zhí)行當(dāng)前場(chǎng)景。所以不管前一個(gè)場(chǎng)景執(zhí)行結(jié)果如何下一個(gè)需要執(zhí)行的場(chǎng)景腳本都會(huì)被執(zhí)行。2、智能走查
1配置文件和場(chǎng)景關(guān)系表的記錄是對(duì)應(yīng)的,可以根據(jù)場(chǎng)景關(guān)系表生成。1場(chǎng)景之間的關(guān)系通過(guò)場(chǎng)景關(guān)系表的場(chǎng)景依賴項(xiàng)體現(xiàn)。當(dāng)一個(gè)場(chǎng)景執(zhí)行結(jié)束后不管有沒(méi)有異常都會(huì)回寫(xiě)配置文件。1場(chǎng)景運(yùn)行前檢查場(chǎng)景關(guān)系表里的依賴的場(chǎng)景的運(yùn)行結(jié)果,當(dāng)依賴場(chǎng)景運(yùn)行通過(guò)再運(yùn)行此場(chǎng)景。根據(jù)以上3項(xiàng)特點(diǎn)實(shí)現(xiàn)了腳本的智能走查。3、結(jié)果分析
1所有的過(guò)程都會(huì)記錄在一個(gè)日志文件中;總體的執(zhí)行結(jié)果保存于配置文件中,而異常信息會(huì)生成一個(gè)異常圖片文件和一個(gè)異常文本文件。1所有場(chǎng)景腳本執(zhí)行完成后測(cè)試人員需要根據(jù)配置文件了解整體運(yùn)行結(jié)果,然后還需要研究異常圖片和文字信息以及日志看是異常的中斷是程序錯(cuò)誤、程序變動(dòng)還是腳本的問(wèn)題,根據(jù)情況登記問(wèn)題或是修改腳本。本發(fā)明的無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法與現(xiàn)有技術(shù)相比具有以下突出的有益效果
(一)通過(guò)異常捕獲和處理單元以及程序重置方法,實(shí)現(xiàn)了真正的無(wú)人值守,降低了自動(dòng)化回歸測(cè)試中的人工投入的工作量。(二)通過(guò)使用場(chǎng)景關(guān)系表的依賴項(xiàng),實(shí)現(xiàn)了智能的自動(dòng)化走查,提高了自動(dòng)化測(cè)試的執(zhí)行效率。(三)包含總體運(yùn)行結(jié)果;異常圖片、文本信息;執(zhí)行日志的結(jié)果展示方式便于后續(xù)分析處理。(四)本發(fā)明創(chuàng)建了一個(gè)公共的經(jīng)過(guò)封裝的腳本調(diào)用方法,而沒(méi)有在每個(gè)場(chǎng)景腳本乃至功能腳本中進(jìn)行異常處理,所以應(yīng)用本發(fā)明的方法投入工作量很少,只需要增加場(chǎng)景關(guān)系表以及修改主腳本調(diào)用場(chǎng)景腳本的方法就行了。(五)本方法是一種通用方法,而且場(chǎng)景腳本的顆粒度可以由此方法的使用者根據(jù)被測(cè)程序的情況來(lái)確定。(六)本方法是一種通用的腳本實(shí)現(xiàn)方法,不局限于某一個(gè)自動(dòng)化腳本工具,應(yīng)用范圍非常廣。
附圖1是現(xiàn)有技術(shù)中自動(dòng)化測(cè)試方法結(jié)構(gòu)框附圖2是本發(fā)明無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法的結(jié)構(gòu)框圖; 附圖3是圖2所示方法的控制流程圖。
具體實(shí)施例方式參照說(shuō)明書(shū)附圖以具體實(shí)施例對(duì)本發(fā)明的無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法作以下詳細(xì)地說(shuō)明。實(shí)施例
如附圖2所示,本發(fā)明的無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法包含以下內(nèi)容 1 )、以業(yè)務(wù)場(chǎng)景為單位組織腳本形成場(chǎng)景腳本,主腳本是對(duì)多個(gè)場(chǎng)景腳本調(diào)用的羅列。2)、場(chǎng)景之間的關(guān)系通過(guò)場(chǎng)景關(guān)系表的場(chǎng)景依賴項(xiàng)體現(xiàn)。3)、場(chǎng)景運(yùn)行結(jié)果記錄在配置文件中,這個(gè)配置文件和場(chǎng)景關(guān)系表的記錄是對(duì)應(yīng)的,可以根據(jù)場(chǎng)景關(guān)系表生成。4)、場(chǎng)景運(yùn)行前檢查場(chǎng)景關(guān)系表里的依賴的場(chǎng)景的運(yùn)行結(jié)果,當(dāng)依賴場(chǎng)景運(yùn)行通過(guò)再運(yùn)行此場(chǎng)景。5)、場(chǎng)景運(yùn)行前檢查程序狀態(tài),當(dāng)程序不可用時(shí)將程序恢復(fù)可用狀態(tài)。6)、主腳本對(duì)場(chǎng)景腳本的調(diào)用進(jìn)行封裝增加異常捕獲和異常處理。當(dāng)腳本走查發(fā)生異常時(shí),異常處理單元可以捕獲并記錄相關(guān)異常信息。7)、一個(gè)場(chǎng)景腳本執(zhí)行結(jié)束后都會(huì)回寫(xiě)配置文件中的運(yùn)行結(jié)果。8 )、不管一個(gè)場(chǎng)景執(zhí)行結(jié)果如何都可以執(zhí)行下一個(gè)場(chǎng)景腳本的走查。9)、所有過(guò)程的情況都會(huì)記錄在一個(gè)日志文件中。如附圖3所示本發(fā)明測(cè)試方法的控制流程如下
每個(gè)業(yè)務(wù)場(chǎng)景執(zhí)行前首先檢查配置文件中本場(chǎng)景腳本的運(yùn)行狀態(tài),如果是未運(yùn)行再進(jìn)行下一步操作,否者退出當(dāng)前場(chǎng)景的執(zhí)行。下一步根據(jù)場(chǎng)景關(guān)系表中的依賴項(xiàng)檢查本場(chǎng)景的依賴場(chǎng)景的運(yùn)行狀態(tài)如果是運(yùn)行成功再執(zhí)行本場(chǎng)景。然后真正調(diào)用本場(chǎng)景之前還會(huì)檢查當(dāng)前被測(cè)程序的可用性,如果不可用將程序按照?qǐng)鼍瓣P(guān)系表中的重置選項(xiàng)將程序重置為可用狀態(tài)。此時(shí)才真正開(kāi)始用被封裝的調(diào)用方法調(diào)用場(chǎng)景腳本。被封裝的調(diào)用方法里同時(shí)包含了異常捕獲模塊,當(dāng)被調(diào)用的場(chǎng)景執(zhí)行過(guò)程中發(fā)生異常的時(shí)候就會(huì)被異常捕獲模塊捕獲到并交給異常處理模塊進(jìn)行處理,異常處理模塊首先會(huì)在配置文件中將此場(chǎng)景腳本的運(yùn)行狀態(tài)修改為運(yùn)行失敗,然后會(huì)捕獲當(dāng)前異常的圖片信息,然后獲取當(dāng)前異常的異常文字信息,這個(gè)文字信息包含了程序報(bào)錯(cuò)的詳細(xì)文字信息和腳本異常的信息形成整體的異常文本文件。然后再關(guān)閉報(bào)錯(cuò)或異常窗口,并關(guān)閉當(dāng)前場(chǎng)景打開(kāi)的功能。不管此場(chǎng)景腳本的執(zhí)行結(jié)果如何,系統(tǒng)都會(huì)執(zhí)行下一個(gè)場(chǎng)景腳本。而且所有過(guò)程的結(jié)果都會(huì)記錄在一個(gè)日志文件中。
本發(fā)明測(cè)試方法已經(jīng)在申請(qǐng)人的公司的ERP軟件產(chǎn)品的測(cè)試過(guò)程中進(jìn)行了應(yīng)用,試應(yīng)用方式如下
1.該產(chǎn)品的自動(dòng)化測(cè)試就是一個(gè)主腳本調(diào)用多個(gè)場(chǎng)景腳本的結(jié)構(gòu)。這方面不需要作任何修改。2.增加了腳本依賴關(guān)系表,記錄場(chǎng)景腳本間的依賴關(guān)系,以及場(chǎng)景重置的條件(包括用戶、日期、崗位、口令)。3.開(kāi)發(fā)了符合此方法的包含運(yùn)行條件判斷,程序重置,異常捕獲、處理等的公共的封裝過(guò)的腳本調(diào)用函數(shù)MyCalIkript。4.主腳本調(diào)用業(yè)務(wù)場(chǎng)景腳本的時(shí)候使用MyCallkript。應(yīng)用后能夠真正實(shí)現(xiàn)無(wú)人值守的智能的自動(dòng)化回歸測(cè)試,可以晚上下班后跑上腳本,然后第二天上班時(shí)分析腳本走查的結(jié)果(配置文件,異常信息,日志等)并據(jù)此進(jìn)行相關(guān)后續(xù)處理(登記問(wèn)題,修改腳本)。充分利用了時(shí)間和機(jī)器資源,提高了自動(dòng)化測(cè)試效率,縮短了程序測(cè)試周期。
權(quán)利要求
1.一種無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法,其特征在于包括以下內(nèi)容 以業(yè)務(wù)場(chǎng)景為單位組織腳本形成場(chǎng)景腳本,主腳本是對(duì)多個(gè)場(chǎng)景腳本調(diào)用的羅列; 場(chǎng)景之間的關(guān)系通過(guò)場(chǎng)景關(guān)系表的場(chǎng)景依賴項(xiàng)體現(xiàn);場(chǎng)景腳本運(yùn)行結(jié)果記錄在配置文件中;場(chǎng)景腳本運(yùn)行前檢查場(chǎng)景關(guān)系表里的依賴的場(chǎng)景的運(yùn)行結(jié)果,當(dāng)依賴場(chǎng)景運(yùn)行通過(guò)再運(yùn)行此場(chǎng)景;場(chǎng)景腳本執(zhí)行前檢查程序狀態(tài),當(dāng)程序不可用時(shí)將程序恢復(fù)可用狀態(tài); 主腳本對(duì)場(chǎng)景腳本的調(diào)用進(jìn)行封裝增加異常捕獲和處理,當(dāng)腳本走查發(fā)生異常時(shí),異常捕獲處理單元可以捕獲、記錄并處理相關(guān)異常信息;一個(gè)場(chǎng)景腳本執(zhí)行結(jié)束后都會(huì)回寫(xiě)配置文件中的運(yùn)行結(jié)果; 不管一個(gè)場(chǎng)景腳本執(zhí)行結(jié)果如何都可以執(zhí)行下一個(gè)場(chǎng)景腳本的走查。
2.根據(jù)權(quán)利要求1所述的無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法,其特征在于,設(shè)有日志文件,測(cè)試過(guò)程的所有情況都記錄在日志文件中。
3.根據(jù)權(quán)利要求1或2所述的無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法,其特征在于,步驟3中所述記錄場(chǎng)景運(yùn)行結(jié)果的配置文件和場(chǎng)景關(guān)系表的記錄是對(duì)應(yīng)的,可以根據(jù)場(chǎng)景關(guān)系表生成。
全文摘要
本發(fā)明公開(kāi)了一種無(wú)人值守的智能的自動(dòng)化回歸測(cè)試方法,屬于自動(dòng)化測(cè)試領(lǐng)域。該方法包括以下內(nèi)容以業(yè)務(wù)測(cè)試場(chǎng)景為單位組織腳本形成測(cè)試場(chǎng)景腳本,主腳本是對(duì)多個(gè)測(cè)試場(chǎng)景腳本調(diào)用的羅列;場(chǎng)景之間的關(guān)系通過(guò)場(chǎng)景關(guān)系表的場(chǎng)景依賴項(xiàng)體現(xiàn);場(chǎng)景腳本運(yùn)行結(jié)果記錄在配置文件中;場(chǎng)景腳本運(yùn)行前檢查場(chǎng)景關(guān)系表里的依賴的場(chǎng)景的運(yùn)行結(jié)果;場(chǎng)景腳本執(zhí)行前檢查程序狀態(tài);主腳本對(duì)場(chǎng)景腳本的調(diào)用進(jìn)行封裝增加異常捕獲和處理;一個(gè)場(chǎng)景腳本執(zhí)行結(jié)束后都會(huì)回寫(xiě)配置文件中的運(yùn)行結(jié)果;不管一個(gè)場(chǎng)景腳本執(zhí)行結(jié)果如何都可以執(zhí)行下一個(gè)場(chǎng)景腳本的走查。與現(xiàn)有技術(shù)相比,本發(fā)明的測(cè)試方法具有人工投入少、執(zhí)行效率高等特點(diǎn)。
文檔編號(hào)G06F11/36GK102184137SQ201110124960
公開(kāi)日2011年9月14日 申請(qǐng)日期2011年5月16日 優(yōu)先權(quán)日2011年5月16日
發(fā)明者劉俊紅, 程寶君 申請(qǐng)人:浪潮集團(tuán)山東通用軟件有限公司