欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

用于外部測(cè)試平臺(tái)的應(yīng)用測(cè)試方法和系統(tǒng)與流程

文檔序號(hào):11154841閱讀:342來源:國(guó)知局
用于外部測(cè)試平臺(tái)的應(yīng)用測(cè)試方法和系統(tǒng)與制造工藝

本發(fā)明涉及程序測(cè)試,尤其涉及一種用于外部測(cè)試平臺(tái)的應(yīng)用測(cè)試方法和系統(tǒng)。



背景技術(shù):

隨著電子技術(shù)的發(fā)展,尤其是移動(dòng)客戶端的普及,應(yīng)用提供方(例如,移動(dòng)APP的提供商)對(duì)產(chǎn)品質(zhì)量的重視程度也越來越高。在應(yīng)用的測(cè)試過程中,應(yīng)用提供方加入越來越多的自動(dòng)化測(cè)試手段以保障質(zhì)量。在自動(dòng)化測(cè)試過程中,需要對(duì)在客戶端上獨(dú)立運(yùn)行的應(yīng)用進(jìn)行測(cè)試,以便模擬用戶實(shí)際的使用體驗(yàn)。在現(xiàn)有的解決方案中,首先外部測(cè)試平臺(tái)給待測(cè)應(yīng)用下發(fā)測(cè)試任務(wù);測(cè)試應(yīng)用隨后開始測(cè)試,執(zhí)行測(cè)試腳本;測(cè)試過程中待測(cè)應(yīng)用上報(bào)測(cè)試數(shù)據(jù);測(cè)試結(jié)束后測(cè)試平臺(tái)分析測(cè)試數(shù)據(jù)生成測(cè)試報(bào)告。

由上可知,待測(cè)應(yīng)用被動(dòng)接收測(cè)試任務(wù)。在測(cè)試過程中,如若需要調(diào)整測(cè)試力度或是參數(shù),則通常需要在外部測(cè)試平臺(tái)和待測(cè)應(yīng)用之間建立通信。例如,當(dāng)即時(shí)通訊模塊存在大量?jī)?nèi)存告警情況下,希望外部測(cè)試平臺(tái)能夠自動(dòng)調(diào)整即時(shí)通訊模塊的測(cè)試力度,做到靈活改變測(cè)試隨機(jī)事件權(quán)重而實(shí)現(xiàn)智能測(cè)試。為了實(shí)現(xiàn)智能測(cè)試,外部測(cè)試平臺(tái)需要在測(cè)試過程中給待測(cè)應(yīng)用發(fā)送測(cè)試指令使其按照指令工作,如:?jiǎn)?dòng)測(cè)試,打開某個(gè)頁面,開啟性能數(shù)據(jù)收集,開啟統(tǒng)計(jì)開關(guān),調(diào)整測(cè)試任務(wù),結(jié)束測(cè)試任務(wù)等。待測(cè)應(yīng)用同時(shí)需要發(fā)送消息給外部測(cè)試平臺(tái)告知其測(cè)試情況,如:測(cè)試進(jìn)展情況,性能測(cè)試數(shù)據(jù)情況,測(cè)試結(jié)果等。

外部測(cè)試平臺(tái)和待測(cè)應(yīng)用在測(cè)試過程中通常采用網(wǎng)絡(luò)通信方式。圖1示出了現(xiàn)有技術(shù)中外部測(cè)試平臺(tái)與待測(cè)應(yīng)用的通信示意圖。如圖所示,在測(cè)試平臺(tái)與待測(cè)應(yīng)用進(jìn)行通信之前,需要先進(jìn)行網(wǎng)絡(luò)連接。一般情況下,網(wǎng)絡(luò)連接使用socket(套接字)網(wǎng)絡(luò)通信方式實(shí)現(xiàn),這需要客戶端上的待測(cè)應(yīng)用發(fā)起連接請(qǐng)求,并且需要測(cè)試平臺(tái)接受請(qǐng)求并握手來實(shí)現(xiàn)網(wǎng)絡(luò)連接。此外,對(duì)于例如iOS系統(tǒng)的封閉性系統(tǒng),不僅需要建立網(wǎng)絡(luò)連接,還需要搭建客戶端-服務(wù)器(CS)程序架構(gòu)才能實(shí)現(xiàn)待測(cè)應(yīng)用與外部系統(tǒng)通信。

鑒于現(xiàn)有技術(shù)中應(yīng)用測(cè)試通信的諸多不便,因此需要一種新的用于外部應(yīng)用測(cè)試的方法和系統(tǒng),以方便可靠地實(shí)現(xiàn)測(cè)試過程中外部測(cè)試平臺(tái)與待測(cè)應(yīng)用之間的通信。



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

為了解決現(xiàn)有技術(shù)中的至少一個(gè)問題,本發(fā)明提出了一種用于外部測(cè)試平臺(tái)和待測(cè)應(yīng)用之間的新的通信方案,所述方案無需測(cè)試平臺(tái)與待測(cè)應(yīng)用間的網(wǎng)絡(luò)連接,就能夠通過設(shè)備間的連接進(jìn)行通信,由此直接以參數(shù)形式傳遞測(cè)試命令來告知待測(cè)應(yīng)用所述測(cè)試平臺(tái)的存在并啟動(dòng)測(cè)試。后續(xù)的測(cè)試命令也同樣能夠以參數(shù)方式直接傳遞。這樣,能夠?qū)崿F(xiàn)測(cè)試過程中方便可靠的測(cè)試通信,尤其適用于本需要額外搭建CS程序結(jié)構(gòu)才能實(shí)現(xiàn)測(cè)試過程中網(wǎng)絡(luò)通信的iOS系統(tǒng)和其他封閉系統(tǒng)。

根據(jù)本發(fā)明的一個(gè)方面,提出了一種應(yīng)用測(cè)試方法,由主機(jī)上的測(cè)試平臺(tái)對(duì)所述主機(jī)所連接設(shè)備上的待測(cè)應(yīng)用進(jìn)行測(cè)試,并且所述待測(cè)應(yīng)用在封閉式操作系統(tǒng)內(nèi)運(yùn)行,所述方法包括:向待測(cè)應(yīng)用以參數(shù)方式傳遞啟動(dòng)測(cè)試指令以啟動(dòng)測(cè)試;以及獲取來自所述待測(cè)應(yīng)用的測(cè)試信息。

由此,能夠?qū)崿F(xiàn)測(cè)試平臺(tái)與待測(cè)應(yīng)用的直接通信,提升外部測(cè)試的便利性與可靠性。

優(yōu)選地,所述主機(jī)和所述設(shè)備是經(jīng)由線纜連接的。這樣,由于主機(jī)與客戶端之間的在前連接,就能夠免除測(cè)試平臺(tái)與待測(cè)應(yīng)用之間的連接需要,由此進(jìn)一步提升測(cè)試效率。優(yōu)選地,所述線纜連接可以是USB連接。

優(yōu)選地,前述方法還可以包括向所述待測(cè)應(yīng)用傳遞后續(xù)的測(cè)試指令,由此提升對(duì)測(cè)試過程的控制精度和水平。

優(yōu)選地,前述方法還可以包括根據(jù)獲得的測(cè)試信息,確定向待測(cè)應(yīng)用傳遞的所述后續(xù)測(cè)試指令。由此,能夠?qū)崿F(xiàn)對(duì)測(cè)試過程更為靈活準(zhǔn)確的控制,由此提升測(cè)試質(zhì)量。

優(yōu)選地,以參數(shù)方式傳遞測(cè)試指令可以是以參數(shù)傳入環(huán)境變量值的方式傳遞測(cè)試指令。這樣,就能夠借由可在應(yīng)用間傳遞的值來實(shí)現(xiàn)更為便利的信息傳遞,由此提升系統(tǒng)效率。

優(yōu)選地,封閉式操作系統(tǒng)是iOS系統(tǒng),并且以參數(shù)方式傳遞測(cè)試指令是通過instruments工具實(shí)現(xiàn)的,從而使得本發(fā)明尤其適用于流行的操作系統(tǒng)。

優(yōu)選地,獲取來自待測(cè)應(yīng)用的測(cè)試信息可以包括:發(fā)送測(cè)試信息獲取命令以獲取來自所述待測(cè)應(yīng)用的測(cè)試信息。由此確保測(cè)試平臺(tái)對(duì)測(cè)試信息獲取的主動(dòng)性。

優(yōu)選地,發(fā)送的所述測(cè)試信息獲取命令是idevicesyslog命令,從而使得本發(fā)明進(jìn)一步適用于流行的iOS操作系統(tǒng)。

優(yōu)選地,獲取來自所述待測(cè)應(yīng)用的測(cè)試信息包括:獲取來自所述待測(cè)應(yīng)用的測(cè)試日志并加以分析得到測(cè)試信息;或者獲取所述待測(cè)應(yīng)用寫入數(shù)據(jù)庫中的測(cè)試數(shù)據(jù)作為測(cè)試信息。這樣,就能夠獲取適用于各類場(chǎng)景的測(cè)試信息,以便應(yīng)對(duì)實(shí)際測(cè)試中所遭遇的各式問題。

根據(jù)本發(fā)明的另一方面,提出了一種應(yīng)用測(cè)試裝置,用于由主機(jī)上的測(cè)試平臺(tái)對(duì)所述主機(jī)所連接設(shè)備上的待測(cè)應(yīng)用進(jìn)行測(cè)試,并且所述待測(cè)應(yīng)用在封閉式操作系統(tǒng)內(nèi)運(yùn)行,所述裝置包括:測(cè)試指令傳遞單元,用于向待測(cè)應(yīng)用以參數(shù)方式傳遞啟動(dòng)測(cè)試指令以啟動(dòng)測(cè)試;以及測(cè)試信息獲取單元,用于獲取來自所述待測(cè)應(yīng)用的測(cè)試信息。

優(yōu)選地,所述測(cè)試指令傳遞單元以參數(shù)傳入環(huán)境變量值的方式向所述待測(cè)應(yīng)用傳遞后續(xù)測(cè)試指令;并且/或者所述測(cè)試指令傳遞單元根據(jù)獲得的測(cè)試信息,確定隨后向待測(cè)應(yīng)用傳遞的測(cè)試指令。

優(yōu)選地,所述應(yīng)用測(cè)試裝置還包括:獲取命令發(fā)送單元,用于發(fā)送測(cè)試信息獲取命令以獲取來自所述待測(cè)應(yīng)用的測(cè)試信息。

優(yōu)選地,所述獲取命令發(fā)送單元通過向所述待測(cè)應(yīng)用發(fā)送idevicesyslog命令來獲取測(cè)試信息。所述封閉性操作系統(tǒng)是iOS操作系統(tǒng),所述測(cè)試指令傳遞單元通過instruments工具傳遞參數(shù)。

根據(jù)本發(fā)明的再一個(gè)方面,提出了一種應(yīng)用測(cè)試系統(tǒng),包括上述的應(yīng)用測(cè)試裝置,還包括待測(cè)設(shè)備,所述應(yīng)用測(cè)試裝置與所述待測(cè)設(shè)備相互連接并且所述待測(cè)設(shè)備運(yùn)行封閉式操作系統(tǒng)并且安裝有待測(cè)應(yīng)用。優(yōu)選地,所述應(yīng)用測(cè)試裝置和所述待測(cè)設(shè)備可以經(jīng)由線纜連接。

由此,通過設(shè)備間而非測(cè)試平臺(tái)與待測(cè)應(yīng)用之間預(yù)先建立的連接,就能夠經(jīng)由參數(shù)傳遞實(shí)現(xiàn)測(cè)試過程中外部測(cè)試平臺(tái)與待測(cè)應(yīng)用之間的便利通信,并能夠避免對(duì)編寫測(cè)試腳本以及封閉性系統(tǒng)中搭建CS架構(gòu)的需要,由此提升測(cè)試效率并避免潛在的安全問題。

附圖說明

通過結(jié)合附圖對(duì)本公開示例性實(shí)施方式進(jìn)行更詳細(xì)的描述,本公開的上述以及其它目的、特征和優(yōu)勢(shì)將變得更加明顯,其中,在本公開示例性實(shí)施方式中,相同的參考標(biāo)號(hào)通常代表相同部件。

圖1示出了現(xiàn)有技術(shù)中外部測(cè)試平臺(tái)與待測(cè)應(yīng)用的通信示意圖。

圖2示出了根據(jù)本發(fā)明的一種應(yīng)用測(cè)試方法。

圖3示出了根據(jù)本發(fā)明的一種可選的應(yīng)用測(cè)試方法。

圖4示出了根據(jù)本發(fā)明的外部測(cè)試平臺(tái)與待測(cè)應(yīng)用的通信示意圖。

圖5示出了根據(jù)本發(fā)明的一種應(yīng)用測(cè)試裝置。

圖6示出了根據(jù)本發(fā)明的一種應(yīng)用測(cè)試系統(tǒng)。

具體實(shí)施方式

下面將參照附圖更詳細(xì)地描述本公開的優(yōu)選實(shí)施方式。雖然附圖中顯示了本公開的優(yōu)選實(shí)施方式,然而應(yīng)該理解,可以以各種形式實(shí)現(xiàn)本公開而不應(yīng)被這里闡述的實(shí)施方式所限制。相反,提供這些實(shí)施方式是為了使本公開更加透徹和完整,并且能夠?qū)⒈竟_的范圍完整地傳達(dá)給本領(lǐng)域的技術(shù)人員。

應(yīng)用在投放之前,需要進(jìn)行各類測(cè)試來鑒定待測(cè)應(yīng)用的正確性、完整性、安全性和質(zhì)量。在測(cè)試的后期,通常需要將應(yīng)用安裝在預(yù)定使用的系統(tǒng)/設(shè)備中,并且使用外部測(cè)試平臺(tái)進(jìn)行測(cè)試。例如,一款面向iOS系統(tǒng)的APP在投放到APP商店之前,需要被安裝在iPhone或是iPad上實(shí)際運(yùn)行以進(jìn)行測(cè)試。這時(shí)的測(cè)試平臺(tái)通常位于安裝了該APP的客戶端(例如,上述iPhone或iPad)之外的設(shè)備上。優(yōu)選地,測(cè)試平臺(tái)可以是搭建在服務(wù)器上的web程序,能夠通過瀏覽器進(jìn)行訪問使用。由于測(cè)試平臺(tái)和被測(cè)APP位于不同的設(shè)備上,因此在現(xiàn)有技術(shù)中,需要首先在外部測(cè)試平臺(tái)和待測(cè)應(yīng)用之間建立網(wǎng)絡(luò)連接,才能夠進(jìn)行后續(xù)的通信(如圖1所示)。由于需要網(wǎng)絡(luò)連接,因此增加了平臺(tái)與應(yīng)用之間信息交換的開銷,而且需要開發(fā)額外的代碼以控制客戶端上的應(yīng)用測(cè)試。另外,對(duì)于例如iOS的封閉系統(tǒng),需要額外搭建CS程序結(jié)構(gòu)才能實(shí)現(xiàn)測(cè)試過程中的上述網(wǎng)絡(luò)通信。

基于上述問題,本發(fā)明提出了一種新的用于外部測(cè)試平臺(tái)和待測(cè)應(yīng)用之間的應(yīng)用測(cè)試方案,其無需預(yù)先建立測(cè)試平臺(tái)與待測(cè)應(yīng)用之間的連接,而是能夠通過測(cè)試平臺(tái)上傳遞參數(shù)本身來建立連接并啟動(dòng)測(cè)試,并且在后續(xù)的測(cè)試過程中,也能夠根據(jù)需要實(shí)現(xiàn)測(cè)試指令和測(cè)試信息的雙向傳遞,由此提升測(cè)試的靈活性、可靠性和便利性。

圖2示出了根據(jù)本發(fā)明的一種應(yīng)用測(cè)試方法。該方法適用于主機(jī)上的測(cè)試平臺(tái)對(duì)主機(jī)所連接設(shè)備上的待測(cè)應(yīng)用進(jìn)行測(cè)試。所述主機(jī)可以是服務(wù)器。該設(shè)備上安裝有封閉式操作系統(tǒng),待測(cè)應(yīng)用在該封閉式操作系統(tǒng)內(nèi)運(yùn)行。在一個(gè)實(shí)施例中,主機(jī)與設(shè)備之間的連接可以通過線纜連接實(shí)現(xiàn),例如通過USB連接實(shí)現(xiàn)。

在步驟S210,向待測(cè)應(yīng)用以參數(shù)方式傳遞啟動(dòng)測(cè)試指令以啟動(dòng)測(cè)試。在這里,由于主機(jī)和設(shè)備已經(jīng)預(yù)先連接,測(cè)試平臺(tái)和待測(cè)應(yīng)用之間可以在無需預(yù)先建立連接的情況下進(jìn)行通信。在本發(fā)明的測(cè)試方案中,測(cè)試平臺(tái)和待測(cè)應(yīng)用之間無需像圖1的現(xiàn)有技術(shù)那樣,在進(jìn)行通信之前預(yù)先建立應(yīng)用級(jí)的連接。在本發(fā)明中,通信的開啟可以直接通過測(cè)試平臺(tái)向待測(cè)應(yīng)用傳遞參數(shù)這一動(dòng)作完成。換句話說,待測(cè)應(yīng)用與測(cè)試平臺(tái)可以直接通過啟動(dòng)測(cè)試指令來知曉彼此的存在。

在步驟S220,獲取來自待測(cè)應(yīng)用的測(cè)試信息。測(cè)試平臺(tái)可以基于多種方式來獲取來自待測(cè)應(yīng)用的測(cè)試信息。在一個(gè)實(shí)施例中,待測(cè)應(yīng)用可以直接響應(yīng)于啟動(dòng)測(cè)試指令,自行收集測(cè)試過程中的各類信息并將其發(fā)送給測(cè)試平臺(tái)。在另一個(gè)實(shí)施例中,待測(cè)應(yīng)用也可以根據(jù)來自測(cè)試平臺(tái)的測(cè)試信息返回指令將其收集的測(cè)試信息返回給測(cè)試平臺(tái)。在這里,“測(cè)試信息”指代待測(cè)應(yīng)用在測(cè)試過程中生成的各類信息,例如,可以包括測(cè)試進(jìn)展?fàn)顩r、性能測(cè)試數(shù)據(jù)情況、測(cè)試日志和測(cè)試結(jié)果等等。待測(cè)應(yīng)用可以根據(jù)來自測(cè)試平臺(tái)的指令,收集對(duì)應(yīng)的測(cè)試信息,并在恰當(dāng)?shù)臅r(shí)機(jī)將這些測(cè)試信息返回給測(cè)試平臺(tái)。

待測(cè)應(yīng)用返回測(cè)試信息的方式也可以根據(jù)具體的測(cè)試命令或是測(cè)試信息返回指令的不同而有所不同。例如,待測(cè)應(yīng)用可以根據(jù)傳入的參數(shù),判斷是需要主動(dòng)上報(bào)數(shù)據(jù)還是被動(dòng)上報(bào)數(shù)據(jù)。例如,待測(cè)應(yīng)用可以根據(jù)測(cè)試命令開啟內(nèi)存問題監(jiān)控測(cè)試,在測(cè)試過程中通過調(diào)用PHP頁面方式將內(nèi)存測(cè)試數(shù)據(jù)POST寫入數(shù)據(jù)庫中。而在其他實(shí)施例中,待測(cè)應(yīng)用可以在測(cè)試過程中以日志形式不斷輸出當(dāng)前的測(cè)試情況。

在一個(gè)實(shí)施例中,獲取來自所述待測(cè)應(yīng)用的測(cè)試信息可以是獲取來自所述待測(cè)應(yīng)用的測(cè)試日志并加以分析得到測(cè)試信息。在另一個(gè)實(shí)施例中,獲取來自所述待測(cè)應(yīng)用的測(cè)試信息還可以是獲取待測(cè)應(yīng)用寫入數(shù)據(jù)庫中的測(cè)試數(shù)據(jù)作為測(cè)試信息。可以根據(jù)待測(cè)應(yīng)用的具體測(cè)試目的來選取測(cè)試信息的獲取方式。例如,在對(duì)待測(cè)應(yīng)用進(jìn)行標(biāo)簽欄點(diǎn)擊輪詢操作時(shí),可以獲取不斷生成的測(cè)試日志,并對(duì)測(cè)試日志加以分析以獲取測(cè)試結(jié)果。而對(duì)于內(nèi)存監(jiān)控測(cè)試,則希望將內(nèi)存數(shù)據(jù)一并存儲(chǔ),由此方便隨后的讀取和分析。

雖然有時(shí)候直接通過啟動(dòng)測(cè)試命令就能夠傳遞足夠的信息并相應(yīng)地獲取所需的待測(cè)信息,但更多情況下,在啟動(dòng)測(cè)試命令之后,還需要進(jìn)一步的測(cè)試命令來應(yīng)對(duì)測(cè)試過程中的各種情況。圖3示出了根據(jù)本發(fā)明的一種可選的應(yīng)用測(cè)試方法。與圖2相類似地,在步驟S310,向待測(cè)應(yīng)用以參數(shù)方式傳遞啟動(dòng)測(cè)試指令以啟動(dòng)測(cè)試。在步驟S315,可以以參數(shù)方式向待測(cè)應(yīng)用傳遞后續(xù)的測(cè)試指令。在步驟S320,測(cè)試平臺(tái)獲取來自待測(cè)應(yīng)用的測(cè)試信息。在步驟S325,根據(jù)獲取的測(cè)試信息,確定隨后向待測(cè)應(yīng)用傳遞的測(cè)試指令。在一個(gè)實(shí)施例中,測(cè)試平臺(tái)可以以參數(shù)的方式向待測(cè)應(yīng)用傳遞一個(gè)或多個(gè)后續(xù)測(cè)試指令。待測(cè)應(yīng)用則可以對(duì)后續(xù)測(cè)試指令做出相應(yīng)的反應(yīng)并記錄對(duì)應(yīng)信息。在一個(gè)實(shí)施例中,待測(cè)應(yīng)用可以響應(yīng)于測(cè)試命令記錄測(cè)試信息并向測(cè)試平臺(tái)返回測(cè)試信息。雖然如上以特定順序示出了后續(xù)測(cè)試的傳遞和相應(yīng)的調(diào)整,但是應(yīng)該理解,在實(shí)際操作中,步驟S315和S325是可選的,并且可以按照需要調(diào)整次序。例如,在測(cè)試啟動(dòng)之后,待測(cè)應(yīng)用可以先返回測(cè)試信息,隨后再發(fā)送后續(xù)的測(cè)試指令。后續(xù)的測(cè)試指令可由測(cè)試平臺(tái)自行確定,也可以根據(jù)測(cè)試信息的反饋來調(diào)整或確定。本領(lǐng)域技術(shù)人員還可以輕易設(shè)想出圖3實(shí)施例的其他變體。

在一個(gè)實(shí)施例中,以參數(shù)方式傳遞測(cè)試指令是以參數(shù)傳入環(huán)境變量值的方式傳遞測(cè)試指令。上述傳遞的測(cè)試指令可以是用于啟動(dòng)測(cè)試的啟動(dòng)測(cè)試指令,后續(xù)的測(cè)試指令或是根據(jù)測(cè)試信息確定的測(cè)試指令。這些指令能夠以參數(shù)傳入的環(huán)境變量值的形式來輕易實(shí)現(xiàn)從測(cè)試平臺(tái)到待測(cè)應(yīng)用的跨應(yīng)用傳遞,而無需預(yù)先建立的應(yīng)用級(jí)別的連接。

在一個(gè)實(shí)施例中,獲取來自待測(cè)應(yīng)用的測(cè)試信息可以包括發(fā)送測(cè)試信息獲取命令以獲取來自所述待測(cè)應(yīng)用的測(cè)試信息。所述測(cè)試信息獲取命令可以包括約定協(xié)議,用于約定待測(cè)應(yīng)用送出測(cè)試信息的形式和位置。

在一個(gè)實(shí)施例中,運(yùn)行待測(cè)應(yīng)用的封閉式操作系統(tǒng)可以是iOS系統(tǒng)。因此,以參數(shù)方式傳遞測(cè)試指令是通過instruments工具實(shí)現(xiàn)的,而用于獲取測(cè)試信息的測(cè)試信息獲取命令可以是idevicesyslog命令。具體地,對(duì)于安裝在iOS系統(tǒng)下的待測(cè)應(yīng)用而言,可以通過instruments命令傳遞環(huán)境變量值的方式,實(shí)現(xiàn)外部測(cè)試平臺(tái)向待測(cè)應(yīng)用的指令下發(fā),并且隨后可以使用idevicesyslog命令來獲取日志或是寫入數(shù)據(jù)庫的測(cè)試信息并進(jìn)行解析,由此達(dá)到待測(cè)應(yīng)用向外部測(cè)試平臺(tái)的信息傳遞。

圖4示出了根據(jù)本發(fā)明的外部測(cè)試平臺(tái)與待測(cè)應(yīng)用的通信示意圖。如圖所示,位于不同設(shè)備上的測(cè)試平臺(tái)和待測(cè)應(yīng)用無需像現(xiàn)有技術(shù)(圖1)那樣,需要預(yù)先建立起測(cè)試平臺(tái)與待測(cè)應(yīng)用之間的專用連接,而是通過利用能夠透過不同操作系統(tǒng)直接傳遞的參數(shù)(例如,環(huán)境變量值)來實(shí)現(xiàn)平臺(tái)與應(yīng)用之間的直接通信。因此,相比于圖1的現(xiàn)有技術(shù),本發(fā)明的技術(shù)方案無需進(jìn)行額外代碼開發(fā),只需要待測(cè)應(yīng)用按照約定協(xié)議輸出測(cè)試信息,就能夠通過解析這些測(cè)試信息來實(shí)現(xiàn)從客戶端直接獲取信息的溝通方式。另外,尤其對(duì)于諸如iOS的封閉性操作系統(tǒng),本發(fā)明的技術(shù)方案利用現(xiàn)有的傳遞窗口(例如,參數(shù)的傳遞變量),使得能夠在無需破解該封閉性操作系統(tǒng)的情況下就能夠?qū)崿F(xiàn)透明于該封閉系統(tǒng)的信息傳輸,由此確保測(cè)試系統(tǒng)的穩(wěn)定可靠。

以上結(jié)合圖2-4對(duì)根據(jù)本發(fā)明的應(yīng)用測(cè)試方法及其相應(yīng)原理進(jìn)行了闡述。如下將結(jié)合圖5和圖6描述用于實(shí)現(xiàn)本發(fā)明技術(shù)方案的應(yīng)用測(cè)試裝置和系統(tǒng)。

圖5示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用測(cè)試裝置500。應(yīng)用測(cè)試裝置500用于主機(jī)上的測(cè)試平臺(tái)對(duì)所述主機(jī)所連接設(shè)備上的待測(cè)應(yīng)用進(jìn)行測(cè)試。該待測(cè)應(yīng)用在前述設(shè)備上的封閉式操作系統(tǒng)內(nèi)運(yùn)行。在一個(gè)實(shí)施例中,裝置500可以由測(cè)試平臺(tái)的功能模塊實(shí)現(xiàn)。在另一個(gè)實(shí)施例中,該裝置500也可由獨(dú)立于測(cè)試平臺(tái)的功能模塊實(shí)現(xiàn)。

在一個(gè)實(shí)施例中,應(yīng)用測(cè)試裝置500包括測(cè)試指令傳遞單元510和測(cè)試信息獲取單元520。測(cè)試指令傳遞單元510用于向待測(cè)應(yīng)用以參數(shù)方式傳遞啟動(dòng)測(cè)試指令以啟動(dòng)測(cè)試。測(cè)試信息獲取單元520則用于獲取來自所述待測(cè)應(yīng)用的測(cè)試信息。

在一個(gè)實(shí)施例中,測(cè)試指令傳遞單元510以參數(shù)傳入環(huán)境變量值的方式向所述待測(cè)應(yīng)用傳遞后續(xù)測(cè)試指令。在另一個(gè)實(shí)施例中,測(cè)試指令傳遞單元510可以根據(jù)獲得的測(cè)試信息,確定隨后向待測(cè)應(yīng)用傳遞的測(cè)試指令。

在一個(gè)實(shí)施例中,裝置500還可以包括獲取命令發(fā)送單元530,后者用于發(fā)送測(cè)試信息獲取命令以獲取來自所述待測(cè)應(yīng)用的測(cè)試信息。例如,在封閉性操作系統(tǒng)是iOS操作系統(tǒng)的情況下,測(cè)試指令傳遞單元510可以通過instruments工具傳遞參數(shù),獲取命令發(fā)送單元530則相應(yīng)地通過向所述待測(cè)應(yīng)用發(fā)送idevicesyslog命令來獲取測(cè)試信息。

圖6示出了根據(jù)本發(fā)明一個(gè)實(shí)施例的應(yīng)用測(cè)試系統(tǒng)。應(yīng)用測(cè)試系統(tǒng)600包括主機(jī)610和安裝有待測(cè)應(yīng)用的待測(cè)設(shè)備620。雖然圖中將主機(jī)510示出為臺(tái)式機(jī),但應(yīng)該理解的是,主機(jī)610可以是其上能夠安裝測(cè)試平臺(tái)的任何計(jì)算設(shè)備。在一個(gè)實(shí)施例中,主機(jī)610可以是服務(wù)器。在一個(gè)優(yōu)選實(shí)施例中,測(cè)試平臺(tái)則是搭建在該服務(wù)器上的web程序,并且例如可以通過瀏覽器來進(jìn)行使用。另外,雖然圖中示出了設(shè)備620-1…620-N,但應(yīng)該理解的是,主機(jī)610可以根據(jù)需要連接一臺(tái)、兩臺(tái)或多臺(tái)設(shè)備。設(shè)備620上安裝有封閉式操作系統(tǒng),例如iOS系統(tǒng),而待測(cè)應(yīng)用則在該封閉式操作系統(tǒng)下運(yùn)行。

在測(cè)試開始之前,將主機(jī)610與設(shè)備620相連。在一個(gè)實(shí)施例中,主機(jī)和設(shè)備通過有線線纜相連,例如USB連接。由此,主機(jī)上的測(cè)試平臺(tái)便可以參數(shù)方式向設(shè)備620上的待測(cè)應(yīng)用傳遞啟動(dòng)測(cè)試指令以啟動(dòng)測(cè)試。隨后,測(cè)試平臺(tái)獲取來自待測(cè)應(yīng)用的測(cè)試信息。

優(yōu)選地,測(cè)試平臺(tái)還以參數(shù)方式向所述待測(cè)應(yīng)用傳遞后續(xù)測(cè)試指令,并且所述啟動(dòng)測(cè)試指令和/或所述后續(xù)測(cè)試指令是以參數(shù)傳入環(huán)境變量值的方式傳遞的。

在一個(gè)實(shí)施例中,封閉性操作系統(tǒng)是iOS操作系統(tǒng),因此用于測(cè)試的設(shè)備可以是任何能夠運(yùn)行iOS操作系統(tǒng)的設(shè)備,例如蘋果公司的iPod和iPhone設(shè)備等。優(yōu)選地,以參數(shù)方式傳遞測(cè)試指令可以通過instruments工具實(shí)現(xiàn)的,并且所述測(cè)試平臺(tái)通過向所述待測(cè)應(yīng)用發(fā)送idevicesyslog命令來獲取測(cè)試信息。

在一個(gè)實(shí)施例中,主機(jī)610可以包括如圖5所述的應(yīng)用測(cè)試裝置500,或者可以是該測(cè)試裝置本身。例如,應(yīng)用測(cè)試裝置可以包括主機(jī)具有的各種功能或者作為其代替。

如上所述,通過替換固有的待測(cè)應(yīng)用與外部測(cè)試平臺(tái)通信的方案,本發(fā)明提出了一種效率最高、效果最優(yōu)、工作量最小的應(yīng)用測(cè)試解決方案來實(shí)現(xiàn)測(cè)試過程中待測(cè)應(yīng)用與外部測(cè)試平臺(tái)之間的互相通信。在最終實(shí)現(xiàn)的應(yīng)用測(cè)試系統(tǒng)中,測(cè)試平臺(tái)可以經(jīng)由參數(shù)傳遞環(huán)境變量值來下發(fā)指令給待測(cè)應(yīng)用做相關(guān)測(cè)試任務(wù),待測(cè)應(yīng)用則通過輸出日志方式給外部測(cè)試平臺(tái)以測(cè)試結(jié)果信息,例如測(cè)試開始、測(cè)試過程(性能指標(biāo)、崩潰情況等)、測(cè)試結(jié)束信息等,以最終達(dá)到雙方通信的目的。

上文中已經(jīng)參考附圖詳細(xì)描述了根據(jù)本發(fā)明的應(yīng)用測(cè)試方法和系統(tǒng)。如下將參考具體例子來說明本發(fā)明技術(shù)方案的具體實(shí)現(xiàn)。

【應(yīng)用示例】

為了更直觀地體現(xiàn)本發(fā)明的優(yōu)點(diǎn),在這里示出了具體實(shí)施本發(fā)明技術(shù)方案的一個(gè)例子。在此例中,主機(jī)通過USB接口預(yù)先與iOS系統(tǒng)設(shè)備(例如iPhone)相連。該應(yīng)用測(cè)試方案的詳細(xì)實(shí)現(xiàn)如下:

1.在外部測(cè)試平臺(tái)上部署測(cè)試任務(wù),腳本修改代碼文件,開啟測(cè)試宏,編譯打包出帶有開啟與外部通信功能的包;

2.外部測(cè)試平臺(tái)下發(fā)安裝任務(wù),iPhone安裝測(cè)試包;

3.啟動(dòng)測(cè)試:外部測(cè)試系統(tǒng)執(zhí)行instruments命令,-e參數(shù)方式傳入環(huán)境變量值,例如:-e NSZombieEnabled YES啟動(dòng)測(cè)試。在這里,NSZombieEnabled是可以按照約定隨意命名的環(huán)境變量名,YES是環(huán)境變量值。即,采用key-value的數(shù)據(jù)形式,給APP下發(fā)啟動(dòng)僵尸模式的測(cè)試,用于發(fā)現(xiàn)內(nèi)存相關(guān)的問題,使得APP相應(yīng)地啟動(dòng)測(cè)試;

4.測(cè)試過程:APP根據(jù)傳入環(huán)境變量值,進(jìn)行判斷解析后做對(duì)應(yīng)操作;

5.外部測(cè)試平臺(tái)接受APP指令:APP開始啟動(dòng)自動(dòng)化測(cè)試過程中,通過idevicesyslog命令獲取設(shè)備日志情況,解析協(xié)議數(shù)據(jù),如:手動(dòng)測(cè)試結(jié)束指令。外部系統(tǒng)結(jié)束測(cè)試任務(wù)。

6.測(cè)試平臺(tái)生成測(cè)試報(bào)告:讀取日志輸出測(cè)試信息(啟動(dòng)測(cè)試時(shí)間,測(cè)試時(shí)長(zhǎng),結(jié)束時(shí)間等),詳細(xì)數(shù)據(jù)讀取數(shù)據(jù)庫數(shù)據(jù),生成測(cè)試報(bào)告。

在步驟4的測(cè)試過程中,待測(cè)APP可以做出兩類響應(yīng):

a)主動(dòng)上報(bào)數(shù)據(jù):在APP測(cè)試過程中,由APP將相關(guān)測(cè)試信息寫入數(shù)據(jù)庫。如:開啟內(nèi)存問題監(jiān)控測(cè)試,測(cè)試過程中通過調(diào)用PHP頁面方式將內(nèi)存測(cè)試數(shù)據(jù)POST寫入數(shù)據(jù)庫中??梢灶A(yù)先以PHP方式搭建web服務(wù)器。在測(cè)試過程中,待測(cè)APP訪問該web服務(wù)器(以POST方式攜帶測(cè)試數(shù)據(jù)調(diào)用PHP),以便將測(cè)試信息送入數(shù)據(jù)庫。

具體業(yè)務(wù)場(chǎng)景:

線上出現(xiàn)一個(gè)非必現(xiàn)崩潰,懷疑是內(nèi)存導(dǎo)致的問題。在已經(jīng)收集到崩潰堆棧、機(jī)型、版本等信息的情況下,可以根據(jù)上述a)方式收集更多有用的信息分析問題。另外,在平時(shí)發(fā)布前的穩(wěn)定性測(cè)試過程中,能夠開啟此類a)方式的監(jiān)控進(jìn)行測(cè)試,解決問題。最后,在提交修改代碼后,a)方式能夠用于驗(yàn)證問題已解決。換句話說,通過上述主動(dòng)上報(bào)數(shù)據(jù)的a)方式,能夠開啟測(cè)試,并最終達(dá)到收集信息、解決問題后驗(yàn)證結(jié)果以及預(yù)防此類問題再次發(fā)生的效果。

b)被動(dòng)上報(bào)數(shù)據(jù):APP測(cè)試過程中,以日志形式輸出當(dāng)前測(cè)試情況;

具體業(yè)務(wù)場(chǎng)景:

測(cè)試過程中需要做大量壓力測(cè)試驗(yàn)證應(yīng)用穩(wěn)定性,如:對(duì)應(yīng)用底部5個(gè)標(biāo)簽欄標(biāo)簽進(jìn)行一萬次的輪詢點(diǎn)擊操作。使用腳本進(jìn)行測(cè)試的方式顯得比較笨重,可通過傳入環(huán)境變量值來讓APP自身驅(qū)動(dòng)測(cè)試。通過上述被動(dòng)上報(bào)數(shù)據(jù)的b)方式,就能夠在測(cè)試過程中持續(xù)輸出測(cè)試日志。外部測(cè)試平臺(tái)獲取日志信息并加以分析,并最終得出測(cè)試結(jié)果。

以上示出了本發(fā)明技術(shù)方案應(yīng)用于iOS操作系統(tǒng)的示例,但可以理解的是,本發(fā)明同樣適用于能夠以參數(shù)方式將測(cè)試命令傳入的其他封閉式操作系統(tǒng)。待測(cè)應(yīng)用用于測(cè)試的發(fā)布版本可以輸出具有約定協(xié)議形式的日志,外部測(cè)試平臺(tái)獲取并解析日志后,實(shí)現(xiàn)獲取測(cè)試進(jìn)行情況的目的。外部測(cè)試平臺(tái)也能夠根據(jù)測(cè)試情況可動(dòng)態(tài)調(diào)整測(cè)試任務(wù),重新通過傳入測(cè)試命令的方式來調(diào)整測(cè)試任務(wù)。由此,本發(fā)明實(shí)現(xiàn)了測(cè)試平臺(tái)與待測(cè)應(yīng)用級(jí)別的直接通信,從而使得自動(dòng)化測(cè)試更為方便智能。

此外,根據(jù)本發(fā)明的方法還可以實(shí)現(xiàn)為一種計(jì)算機(jī)程序,該計(jì)算機(jī)程序包括用于執(zhí)行本發(fā)明的上述方法中限定的上述各步驟的計(jì)算機(jī)程序代碼指令?;蛘?,根據(jù)本發(fā)明的方法還可以實(shí)現(xiàn)為一種計(jì)算機(jī)程序產(chǎn)品,該計(jì)算機(jī)程序產(chǎn)品包括計(jì)算機(jī)可讀介質(zhì),在該計(jì)算機(jī)可讀介質(zhì)上存儲(chǔ)有用于執(zhí)行本發(fā)明的上述方法中限定的上述功能的計(jì)算機(jī)程序。本領(lǐng)域技術(shù)人員還將明白的是,結(jié)合這里的公開所描述的各種示例性邏輯塊、模塊、電路和算法步驟可以被實(shí)現(xiàn)為電子硬件、計(jì)算機(jī)軟件或兩者的組合。

附圖中的流程圖和框圖顯示了根據(jù)本發(fā)明的多個(gè)實(shí)施例的系統(tǒng)和方法的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段或代碼的一部分,所述模塊、程序段或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)記的功能也可以以不同于附圖中所標(biāo)記的順序發(fā)生。例如,兩個(gè)連續(xù)的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。

以上已經(jīng)描述了本發(fā)明的各實(shí)施例,上述說明是示例性的,并非窮盡性的,并且也不限于所披露的各實(shí)施例。在不偏離所說明的各實(shí)施例的范圍和精神的情況下,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。本文中所用術(shù)語的選擇,旨在最好地解釋各實(shí)施例的原理、實(shí)際應(yīng)用或?qū)κ袌?chǎng)中的技術(shù)的改進(jìn),或者使本技術(shù)領(lǐng)域的其它普通技術(shù)人員能理解本文披露的各實(shí)施例。

當(dāng)前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
华宁县| 长沙市| 梅州市| 宜都市| 托克托县| 大化| 申扎县| 耿马| 叙永县| 阿坝| 凌源市| 清涧县| 沙田区| 铜鼓县| 麦盖提县| 瑞金市| 建瓯市| 河东区| 英吉沙县| 昂仁县| 云霄县| 辰溪县| 甘洛县| 五寨县| 无棣县| 武汉市| 五台县| 安图县| 武强县| 扎囊县| 靖州| 兴业县| 阆中市| 读书| 台中县| 铜陵市| 荆州市| 永安市| 迁安市| 泗洪县| 天峨县|