亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        移動(dòng)APP測(cè)試方法綜述

        2017-09-09 04:41:46鐘葉
        軟件導(dǎo)刊 2017年8期
        關(guān)鍵詞:移動(dòng)APP移動(dòng)平臺(tái)軟件測(cè)試

        鐘葉

        摘 要:隨著移動(dòng)互聯(lián)網(wǎng)的迅猛發(fā)展,移動(dòng)APP應(yīng)用逐漸深入。其大多采用迭代開(kāi)發(fā)模式,版本更新速度快,留給測(cè)試人員的時(shí)間非常有限,使其難以在短時(shí)間內(nèi)對(duì)APP進(jìn)行全面測(cè)試。對(duì)移動(dòng)APP測(cè)試方法進(jìn)行梳理與總結(jié),重點(diǎn)從圖形用戶界面測(cè)試、系統(tǒng)性測(cè)試、基模測(cè)試等方面介紹移動(dòng)APP的測(cè)試方法。

        關(guān)鍵詞:移動(dòng)平臺(tái);軟件測(cè)試;移動(dòng)APP

        DOIDOI:10.11907/rjdk.171344

        中圖分類號(hào):TP301

        文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):1672-7800(2017)008-0211-03

        0 引言

        移動(dòng)通信技術(shù)的不斷完善進(jìn)一步推動(dòng)了移動(dòng)設(shè)備的迅速發(fā)展,其靈活、方便、易攜帶的特點(diǎn),使人們對(duì)移動(dòng)設(shè)備依賴程度日益提高。中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心(CNNIC)近期發(fā)布的第39次《中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告》顯示,截至2016年12月,我國(guó)手機(jī)網(wǎng)民規(guī)模達(dá)6.95億人,較2015年底增加7 550萬(wàn)人[1]。

        龐大的用戶數(shù)量吸引著越來(lái)越多的IT企業(yè)涉足移動(dòng)APP領(lǐng)域,市場(chǎng)所投放的APP數(shù)量也與日俱增,選擇范圍的擴(kuò)大使用戶的要求也隨之提高。但現(xiàn)實(shí)情況是很多APP的質(zhì)量并不過(guò)關(guān)、運(yùn)行不流暢、響應(yīng)速度慢,甚至于經(jīng)常崩潰閃退,讓用戶體驗(yàn)大打折扣。種種問(wèn)題的出現(xiàn)使開(kāi)發(fā)者對(duì)于APP測(cè)試給予了越來(lái)越多的重視,而APP的測(cè)試和傳統(tǒng)測(cè)試相比,無(wú)論是技術(shù)層面還是理論層面也都將面臨更多挑戰(zhàn)。本文通過(guò)文獻(xiàn)分析法,對(duì)近年來(lái)移動(dòng)APP測(cè)試方法進(jìn)行梳理總結(jié)。

        1 圖形用戶界面測(cè)試

        圖形用戶界面測(cè)試,又稱為GUI測(cè)試。目前,國(guó)內(nèi)外移動(dòng)APP測(cè)試過(guò)程主要是模擬用戶通過(guò)圖形用戶界面(GUI)對(duì)移動(dòng)設(shè)備的使用過(guò)程,比如模擬用戶的誤操作、模擬用戶同時(shí)使用手機(jī)中多個(gè)應(yīng)用程序時(shí)對(duì)手機(jī)性能的影響等[2]。用戶界面的不斷改進(jìn)使得用戶操作更為方便,但也使得GUI軟件變得更加復(fù)雜,大大增加了測(cè)試難度。圖形用戶界面測(cè)試日益受到學(xué)術(shù)界和工業(yè)界的重視。然而,目前關(guān)于GUI軟件測(cè)試的研究還處于初級(jí)階段,各種標(biāo)準(zhǔn)和規(guī)范也在不斷完善中。GUI測(cè)試如表1所示。

        D.Amalfitano等[3]于2012年提出了一種使用GUI Ripping的測(cè)試方式——AndroidRipper。AndroidRipper基于一種叫作Ripper的用戶界面驅(qū)動(dòng),該驅(qū)動(dòng)能夠自動(dòng)地搜索應(yīng)用程序的圖形界面,其最終目標(biāo)在于以一種結(jié)構(gòu)化的方式去訓(xùn)練這些應(yīng)用程序。不久之后,C S Jensen等[4]于2013年提出了一種雙相的測(cè)試技術(shù),它能夠有效地在應(yīng)用程序中自動(dòng)地找到事件序列并且達(dá)到測(cè)試之前所給定的目標(biāo)。測(cè)試步驟為:首先建立一個(gè)應(yīng)用程序中獨(dú)立事件處理程序的索引信息;然后根據(jù)該索引信息并借助該應(yīng)用程序的一個(gè)UI模型建立事件序列。

        很多安卓GUI測(cè)試在產(chǎn)生一些隨機(jī)或是一般的測(cè)試用例方面是有效果的,但是GUI測(cè)試始終面臨著一個(gè)嚴(yán)峻的挑戰(zhàn):就是如何去發(fā)現(xiàn)一個(gè)測(cè)試用例,它在測(cè)試中很難被覆蓋但是又有很大可能出現(xiàn)問(wèn)題路徑。針對(duì)這一挑戰(zhàn),Ting Su[5]于2016年提出了FSMdroid,這是一種基于模型的安卓GUI測(cè)試方法。特別是FSMdroid采用了“馬爾可夫鏈蒙特卡洛(MCMC)取樣算法”迭代地改變隨機(jī)模型,最終產(chǎn)生高代碼覆蓋率的多樣化測(cè)試用例。

        隨著自動(dòng)化GUI測(cè)試要求的不斷提高,盡管人們可以通過(guò)枚舉方式列出所有可能進(jìn)行組合測(cè)試。但通常是不可行的,因?yàn)檫@必將導(dǎo)致測(cè)試用例的數(shù)目快速膨脹。為了解決該問(wèn)題,Nariman Mirzaei等[6]于同年開(kāi)發(fā)了TrimDroid這一測(cè)試工具,這是一種安卓應(yīng)用的GUI測(cè)試框架,能夠以組合化可擴(kuò)展方式產(chǎn)生測(cè)試用例,同時(shí)可以進(jìn)行自動(dòng)化程序分析。

        2 系統(tǒng)性測(cè)試

        系統(tǒng)性地分析、測(cè)試一個(gè)應(yīng)用程序是其在推出前必須經(jīng)歷的階段,如果一個(gè)應(yīng)用沒(méi)有進(jìn)行較全面的系統(tǒng)測(cè)試,一些潛在問(wèn)題就很有可能導(dǎo)致應(yīng)用程序運(yùn)行故障。大部分測(cè)試也要求批量地采用實(shí)際設(shè)備而非模擬設(shè)備進(jìn)行測(cè)試,以確保功能的完善性。

        之前很多研究主要集中在對(duì)安卓應(yīng)用程序的單元測(cè)試上,并沒(méi)有從一個(gè)體系的角度出發(fā),對(duì)其進(jìn)行端對(duì)端的系統(tǒng)測(cè)試。由此,R·Mahmood等[7]開(kāi)發(fā)了EvoDroid,它是一種采用演化式測(cè)試方法對(duì)Android應(yīng)用程序進(jìn)行系統(tǒng)性測(cè)試的工具。演化測(cè)試(Evolutionary Testing)是搜索式測(cè)試的一種形式,其核心在于將測(cè)試用例的生成過(guò)程轉(zhuǎn)化為一個(gè)利用遺傳算法進(jìn)行啟發(fā)式搜索的數(shù)值優(yōu)化問(wèn)題[8]。但是其局限性在于是本地測(cè)試或是單元測(cè)試。而EvoDroid很好地克服了此問(wèn)題,最終取得了較好的測(cè)試效果。

        當(dāng)采用實(shí)際設(shè)備進(jìn)行測(cè)試時(shí),一些非確定性的不標(biāo)準(zhǔn)的控制流、可升縮性以及開(kāi)銷限制通常使得測(cè)試過(guò)程十分艱難。并且有的測(cè)試人員并不能接觸到所有源碼,以及測(cè)試用例的覆蓋率并不高。為了解決這些問(wèn)題,Tanzirul Azim等[9]開(kāi)發(fā)了一種叫作A3E的測(cè)試工具,該工具可以進(jìn)行強(qiáng)目標(biāo)性的深度優(yōu)先搜索測(cè)試。這種測(cè)試的亮點(diǎn)在于它們?cè)趹?yīng)用程序的字節(jié)碼層,采用了一種平穩(wěn)的、感染性的數(shù)據(jù)流分析,以此來(lái)構(gòu)建一個(gè)高標(biāo)準(zhǔn)的、能夠捕捉活動(dòng)切換過(guò)程中正確轉(zhuǎn)換的控制流圖,再根據(jù)該控制流圖制定出一種能夠快速地、直接地找到各種活動(dòng)的策略;同時(shí),還制定了一種深度優(yōu)先探索策略(Depth-first Exploration)以提高測(cè)試用例的覆蓋率。

        3 基于模型的移動(dòng)APP測(cè)試

        一般而言,應(yīng)用程序主要依靠手動(dòng)測(cè)試,這些測(cè)試通常依賴于手工創(chuàng)建和執(zhí)行測(cè)試用例來(lái)模擬應(yīng)用程序的實(shí)際使用情況。根據(jù)每種情況,測(cè)試人員必須手動(dòng)輸入數(shù)據(jù),手動(dòng)滑動(dòng)屏幕,點(diǎn)擊按鈕,手動(dòng)比較實(shí)際結(jié)果和預(yù)期行為。這些都帶來(lái)巨大的時(shí)間和人工成本,從而促使研究者們開(kāi)始提出自動(dòng)化測(cè)試的概念,因?yàn)榉N種技術(shù)難點(diǎn),并沒(méi)有真正地實(shí)現(xiàn)“自動(dòng)化”。有學(xué)者提出一種“基于模型的應(yīng)用測(cè)試”的觀點(diǎn),正是因?yàn)榛谀P偷臏y(cè)試(MBT)在非移動(dòng)端的測(cè)試取得了良好效果,因此很多學(xué)者認(rèn)為其在移動(dòng)端可能也具有獨(dú)特優(yōu)勢(shì)。endprint

        在基模測(cè)試的流程里,主要步驟不再是測(cè)試設(shè)計(jì),而是如何設(shè)計(jì)一個(gè)高效合理的測(cè)試模型。因?yàn)樽罱K基模測(cè)試工具將從一個(gè)由用戶指定的測(cè)試模型中生成測(cè)試用例[10]。如果要得到測(cè)試覆蓋率高的測(cè)試用例,就必須在測(cè)試模型的設(shè)計(jì)上進(jìn)行更為全面的考量?;y(cè)試主要流程如圖1所示,首先根據(jù)需求設(shè)計(jì)建立模型,這需要花費(fèi)較長(zhǎng)時(shí)間,之后模型將自動(dòng)生成測(cè)試用例,包括測(cè)試序列和期望輸出,然后用這些測(cè)試用例去檢測(cè)和核實(shí)待測(cè)系統(tǒng),每次嘗試都及時(shí)予以反饋,這里也體現(xiàn)了基模測(cè)試的優(yōu)勢(shì),即只需要將失敗的結(jié)果反饋給模型或是需求,再對(duì)模型進(jìn)行修正即可,降低了維護(hù)成本。

        Vignir Gudmundsson等[11]也就此方面也做了一些研究佐證,他們挑選了一個(gè)最具代表性的Android應(yīng)用程序QuizUp進(jìn)行測(cè)試,最終結(jié)果顯示,基模測(cè)試也能很好地適應(yīng)于移動(dòng)端,并且能夠發(fā)現(xiàn)一些用傳統(tǒng)測(cè)試方法很難發(fā)現(xiàn)的問(wèn)題。Guilherme de Cleva Farto等[12]在2015年提出了結(jié)合ESG(Event Sequence Graph)建模技術(shù)的基模測(cè)試方法,他們采用ESG設(shè)計(jì)測(cè)試模型很好地表現(xiàn)了手機(jī)應(yīng)用在被測(cè)試時(shí)所體現(xiàn)的特性。Janne Merilinna等[13]利用基模測(cè)試方法對(duì)手機(jī)應(yīng)用產(chǎn)生測(cè)試用例的可能性進(jìn)行了深入研究,他們開(kāi)發(fā)了一種特定領(lǐng)域的建模語(yǔ)言以及一個(gè)咖啡機(jī)代碼生成器的實(shí)例,并應(yīng)用基模測(cè)試為其產(chǎn)生測(cè)試用例,最終結(jié)果顯示這種可能性是存在的。

        4 其它測(cè)試方法

        除了上文所提及的測(cè)試方法,還有許多學(xué)者就移動(dòng)APP測(cè)試提出了自己的觀點(diǎn)。Joseph Chan Joo Keng等[14]提出了MAMBA,即一種檢查Android應(yīng)用隱私的測(cè)試手段。MAMBA根據(jù)程序字節(jié)碼的靜態(tài)分析,執(zhí)行路徑搜索用戶事件回調(diào)函數(shù)生成的控制流圖?;谝呀?jīng)發(fā)現(xiàn)的路徑,它可以生成由觸發(fā)應(yīng)用執(zhí)行的用戶事件所組成的測(cè)試用例,并迅速轉(zhuǎn)換應(yīng)用程序的活動(dòng),揭示應(yīng)用程序中潛在的隱私數(shù)據(jù)訪問(wèn)。

        當(dāng)前,Android設(shè)備的型號(hào)眾多,如何從龐大的設(shè)備型號(hào)中選出適合特定應(yīng)用程序的設(shè)備,常讓開(kāi)發(fā)者們?yōu)殡y。針對(duì)這一問(wèn)題,Xuan Lu等[15]提出了PRADA,它是一種能夠?yàn)槊總€(gè)應(yīng)用程序選擇適合它的安卓設(shè)備,并采用優(yōu)先排序方法,該方法主要是基于大規(guī)模用戶數(shù)據(jù)的挖掘。PRADA采用協(xié)同過(guò)濾技術(shù)去預(yù)測(cè)一個(gè)應(yīng)用程序在不同設(shè)備上的使用情況,盡管此應(yīng)用程序可能還沒(méi)有真正地投入市場(chǎng)使用。

        Android設(shè)備硬件資源有限,過(guò)度消費(fèi)資源可能會(huì)導(dǎo)致系統(tǒng)崩潰、響應(yīng)性差、電池消耗過(guò)度以及消極的用戶體驗(yàn)等問(wèn)題。由此,Hailong Zhang等[16]提出了一種自動(dòng)探測(cè)安卓應(yīng)用資源缺陷的方法。

        5 結(jié)語(yǔ)

        移動(dòng)平臺(tái)用戶基數(shù)的不斷擴(kuò)大和市場(chǎng)準(zhǔn)入規(guī)則的參差不齊,導(dǎo)致大量具有質(zhì)量問(wèn)題,乃至于安全隱患的移動(dòng)應(yīng)用產(chǎn)品涌入市場(chǎng),將對(duì)用戶的隱私、財(cái)產(chǎn)造成威脅。這時(shí),對(duì)移動(dòng)應(yīng)用的質(zhì)量把控就被提升到了一個(gè)舉足輕重的地位。有別于PC端應(yīng)用,移動(dòng)APP對(duì)網(wǎng)絡(luò)條件、適配、用戶體驗(yàn)等方面提出了更高的要求。總結(jié)現(xiàn)有文獻(xiàn)發(fā)現(xiàn),移動(dòng)APP測(cè)試未來(lái)的發(fā)展趨勢(shì)可能是:①為了解決需求更新速度快、各種軟件版本管難度大的問(wèn)題,敏捷測(cè)試的方式將更為合適;②目前的移動(dòng)APP測(cè)試尚未實(shí)現(xiàn)完全自動(dòng)化,為了節(jié)約資源成本,實(shí)現(xiàn)全面自動(dòng)化測(cè)試需要提上日程;③當(dāng)前很多應(yīng)用在不同網(wǎng)絡(luò)環(huán)境、設(shè)備型號(hào)上運(yùn)行所產(chǎn)生的差異性也是測(cè)試的一個(gè)難點(diǎn)。本文主要對(duì)圖形用戶界面測(cè)試、系統(tǒng)性測(cè)試、基模測(cè)試等方面的測(cè)試方法進(jìn)行了分析總結(jié),以期為之后的移動(dòng)引用測(cè)試提供理論基礎(chǔ)和新的思考方向。

        參考文獻(xiàn):

        [1] 中國(guó)互聯(lián)網(wǎng)絡(luò)信息中心.中國(guó)互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計(jì)報(bào)告[EB/OL].[2017-1].http://www.cnnic.net.cn/hlwfzyj/hlwxzbg/hlwtjbg/201701/P020170123364672657408.pdf.

        [2] 葉強(qiáng).基于無(wú)縫移動(dòng)引擎(SME)的手機(jī)自動(dòng)測(cè)試接口技術(shù)的研究與實(shí)現(xiàn)[D].北京:北京交通大學(xué),2007.

        [3] AMALFITANO D,F(xiàn)ASOLINO A R,TRAMONTANA P,et al.Using gui ripping for automated testing of android APPlications[J].Ase,2012,43(9):258-261.

        [4] JENSEN C S,PRASAD M R.Automated testing with targeted event sequence generation[C].Proceedings of the 2013 International Symposium on Software Testing and Analysis International Symposium on Software Testing and Analysis,2013:67-77.

        [5] SU T.FSM droid:guided gui testing of android APPs[C].Proceedings of the 38th International Conference on Software Engineering Companion,2016:689-691.

        [6] MIRZAEI N,GARCIA J,BAGHERI H,et al.Reducing combinatorics in gui testing of android APPlications[C].Proceedings of the 38th International Conference on Software Engineering,2016:559-570.endprint

        [7] MAHMOOD R,MIRZAEI N,MALEK S.Evodroid:segmented evolutionary testing of android APPs[C].Proceedings of the 22nd ACM SIGSOFT International Symposium on Foundations of Software Engineering,2014:599-609.

        [8] 謝曉園,許蕾,徐寶文.演化測(cè)試技術(shù)的研究[J].計(jì)算機(jī)科學(xué)與探索,2008,2(5):449-466.

        [9] AZIM T,NEAMTIU I.Targeted and depth-first exploration for systematic testing of android APPs[J].Acm Sigplan Notices,2013,48(10):641-660.

        [10] 馬云云,王金波,張弢,等.基于模型的方法在軟件測(cè)試領(lǐng)域的應(yīng)用與發(fā)展[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2016,25(6):274-278.

        [11] GUDMUNDSSON V,LINDVALL M,ACETO L,et al.Model-based testing of mobile systems[Z].an empirical study on quizup android APP,2016:16-30.

        [12] FARTO G D C,ENDO A T.Evaluating the model-based testing approach in the context of mobile applications[J].Electronic Notes in Theoretical Computer Science,2015,314(C):3-21.

        [13] MERILINNA J,PUOLITAIVAL O P.Using model-based testing for testing application models in the context of domain-specific modelling[J].Oopsla Workshop on Domain,2009.

        [14] KENG J C J,JIANG L,WEE T K,et al.Graph-aided directed testing of android applications for checking runtime privacy behaviours[C].Proceedings of the 11th International Workshop on Automation of Software Test,2016:57-63.

        [15] LU X,LIU X,LI H,et al.Prada:prioritizing android devices for APPs by mining large-scale usage data[C].Proceedings of the 38th International Conference on Software Engineering,2016:3-13.

        [16] ZHANG H,WU H,ROUNTEV A.Automated test generation for detection of leaks in android applications[C].Proceedings of the 11th International Workshop on Automation of Software Test,2016:64-70.endprint

        猜你喜歡
        移動(dòng)APP移動(dòng)平臺(tái)軟件測(cè)試
        基于OBE的軟件測(cè)試課程教學(xué)改革探索
        EXCEL和VBA實(shí)現(xiàn)軟件測(cè)試記錄管理
        電子制作(2018年16期)2018-09-26 03:27:18
        關(guān)于軟件測(cè)試技術(shù)應(yīng)用與發(fā)展趨勢(shì)研究
        基于移動(dòng)式培訓(xùn)評(píng)估系統(tǒng)的培訓(xùn)閉環(huán)管理研究與探索
        信息技術(shù)環(huán)境下會(huì)計(jì)專業(yè)教學(xué)模式的構(gòu)建
        基于移動(dòng)平臺(tái)的電力營(yíng)銷系統(tǒng)應(yīng)用探析
        數(shù)字化校園中統(tǒng)一移動(dòng)平臺(tái)的實(shí)踐與探索
        基于互聯(lián)網(wǎng)+環(huán)境下大學(xué)生自主學(xué)習(xí)移動(dòng)平臺(tái)設(shè)計(jì)的研究
        軟件測(cè)試工程化模型及應(yīng)用研究
        高校學(xué)習(xí)者對(duì)日語(yǔ)學(xué)習(xí)APP使用狀況的研究調(diào)查
        考試周刊(2016年33期)2016-05-28 17:47:04
        好看午夜一鲁一鲁一鲁| 天天摸夜夜摸摸到高潮| 色吊丝中文字幕| 国产suv精品一区二区69| 亚洲成aⅴ人片在线观看天堂无码| 国内精品视频一区二区三区| 伊人狠狠色j香婷婷综合| 少妇隔壁人妻中文字幕| 粉嫩极品国产在线观看免费一区| 国产公开免费人成视频| 无码人妻一区二区三区在线视频| 精品一精品国产一级毛片| 视频一区二区三区中文字幕狠狠| 亚洲精品在线一区二区| 少妇被又大又粗又爽毛片久久黑人| 午夜无码片在线观看影视| 九九九影院| 亚洲av第一区综合激情久久久| 老女人下面毛茸茸的视频| 又粗又黑又大的吊av| 国产免费丝袜调教视频| 国产成人丝袜网站在线看| 亚洲综合在线一区二区三区| 人妻少妇中文字幕在线观看| 粗大猛烈进出白浆视频 | 色窝窝手在线视频| 网红尤物泛滥白浆正在播放| 亚洲 欧美 偷自乱 图片| 久久国产劲暴∨内射| 亚洲国产成人精品91久久久| 加勒比特在线视频播放| 日本伦理精品一区二区三区| 色www视频永久免费| 久久久国产精品樱花网站| 中文字幕亚洲乱码熟女在线| 99国产精品久久一区二区三区| 亚洲av无码国产精品永久一区| 成人免费视频在线观看| 日本高清一区二区三区视频| 日韩免费精品在线观看| 国产高跟黑色丝袜在线|