專利名稱:終端、測試服務(wù)器和測試方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及終端、測試服務(wù)器和測試方法。
背景技術(shù):
目前自動(dòng)測試系統(tǒng)已經(jīng)廣泛存在,但是已有的自動(dòng)測試系統(tǒng),或者為了使得系統(tǒng)的理念有更廣的涵蓋面而并不具有實(shí)用性和可行性,或者針對性太強(qiáng)只適用于特定的領(lǐng)域,并沒有一種具體的自動(dòng)測試系統(tǒng)和方法能夠運(yùn)用到即時(shí)通訊系統(tǒng)上來。現(xiàn)如今,即時(shí)通訊系統(tǒng)被人們廣泛使用,功能也日益強(qiáng)大,由最初的聊天,文件傳輸,音視頻通話到現(xiàn)在的集成了單方多方短信,單方多方電話,電話視頻會(huì)議,數(shù)據(jù)共享等等。雖然這些功能看起來流程都很簡單,但是隱藏在背后的只有異常操作才能復(fù)現(xiàn)的漏洞和界面問題甚至用戶體驗(yàn)上的缺陷卻非常多,這些問題在測試過程中很難被發(fā)現(xiàn)到。因此需要一種用于即時(shí)通訊系統(tǒng)的自動(dòng)測試技術(shù),可檢測出在運(yùn)行即時(shí)通訊系統(tǒng)時(shí)可能出現(xiàn)的問題。
發(fā)明內(nèi)容
考慮到上述背景技術(shù),本發(fā)明所要解決的技術(shù)問題在于,提供一種用于即時(shí)通訊系統(tǒng)的自動(dòng)測試技術(shù),可自動(dòng)檢測出在運(yùn)行即時(shí)通訊系統(tǒng)時(shí)可能出現(xiàn)的問題和漏洞。有鑒于此,根據(jù)本發(fā)明的一個(gè)方面,提供了一種終端,包括:執(zhí)行單元,在接收到用戶的選擇觸發(fā)信號(hào)時(shí),執(zhí)行選擇的測試內(nèi)容,與安裝于所述終端中的即時(shí)通訊系統(tǒng)進(jìn)行數(shù)據(jù)交互;監(jiān)測單元,監(jiān)測所述即時(shí)通訊系統(tǒng)對所述測試內(nèi)容的響應(yīng);客戶端通信單元,連接至所述監(jiān)測單元,將監(jiān)測結(jié)果發(fā)送至測試服務(wù)器。測試內(nèi)容可以涉及即時(shí)通訊系統(tǒng)的多個(gè)方面,根據(jù)選擇的不同的測試內(nèi)容,來對即時(shí)通訊系統(tǒng)進(jìn)行測試,這樣就可以測試到即時(shí)通訊的各個(gè)方面,使得測試更全面,并且記錄測試過程,由測試服務(wù)器來對測試過程進(jìn)行運(yùn)算分析,無線人工參與,整個(gè)測試過程周期比較短,大大提高了測試效率。在上述技術(shù)方案中,優(yōu)選的,在所述測試內(nèi)容是操作流程腳本或異常操作流腳本時(shí),所述執(zhí)行單元包括:解析子單元、操作模擬子單元,其中,所述解析子單元用于解析所述操作流程腳本并將解析數(shù)據(jù)翻譯成操作指令,所述操作模擬子單元用于執(zhí)行所述操作指令;所述監(jiān)測單元在所述操作模擬子單元執(zhí)行所述操作指令時(shí),監(jiān)測所述即時(shí)通訊系統(tǒng)對所述操作指令的響應(yīng);所述終端還包括存儲(chǔ)器,保存本次操作流程的操作錄像和錯(cuò)誤文件,經(jīng)由所述客戶端通信單元將所述操作錄像和所述錯(cuò)誤文件發(fā)送所述測試服務(wù)器。讀取所選擇的腳本,模擬用戶在外設(shè)(鼠標(biāo)、鍵盤)上的操作,來啟動(dòng)程序,根據(jù)解析的操作指令,通過模擬的操作與應(yīng)用程序進(jìn)行交互,監(jiān)控每一步操作時(shí)應(yīng)用程序的響應(yīng),并保存本輪操作的錄像和必要的錯(cuò)誤信息。在上述技術(shù)方案中,優(yōu)選的,在所述測試內(nèi)容是界面顯示測試時(shí),所述執(zhí)行單元包括圖像處理子單元,用于提取在運(yùn)行所述即時(shí)通訊系統(tǒng)過程中,所述終端的顯示器生成的測試界面,將所述測試界面與配置界面進(jìn)行比較,根據(jù)比較結(jié)果在所述測試界面中標(biāo)記出差異,并經(jīng)由所述客戶端通信單元將標(biāo)記過的測試界面發(fā)送至所述測試服務(wù)器。在上述技術(shù)方案中,優(yōu)選的,在所述測試內(nèi)容是響應(yīng)時(shí)間測試時(shí),所述監(jiān)測單元統(tǒng)計(jì)操作響應(yīng)時(shí)間和操作次數(shù),經(jīng)由所述客戶端通信單元將統(tǒng)計(jì)結(jié)果發(fā)送所述測試服務(wù)器。記錄響應(yīng)時(shí)間差以及完成某個(gè)完整的功能必需的操作次數(shù),以確定是否需要優(yōu)化響應(yīng)時(shí)間差和操作次數(shù)。根據(jù)本發(fā)明的另一方面,還提供了一種測試服務(wù)器,包括:數(shù)據(jù)單元,保存更新后的測試內(nèi)容和終端上傳的監(jiān)測結(jié)果,將所述更新后的測試內(nèi)容經(jīng)由服務(wù)端通信單元發(fā)送至所述終端,以更新已保存于所述終端的測試內(nèi)容;所述服務(wù)端通信單元,與所述終端進(jìn)行通信,接收來自所述終端的監(jiān)測結(jié)果并將所述監(jiān)測結(jié)果傳輸至控制器,以及將所述控制器的分析運(yùn)算結(jié)果發(fā)送至監(jiān)控服務(wù)器;所述控制器,連接至所述數(shù)據(jù)單元和所述服務(wù)端通信單元,對所述監(jiān)測結(jié)果進(jìn)行分析運(yùn)算。測試服務(wù)器需要對終端上傳的監(jiān)測結(jié)果進(jìn)行分析,例如當(dāng)漏洞相同時(shí),只保留一份拷貝,無需將多個(gè)相同內(nèi)容的數(shù)據(jù)發(fā)送給監(jiān)控服務(wù)器,減少數(shù)據(jù)傳輸量,減輕網(wǎng)絡(luò)的負(fù)擔(dān)。在上述技術(shù)方案中,優(yōu)選的,所述服務(wù)端通信單元接收來自所述終端的開啟狀態(tài)并將所述開啟狀態(tài)發(fā)送至其他終端。方便終端之間確定對方的狀態(tài)。根據(jù)本發(fā)明的一種測試方法,用于即時(shí)通訊系統(tǒng),包括以下步驟:終端在接收到用戶的選擇觸發(fā)信號(hào)時(shí),執(zhí)行選擇的測試內(nèi)容,與安裝于所述終端中的所述即時(shí)通訊系統(tǒng)進(jìn)行數(shù)據(jù)交互;所述終端監(jiān)測所述即時(shí)通訊系統(tǒng)對所述測試內(nèi)容的響應(yīng),將監(jiān)測結(jié)果發(fā)送至測試服務(wù)器。測試內(nèi)容可以涉及即時(shí)通訊系統(tǒng)的多個(gè)方面,根據(jù)選擇的不同的測試內(nèi)容,來對即時(shí)通訊系統(tǒng)進(jìn)行測試,這樣就可以測試到即時(shí)通訊的各個(gè)方面,使得測試更全面,并且記錄測試過程,由測試服務(wù)器來對測試過程進(jìn)行運(yùn)算分析,無線人工參與,整個(gè)測試過程周期比較短,大大提高了測試效率。在上述技術(shù)方案中,優(yōu)選的,在所述測試內(nèi)容是操作流程腳本或異常操作流腳本時(shí),解析所述操作流程腳本并將解析數(shù)據(jù)翻譯成操作指令,以供操作模擬單元執(zhí)行;所述操作模擬單元執(zhí)行所述操作指令,監(jiān)測所述即時(shí)通訊系統(tǒng)對所述操作指令的響應(yīng);保存本次操作流程的操作錄像和錯(cuò)誤文件并將所述操作錄像和所述錯(cuò)誤文件發(fā)送所述測試服務(wù)器。讀取所選擇的腳本,模擬用戶在外設(shè)(鼠標(biāo)、鍵盤)上的操作,來啟動(dòng)程序,根據(jù)解析的操作指令,通過模擬的操作與應(yīng)用程序進(jìn)行交互,監(jiān)控每一步操作時(shí)應(yīng)用程序的響應(yīng),并保存本輪操作的錄像和必要的錯(cuò)誤信息。在上述技術(shù)方案中,優(yōu)選的,在所述測試內(nèi)容是界面顯示測試時(shí),提取在運(yùn)行所述即時(shí)通訊系統(tǒng)過程中,所述終端的顯示器生成的測試界面,并將所述測試界面與配置界面進(jìn)行比較;根據(jù)比較結(jié)果在所述測試界面中標(biāo)記出差異,并將標(biāo)記過的測試界面發(fā)送至所述測試服務(wù)器。在上述技術(shù)方案中,優(yōu)選的,在所述測試內(nèi)容是響應(yīng)時(shí)間測試時(shí),統(tǒng)計(jì)操作響應(yīng)時(shí)間和操作次數(shù),將統(tǒng)計(jì)結(jié)果發(fā)送所述測試服務(wù)器。記錄響應(yīng)時(shí)間差以及完成某個(gè)完整的功能必需的操作次數(shù),以確定是否需要優(yōu)化響應(yīng)時(shí)間差和操作次數(shù)。
在上述任一技術(shù)方案中,優(yōu)選的,所述測試服務(wù)器將更新后的測試內(nèi)容發(fā)送至所述終端,以更新保存于所述終端的所述測試內(nèi)容;所述測試服務(wù)器對所述終端傳送的所述監(jiān)測結(jié)果進(jìn)行分析運(yùn)算并將分析運(yùn)算結(jié)果發(fā)送至監(jiān)控服務(wù)器。通過上述技術(shù)方案,可自動(dòng)檢測出在運(yùn)行即時(shí)通訊系統(tǒng)時(shí)可能出現(xiàn)的問題和漏洞,并進(jìn)一步減輕終端的處理負(fù)擔(dān)和提高測試效率。
圖1A示出了根據(jù)本發(fā)明的實(shí)施例的終端的框圖;圖1B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的終端中執(zhí)行單元的框圖;圖1C示出了根據(jù)本發(fā)明的又一實(shí)施例的終端中執(zhí)行單元的框圖;圖2示出了根據(jù)本發(fā)明的實(shí)施例的測試服務(wù)器的框圖;圖3示出了根據(jù)本發(fā)明的實(shí)施例的測試系統(tǒng)的示意圖;圖4示出了根據(jù)本發(fā)明的實(shí)施例的終端與測試服務(wù)器進(jìn)行交互的示意圖;圖5示出了根據(jù)本發(fā)明的實(shí)施例的測試方法的流程圖;圖6示出了根據(jù)本發(fā)明的實(shí)施例的測試方法的流程圖。
具體實(shí)施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式
對本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。需要說明的是,在不沖突的情況下,本申請的實(shí)施例及實(shí)施例中的特征可以相互組合。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來實(shí)施,因此,本發(fā)明并不限于下面公開的具體實(shí)施例的限制。圖1A示出了根據(jù)本發(fā)明的實(shí)施例的終端的框圖。如圖1A所示,根據(jù)本發(fā)明的實(shí)施例的終端100,包括:執(zhí)行單元102,執(zhí)行選擇的測試內(nèi)容,與安裝于終端中的即時(shí)通訊系統(tǒng)進(jìn)行數(shù)據(jù)交互;監(jiān)測單元104,監(jiān)測即時(shí)通訊系統(tǒng)對測試內(nèi)容的響應(yīng);客戶端通信單元106,連接至監(jiān)測單元,將監(jiān)測結(jié)果發(fā)送至測試服務(wù)器。終端100還包括存儲(chǔ)器108,保存操作錄像和錯(cuò)誤文件,經(jīng)由客戶端通信單元106將操作錄像和錯(cuò)誤文件發(fā)送測試服務(wù)器。測試內(nèi)容可以涉及即時(shí)通訊系統(tǒng)的多個(gè)方面,根據(jù)選擇的不同的測試內(nèi)容,來對即時(shí)通訊系統(tǒng)進(jìn)行測試,這樣就可以測試到即時(shí)通訊的各個(gè)方面,使得測試更全面,并且記錄測試過程,由測試服務(wù)器來對測試過程進(jìn)行運(yùn)算分析,無線人工參與,整個(gè)測試過程周期比較短,大大提高了測試效率。本公開中描述的終端可包括移動(dòng)電話、智能電話、便攜式計(jì)算機(jī)、數(shù)字廣播終端、個(gè)人數(shù)字助理、導(dǎo)航系統(tǒng)等移動(dòng)終端,本領(lǐng)域技術(shù)人員清楚的是,除可應(yīng)用于移動(dòng)終端的情況之外,根據(jù)本公開中所述的實(shí)施方式的結(jié)構(gòu)還可應(yīng)用于諸如數(shù)字電視、臺(tái)式計(jì)算機(jī)等的固定終端。圖1B示出了根據(jù)本發(fā)明的一個(gè)實(shí)施例的終端中執(zhí)行單元的框圖。如圖1B所示,在測試內(nèi)容是操作流程腳本或異常操作流腳本時(shí),執(zhí)行單元102包括:解析子單元1022、操作模擬子單元1024,其中,解析子單元1022用于解析操作流程腳本并將解析數(shù)據(jù)翻譯成操作指令,操作模擬子單元1024用于執(zhí)行操作指令;監(jiān)測單元104在操作模擬子單元1024執(zhí)行操作指令時(shí),監(jiān)測即時(shí)通訊系統(tǒng)對操作指令的響應(yīng)。讀取所選擇的腳本,模擬用戶在外設(shè)(鼠標(biāo)、鍵盤)上的操作,來啟動(dòng)程序,根據(jù)解析的操作指令,通過模擬的操作與應(yīng)用程序進(jìn)行交互,監(jiān)控每一步操作時(shí)應(yīng)用程序的響應(yīng),并保存本輪操作的錄像和必要的錯(cuò)誤信息。圖1C示出了根據(jù)本發(fā)明的又一實(shí)施例的終端中執(zhí)行單元的框圖。如圖1C所示,在測試內(nèi)容是界面顯示測試時(shí),執(zhí)行單元102包括圖像處理子單元
I026,用于提取在運(yùn)行即時(shí)通訊系統(tǒng)過程中,終端100的顯示器生成的測試界面,將測試界面與配置界面進(jìn)行比較,根據(jù)比較結(jié)果在測試界面中標(biāo)記出差異,并經(jīng)由客戶端通信單元106將標(biāo)記過的測試界面發(fā)送至測試服務(wù)器。在測試內(nèi)容是響應(yīng)時(shí)間測試時(shí),監(jiān)測單元104統(tǒng)計(jì)操作響應(yīng)時(shí)間和操作次數(shù),經(jīng)由客戶端通信單元106將統(tǒng)計(jì)結(jié)果發(fā)送測試服務(wù)器。記錄響應(yīng)時(shí)間差以及完成某個(gè)完整的功能必需的操作次數(shù),以確定是否需要優(yōu)化響應(yīng)時(shí)間差和操作次數(shù)。因此根據(jù)本發(fā)明的終端可以針對即時(shí)通訊系統(tǒng)的不同功能完成不同功能的測試,各功能的測試之間并不相互矛盾,在基于操作流程腳本完成操作測試的同時(shí),也可以進(jìn)行響應(yīng)時(shí)間的測試以及界面顯示的測試。圖2示出了根據(jù)本發(fā)明的實(shí)施例的測試服務(wù)器的框圖。如圖2所示,根據(jù)本發(fā)明的實(shí)施例的測試服務(wù)器200,包括:數(shù)據(jù)單元202,保存更新后的測試內(nèi)容和終端上傳的監(jiān)測結(jié)果,將更新后的測試內(nèi)容經(jīng)由服務(wù)端通信單元204發(fā)送至終端,以更新已保存于終端的測試內(nèi)容;服務(wù)端通信單元204,與終端進(jìn)行通信,接收來自終端(如圖1A所示的終端)的監(jiān)測結(jié)果并將監(jiān)測結(jié)果傳輸至控制器206,以及將控制器206的分析運(yùn)算結(jié)果發(fā)送至監(jiān)控服務(wù)器;控制器206,連接至數(shù)據(jù)單元202和服務(wù)端通信單元204,對監(jiān)測結(jié)果進(jìn)行分析運(yùn)算。測試服務(wù)器需要對終端上傳的監(jiān)測結(jié)果進(jìn)行分析,例如當(dāng)漏洞相同時(shí),只保留一份拷貝,無需將多個(gè)相同內(nèi)容的數(shù)據(jù)發(fā)送給監(jiān)控服務(wù)器,減少數(shù)據(jù)傳輸量,減輕網(wǎng)絡(luò)的負(fù)擔(dān)。服務(wù)端通信單元204還接收來自終端的開啟狀態(tài)并將開啟狀態(tài)發(fā)送至其他終端。方便終端之間確定對方的狀態(tài)。圖3示出了根據(jù)本發(fā)明的實(shí)施例的測試系統(tǒng)的示意圖。如圖3所示,在實(shí)現(xiàn)自動(dòng)測試時(shí),需要有客戶端和服務(wù)器的支持,每一個(gè)運(yùn)行了即時(shí)通訊客戶端(可與紀(jì)實(shí)通訊服務(wù)器302進(jìn)行數(shù)據(jù)交互)的終端上要求同時(shí)安裝有自動(dòng)測試系統(tǒng)的客戶端,并且需要和自動(dòng)測試系統(tǒng)的測試服務(wù)器200連接。測試服務(wù)器200與開發(fā)人員的監(jiān)控服務(wù)器(SVN服務(wù)器)300連接,向監(jiān)控服務(wù)器300更新測試結(jié)果的數(shù)據(jù)。也就是說,系統(tǒng)運(yùn)行期間,每一個(gè)運(yùn)行有即時(shí)通訊軟件的終端上,必須有配套的測試程序客戶端,并全程監(jiān)控即時(shí)通訊軟件。當(dāng)開啟該自動(dòng)測試系統(tǒng)時(shí),可以選擇本次測試的內(nèi)容:正常的用例測試,異常操作流測試,界面效果測試,用戶體驗(yàn)測試。
當(dāng)用戶選擇正常的用例測試時(shí),開始測試。系統(tǒng)讀取預(yù)置的腳本文件來,并模擬用戶在外設(shè)(鼠標(biāo),鍵盤等)上的操作,來啟動(dòng)程序,并根據(jù)腳本文件中的約定,系統(tǒng)通過模擬的操作與應(yīng)用程序進(jìn)行交互,系統(tǒng)會(huì)監(jiān)控每一步操作,應(yīng)用程序給出的響應(yīng),進(jìn)行錄像并保存為文件。如果軟件發(fā)生了錯(cuò)誤,系統(tǒng)會(huì)把本輪操作的錄像和必要的錯(cuò)誤信息(比如軟件崩潰的dump文件)上傳到監(jiān)控服務(wù)器,供開發(fā)人員定位修改。在用戶選擇了異常的操作流測試時(shí),測試程序在保證每一個(gè)常規(guī)用例被測試的情況下,會(huì)試圖以密集方式與即時(shí)通訊應(yīng)用程序進(jìn)行交互。這些交互可以是模擬用戶主動(dòng)發(fā)起的交互(比如用戶進(jìn)行了開發(fā)者沒有預(yù)期到的單擊某個(gè)按鈕,或者選中某個(gè)菜單等),也可以是其他的導(dǎo)致軟件運(yùn)行的環(huán)境改變的交互(比如網(wǎng)絡(luò)環(huán)境異常,異常關(guān)機(jī)等),系統(tǒng)會(huì)試圖以排列組合的方式,對每一種狀態(tài)下,模擬用戶所有可達(dá)的操作和遍歷所有可能的運(yùn)行環(huán)境變更。如果軟件發(fā)生了錯(cuò)誤,系統(tǒng)會(huì)把本輪測試的錄像和錯(cuò)誤信息上傳到測試服務(wù)器。在用戶選擇了界面效果測試時(shí),需要提前為系統(tǒng)準(zhǔn)備好全面的效果圖,效果圖可以包括軟件在每一個(gè)狀態(tài)下的每一個(gè)界面。即時(shí)通訊應(yīng)用程序啟動(dòng)后,系統(tǒng)會(huì)監(jiān)控該應(yīng)用程序的每一個(gè)狀態(tài)下的每一個(gè)界面,并把界面抽取出來,和提前準(zhǔn)備好的界面效果圖作比較,如果發(fā)現(xiàn)有差異,系統(tǒng)會(huì)在抽取出來的圖中標(biāo)記出來,并保存為圖片文件上傳到測試服務(wù)器。在用戶選擇了用戶體驗(yàn)測試時(shí),用戶體驗(yàn)測試一般是在前面三種測試和改進(jìn)都完成的情況下進(jìn)行的,這一輪測試主要是統(tǒng)計(jì)軟件對于用戶的操作的響應(yīng)情況,并記錄數(shù)據(jù)保存下來供參考,以給開發(fā)人員提供優(yōu)化和改進(jìn)的依據(jù)。例如,統(tǒng)計(jì)用戶發(fā)起一個(gè)操作直到程序給出響應(yīng)的時(shí)間差,用戶想要使用某個(gè)完整的功能必需要的操作次數(shù)等。圖4示出了根據(jù)本發(fā)明的實(shí)施例的終端與測試服務(wù)器進(jìn)行交互的示意圖。如圖4所示,在終端側(cè),客戶端通信單元106,用于與測試服務(wù)器進(jìn)行數(shù)據(jù)交換,包括通知遠(yuǎn)程的客戶端本地的即時(shí)通訊軟件的狀態(tài),向測試服務(wù)器上傳測試結(jié)果等數(shù)據(jù)。存儲(chǔ)器108用于保存歷次測試結(jié)果數(shù)據(jù),包括操作錄像,軟件崩潰的dump文件,圖片文件,操作統(tǒng)計(jì)數(shù)據(jù)。軟件的操作流是開發(fā)人員提前寫好的腳本文件,系統(tǒng)通過讀取并解析腳本文件而知道怎樣的一系列操作能夠完成一個(gè)用例,然后通過模擬用戶的外設(shè)(鍵盤、鼠標(biāo)等)操作來完成這些用例。解析子單元1022用于對腳本文件進(jìn)行解析并生成操作模擬子單元1024可以執(zhí)行的命令。操作模擬子單元1024,主要根據(jù)腳本文件的解析情況來模擬用戶的操作,鍵盤輸入,鼠標(biāo)輸入,攝像頭等。圖像處理子單元1026,在進(jìn)行界面效果測試時(shí),進(jìn)行圖像比較和標(biāo)記。在測試服務(wù)器側(cè),服務(wù)器通信單元204,用于與終端交換數(shù)據(jù),包括轉(zhuǎn)發(fā)各個(gè)客戶端報(bào)告的它們各自監(jiān)控的即時(shí)通訊軟件的狀態(tài),接收客戶端上傳的測試數(shù)據(jù),為客戶端更新腳本文件,向開發(fā)人員的監(jiān)控服務(wù)器發(fā)送測試數(shù)據(jù)。數(shù)據(jù)單元202,保存客戶端上傳的測試數(shù)據(jù)??刂破?06,每一個(gè)客戶端都會(huì)向測試服務(wù)器上傳測試數(shù)據(jù),有可能很多客戶端上傳的測試數(shù)據(jù)反映的是同一個(gè)問題,服務(wù)器需要合并這些問題,同一個(gè)問題的測試數(shù)據(jù)只保留一份拷貝。
圖5示出了根據(jù)本發(fā)明的實(shí)施例的測試方法的流程圖。如圖5所示,根據(jù)本發(fā)明的實(shí)施例的測試方法,用于即時(shí)通訊系統(tǒng),包括以下步驟:步驟502,終端在接收到用戶的選擇觸發(fā)信號(hào)時(shí),執(zhí)行選擇的測試內(nèi)容,與安裝于終端中的即時(shí)通訊系統(tǒng)進(jìn)行數(shù)據(jù)交互;步驟504,終端監(jiān)測即時(shí)通訊系統(tǒng)對測試內(nèi)容的響應(yīng),將監(jiān)測結(jié)果發(fā)送至測試服務(wù)器。測試內(nèi)容可以涉及即時(shí)通訊系統(tǒng)的多個(gè)方面,根據(jù)選擇的不同的測試內(nèi)容,來對即時(shí)通訊系統(tǒng)進(jìn)行測試,這樣就可以測試到即時(shí)通訊的各個(gè)方面,使得測試更全面,并且記錄測試過程,由測試服務(wù)器來對測試過程進(jìn)行運(yùn)算分析,無線人工參與,整個(gè)測試過程周期比較短,大大提高了測試效率。優(yōu)選的,在測試內(nèi)容是操作流程腳本或異常操作流腳本時(shí),解析操作流程腳本并將解析數(shù)據(jù)翻譯成操作指令,以供操作模擬單元執(zhí)行;操作模擬單元執(zhí)行操作指令,監(jiān)測即時(shí)通訊系統(tǒng)對操作指令的響應(yīng);保存本次操作流程的操作錄像和錯(cuò)誤文件并將操作錄像和錯(cuò)誤文件發(fā)送測試服務(wù)器。讀取所選擇的腳本,模擬用戶在外設(shè)(鼠標(biāo)、鍵盤)上的操作,來啟動(dòng)程序,根據(jù)解析的操作指令,通過模擬的操作與應(yīng)用程序進(jìn)行交互,監(jiān)控每一步操作時(shí)應(yīng)用程序的響應(yīng),并保存本輪操作的錄像和必要的錯(cuò)誤信息。優(yōu)選的,在測試內(nèi)容是界面顯示測試時(shí),提取在運(yùn)行即時(shí)通訊系統(tǒng)過程中,終端的顯示器生成的測試界面,并將測試界面與配置界面進(jìn)行比較;根據(jù)比較結(jié)果在測試界面中標(biāo)記出差異,并將標(biāo)記過的測試界面發(fā)送至測試服務(wù)器。優(yōu)選的,在測試內(nèi)容是響應(yīng)時(shí)間測試時(shí),統(tǒng)計(jì)操作響應(yīng)時(shí)間和操作次數(shù),將統(tǒng)計(jì)結(jié)果發(fā)送測試服務(wù)器。記錄響應(yīng)時(shí)間差以及完成某個(gè)完整的功能必需的操作次數(shù),以確定是否需要優(yōu)化響應(yīng)時(shí)間差和操作次數(shù)。測試服務(wù)器將更新后的測試內(nèi)容發(fā)送至終端,以更新保存于終端的測試內(nèi)容;測試服務(wù)器對終端傳送的監(jiān)測結(jié)果進(jìn)行分析運(yùn)算并將分析運(yùn)算結(jié)果發(fā)送至監(jiān)控服務(wù)器。圖6示出了根據(jù)本發(fā)明的實(shí)施例的測試方法的流程圖,大致描述了為提供一次完整的測試的工作流程。下面將對整個(gè)流程分步驟進(jìn)行詳細(xì)的闡述。當(dāng)用戶開啟客戶端后(以下敘述中,流程中較為單一的步驟,如啟動(dòng)服務(wù),不專門解釋)??蛻舳藭?huì)向服務(wù)器發(fā)送消息,通知測試服務(wù)器客戶端已經(jīng)開啟,服務(wù)器會(huì)把消息轉(zhuǎn)發(fā)給其他的客戶端,這樣當(dāng)其他的客戶端開啟后,本客戶端也能收到通知。開啟后,客戶端還會(huì)檢查,當(dāng)前的機(jī)器是否已經(jīng)安裝了要測試的即時(shí)通訊客戶端,步驟602。如果沒有安裝,則提示用戶測試對象沒有安裝,于是客戶端進(jìn)入到等待狀態(tài)。如果已經(jīng)安裝了測試對象,客戶端就進(jìn)入選擇界面,等待用戶選擇本次要測試的內(nèi)容,正常用例測試,異常操作流測試,界面效果測試,或用戶體驗(yàn)測試,步驟604。如果用戶選擇了正常用例測試,則啟動(dòng)解析子單元,解析腳本文件,把解析的數(shù)據(jù)翻譯成操作模擬子單元能夠執(zhí)行的操作命令,等待操作模擬單元來讀取,步驟606。此時(shí)需要判斷用戶當(dāng)初選擇的哪種測試,因?yàn)槠渌臏y試類型也有可能進(jìn)入這個(gè)分支,根據(jù)判斷的結(jié)果做出不同的響應(yīng),步驟610。如果判斷是正常用例測試,操作模擬子單元就要開始對事先讀入內(nèi)存的操縱指令開始操作,并對操縱流程錄像,步驟612。每次完成一個(gè)用例,如果某個(gè)用例不能正常的完成,就表示這個(gè)功能有問題,就要把本用例的操作流程的錄像保存下來。如果這個(gè)漏洞不阻礙下一個(gè)用例的測試,就繼續(xù)測試下一個(gè)用例,并重新錄像;如果阻礙了下一個(gè)用例的測試(比如程序已經(jīng)崩潰掉),就退出即時(shí)通訊客戶端,重新啟動(dòng)規(guī)避掉上一個(gè)用例,測試下一個(gè)用例,步驟614。如此往復(fù),依次執(zhí)行下一個(gè)操作流程,直到完畢,步驟616。所有測試用例完成以后,本輪測試結(jié)束,上傳本次測試的數(shù)據(jù),步驟618。在步驟604中,如果用戶選擇了異常操作流測試,則和正常用例測試一樣進(jìn)入步驟606和610,而步驟610的判斷結(jié)果為否。此時(shí)操作模擬子單元仍然操作軟件,使能夠遍歷所有用例。和正常用例不同的是,在任意一次操作之后的任何一個(gè)狀態(tài),操作模擬子單元都會(huì)試圖去從任何一個(gè)可能的入口去操作軟件。例如在正在呼叫某個(gè)用戶時(shí)注銷程序,在對方正準(zhǔn)備向我發(fā)送文件時(shí)修改狀態(tài),正在和某個(gè)聯(lián)系人聊天時(shí)刪除這個(gè)聯(lián)系人,使用和不使用代理登錄程序等等這種異常操作流,對于即時(shí)通訊軟件的任何一個(gè)狀態(tài)都要去遍歷這些操作和環(huán)境變換。每一個(gè)異常,都要把完整的流程錄像保存為文件,以及程序崩潰的dump文件也要保存,步驟624。所有用例和所有的異常操作流的組合完畢以后,異常操作流測試完畢,進(jìn)行步驟612 和 616。在步驟604中,如果用戶選擇的是界面效果測試,客戶端除了要讀取操作流腳本文件以外還要分析事先準(zhǔn)備好的界面效果圖,步驟608。操作模擬子單元操作應(yīng)用程序,使得應(yīng)用程序按次序展示出所有的界面。每展示出一個(gè)界面,客戶端把這個(gè)界面的效果抽取成圖像,并會(huì)找到與該界面對應(yīng)的效果圖,并啟動(dòng)圖像處理子單元,分析軟件界面和效果像的差異,步驟608。如果判斷出軟件界面和效果圖不一致,就在抽取出來的圖上做出標(biāo)記,并保存為圖片文件,步驟620。當(dāng)比較完所有界面后,界面效果測試完畢,進(jìn)行步驟618。在步驟604中,如果用戶選擇的是用戶體驗(yàn)測試,客戶端仍然會(huì)讀取操作流腳本文件,然后在操作模擬子單元操作軟件時(shí),統(tǒng)計(jì)軟件對于用戶操作的響應(yīng)情況,并記錄數(shù)據(jù)保存下來供參考,以給開發(fā)人員提供優(yōu)化和改進(jìn)的依據(jù)。例如,用戶發(fā)起一個(gè)操作直到程序給出響應(yīng)的時(shí)間差,用戶想要使用某個(gè)完整的功能必需要的操作次數(shù)等,步驟622。為了科學(xué)地統(tǒng)計(jì),用戶體驗(yàn)測試會(huì)重復(fù)很多次用例,以統(tǒng)計(jì)出平均水平。當(dāng)所有統(tǒng)計(jì)完成以后,用戶體驗(yàn)測試完畢,進(jìn)行步驟618。以上結(jié)合附圖詳細(xì)說明了根據(jù)本發(fā)明的技術(shù)方案,該自動(dòng)測試方案能夠解決即時(shí)通訊軟件客戶端的自動(dòng)測試問題,提高測試效率,從而節(jié)省人力物力,發(fā)現(xiàn)人為測試難以發(fā)現(xiàn)的異常操作帶來的問題,縮短開發(fā)和測試周期。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的技術(shù)人員來說,本發(fā)明可以有各種更改和變化。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種終端,其特征在于,包括: 執(zhí)行單元,在接收到用戶的選擇觸發(fā)信號(hào)時(shí),執(zhí)行選擇的測試內(nèi)容,與安裝于所述終端中的即時(shí)通訊系統(tǒng)進(jìn)行數(shù)據(jù)交互; 監(jiān)測單元,監(jiān)測所述即時(shí)通訊系統(tǒng)對所述測試內(nèi)容的響應(yīng); 客戶端通信單元,連接至所述監(jiān)測單元,將監(jiān)測結(jié)果發(fā)送至測試服務(wù)器。
2.根據(jù)權(quán)利要求1所述的終端,其特征在于,在所述測試內(nèi)容是操作流程腳本或異常操作流腳本時(shí),所述執(zhí)行單元包括:解析子單元、操作模擬子單元,其中,所述解析子單元用于解析所述操作流程腳本并將解析數(shù)據(jù)翻譯成操作指令,所述操作模擬子單元用于執(zhí)行所述操作指令; 所述監(jiān)測單元在所述操作模擬子單元執(zhí)行所述操作指令時(shí),監(jiān)測所述即時(shí)通訊系統(tǒng)對所述操作指令的響應(yīng); 所述終端還包括存儲(chǔ)器,保存本次操作流程的操作錄像和錯(cuò)誤文件,經(jīng)由所述客戶端通信單元將所述操作錄像和所述錯(cuò)誤文件發(fā)送所述測試服務(wù)器。
3.根據(jù)權(quán)利要求1所述的終端,其特征在于,在所述測試內(nèi)容是界面顯示測試時(shí),所述執(zhí)行單元包括圖像處理子單元,用于提取在運(yùn)行所述即時(shí)通訊系統(tǒng)過程中,所述終端的顯示器生成的測試界面,將所述測試界面與配置界面進(jìn)行比較,根據(jù)比較結(jié)果在所述測試界面中標(biāo)記出差異,并經(jīng)由所述客戶端通信單元將標(biāo)記過的測試界面發(fā)送至所述測試服務(wù)器。
4.根據(jù)權(quán)利要求1至3中任一項(xiàng)所述的終端,其特征在于,在所述測試內(nèi)容是響應(yīng)時(shí)間測試時(shí),所述監(jiān)測單元統(tǒng)計(jì)操作響應(yīng)時(shí)間和操作次數(shù),經(jīng)由所述客戶端通信單元將統(tǒng)計(jì)結(jié)果發(fā)送所述測試服務(wù)器。
5.—種測試服務(wù)器,其特征在于,包括: 數(shù)據(jù)單元,保存更新后的測試內(nèi)容和終端上傳的監(jiān)測結(jié)果,將所述更新后的測試內(nèi)容經(jīng)由服務(wù)端通信單元發(fā)送至所述終端,以更新已保存于所述終端的測試內(nèi)容; 所述服務(wù)端通信單元,與所述終端進(jìn)行通信,接收來自所述終端的監(jiān)測結(jié)果并將所述監(jiān)測結(jié)果傳輸至控制器,以及將所述控制器的分析運(yùn)算結(jié)果發(fā)送至監(jiān)控服務(wù)器; 所述控制器,連接至所述數(shù)據(jù)單元和所述服務(wù)端通信單元,對所述監(jiān)測結(jié)果進(jìn)行分析運(yùn)算。
6.根據(jù)權(quán)利要求5所述的測試服務(wù)器,其特征在于,所述服務(wù)端通信單元接收來自所述終端的開啟狀態(tài)并將所述開啟狀態(tài)發(fā)送至其他終端。
7.一種測試方法,其特征在于,用于即時(shí)通訊系統(tǒng),包括以下步驟: 終端在接收到用戶的選擇觸發(fā)信號(hào)時(shí),執(zhí)行選擇的測試內(nèi)容,與安裝于所述終端中的所述即時(shí)通訊系統(tǒng)進(jìn)行數(shù)據(jù)交互; 所述終端監(jiān)測所述即時(shí)通訊系統(tǒng)對所述測試內(nèi)容的響應(yīng),將監(jiān)測結(jié)果發(fā)送至測試服務(wù)器。
8.根據(jù)權(quán)利要求7所述的測試方法,其特征在于,在所述測試內(nèi)容是操作流程腳本或異常操作流腳本時(shí),解析所述操作流程腳本并將解析數(shù)據(jù)翻譯成操作指令,以供操作模擬單元執(zhí)行; 所述操作模擬單元執(zhí)行所述操作指令,監(jiān)測所述即時(shí)通訊系統(tǒng)對所述操作指令的響應(yīng); 保存本次操作流程的操作錄像和錯(cuò)誤文件并將所述操作錄像和所述錯(cuò)誤文件發(fā)送所述測試服務(wù)器。
9.根據(jù)權(quán)利要求7所述的測試方法,其特征在于,在所述測試內(nèi)容是界面顯示測試時(shí),提取在運(yùn)行所述即時(shí)通訊系統(tǒng)過程中,所述終端的顯示器生成的測試界面,并將所述測試界面與配置界面進(jìn)行比較; 根據(jù)比較結(jié)果在所述測試界面中標(biāo)記出差異,并將標(biāo)記過的測試界面發(fā)送至所述測試服務(wù)器; 在所述測試內(nèi)容是響應(yīng)時(shí)間測試時(shí),統(tǒng)計(jì)操作響應(yīng)時(shí)間和操作次數(shù),將統(tǒng)計(jì)結(jié)果發(fā)送所述測試服務(wù)器。
10.根據(jù)權(quán)利要求7至9中任一項(xiàng)所述的測試方法,其特征在于,所述測試服務(wù)器將更新后的測試內(nèi)容發(fā)送至所述終端,以更新保存于所述終端的所述測試內(nèi)容; 所述測試服務(wù)器對所述終端傳送的所述監(jiān)測結(jié)果進(jìn)行分析運(yùn)算并將分析運(yùn)算結(jié)果發(fā)送至監(jiān)控服務(wù) 器。
全文摘要
本發(fā)明提供了一種終端,包括執(zhí)行單元,在接收到用戶的選擇觸發(fā)信號(hào)時(shí),執(zhí)行選擇的測試內(nèi)容,與安裝于所述終端中的即時(shí)通訊系統(tǒng)進(jìn)行數(shù)據(jù)交互;監(jiān)測單元,監(jiān)測所述即時(shí)通訊系統(tǒng)對所述測試內(nèi)容的響應(yīng);客戶端通信單元,連接至所述監(jiān)測單元,將監(jiān)測結(jié)果發(fā)送至測試服務(wù)器。本發(fā)明還提供了一種測試服務(wù)器和測試方法。根據(jù)本發(fā)明的技術(shù)方案,可自動(dòng)檢測出在運(yùn)行即時(shí)通訊系統(tǒng)時(shí)可能出現(xiàn)的問題。
文檔編號(hào)H04L12/26GK103139010SQ20121045360
公開日2013年6月5日 申請日期2012年11月13日 優(yōu)先權(quán)日2012年11月13日
發(fā)明者吳浩, 楊志鵬, 李永陽 申請人:深圳中興網(wǎng)信科技有限公司