?
基于模型的移動應(yīng)用兼容性測試方法研究
成靜1,2,朱怡安1,張濤2,周文強(qiáng)2,李坤2,王海鵬1
(1.西北工業(yè)大學(xué)計算機(jī)學(xué)院,陜西西安710072; 2.西北工業(yè)大學(xué)軟件與微電子學(xué)院,陜西西安710072)
摘要:在分析研究移動應(yīng)用測試驗證技術(shù)機(jī)理的基礎(chǔ)上,提出一種基于測試價值權(quán)重語義樹模型的移動應(yīng)用兼容性測試方法。該方法的主要特點是能夠生成所有移動應(yīng)用兼容性測試環(huán)境,并可根據(jù)其測試價值進(jìn)行排序和選擇,從而能提高測試效率,降低測試成本,減少測試時間。
關(guān)鍵詞:測試模型與分析;兼容性測試;移動應(yīng)用測試;移動測試環(huán)境
近年來,移動應(yīng)用在通信、娛樂、新聞、商業(yè)、金融等各個行業(yè)均取得了快速發(fā)展。預(yù)測到2014年,全球移動應(yīng)用市場規(guī)模將高達(dá)3 300億美元,而移動應(yīng)用測試技術(shù)已成為急待研究的問題之一。由于移動設(shè)備特征和環(huán)境的差異性,需要進(jìn)行充分的兼容性測試。然而移動設(shè)備多達(dá)上萬種,如何選擇合適的移動設(shè)備和應(yīng)用環(huán)境,是當(dāng)前兼容性測試迫切需要解決的難題之一[1]。
雖然,已有一些論文針對移動應(yīng)用的測試方法進(jìn)行研究,但對與兼容性測試相關(guān)的研究仍較少。文獻(xiàn)[2]研究了針對Android碎片的兼容性測試方法。文獻(xiàn)[3]提出一種綜合考慮設(shè)備特征覆蓋率和設(shè)備市場份額的移動應(yīng)用兼容性測試策略。目前,移動應(yīng)用兼容性測試仍主要依靠測試人員經(jīng)驗。為此,本文提出了一種基于模型的移動應(yīng)用兼容性測試方法,并進(jìn)行了實例驗證分析。
語義樹是一種多層次樹形模型,可以用于移動應(yīng)用兼容性測試建模[4]。在語義樹中,每個節(jié)點用來描述一種測試特征,節(jié)點之間的鏈接則可用于描述測試特征之間的語義關(guān)系。于是,可以將一個兼容性測試語義樹定義為三元變量(N,E,R)。其中
1) N是一組語義樹節(jié)點,包括葉子節(jié)點、中間節(jié)點和根節(jié)點,節(jié)點用于表示移動應(yīng)用環(huán)境特征。
2) E是一組節(jié)點之間的連接,每個連接包括一個父節(jié)點和它的一個子節(jié)點。每個連接描述了父節(jié)點和子節(jié)點之間的語義關(guān)系。
3) R是一組關(guān)系。R有一個語義標(biāo)簽,描述父節(jié)點與子節(jié)點之間的語義關(guān)系。這里,定義了4個語義標(biāo)簽: EOR,AND,SELECT-1,and SELECTM。圖1給出語義關(guān)系示例,表1詳細(xì)描述語義關(guān)系。
為了支持移動應(yīng)用兼容性測試分析,本文在語義樹模型基礎(chǔ)上,提出了語義生成樹概念。下面給出其定義。在圖1中,給出一個語義樹,以及其生成樹的例子。
語義生成樹是指根據(jù)語義關(guān)系,由語義樹派生出的子樹,上述4種語義關(guān)系所對應(yīng)的派生規(guī)則分別是:
1)對于每個具有AND關(guān)系的父節(jié)點,必須包含它的所有子節(jié)點以及它們的連接。
2)對于每個具有EOR關(guān)系的父節(jié)點,必須且只能包含其中一個子節(jié)點以及它的連接。
3)對于每個具有SELECT-1關(guān)系的父節(jié)點,必須且只能包括其中一個子節(jié)點以及它們相應(yīng)的連接。
4)對于每個具有SELECT-M關(guān)系的父節(jié)點,必須包括它的M個子節(jié)點以及它們相應(yīng)的連接。
表1 語義關(guān)系說明表
圖1 語義樹及其生成樹示例
基于語義樹模型的兼容性測試方法,通過其生成樹集合能夠獲得所有的兼容性測試環(huán)境配置。但所生成的兼容性測試配置環(huán)境,數(shù)量巨大,而其中一些測試環(huán)境對移動應(yīng)用兼容性的測試價值可能很低。因此,需要研究優(yōu)化策略和方法,以減少測試環(huán)境數(shù)量,提高測試效率。
2. 1測試價值權(quán)重語義樹模型
影響移動應(yīng)用兼容性測試的環(huán)境特征很多,如移動應(yīng)用平臺、移動設(shè)備硬件特征、本地API接口等,每個移動特征可能包含多個特征值。但是,由于各個移動應(yīng)用的功能、架構(gòu)和運行環(huán)境不盡相同,各個移動特征和特征值對其兼容性的影響,即其引發(fā)移動應(yīng)用故障的概率也可能不同。例如,對Skype應(yīng)用,就其攝像頭分辨率特征而言,分辨率越高,需要傳輸?shù)臄?shù)據(jù)也越多,越容易引起故障。因此,其特征值為200萬像素相對于30萬像素,會具有更高的測試價值。
因此,在為移動應(yīng)用兼容性測試環(huán)境建模時,需要綜合考慮特征和特征值對兼容性測試的價值。為此,本文在移動應(yīng)用兼容性語義樹模型中,增加了價值權(quán)重因子。圖3為移動應(yīng)用Skype兼容性測試權(quán)重語義樹模型,其中根據(jù)該特征對移動應(yīng)用兼容性測試的價值和重要性,即該特征引發(fā)移動應(yīng)用安裝運行的兼容性的故障概率與危害性,給其賦予價值權(quán)重因子w。
例如,在Skype應(yīng)用測試價值權(quán)重語義樹模型中,其網(wǎng)絡(luò)連接下的,wifi的測試價值為0. 5,而網(wǎng)絡(luò)連接的測試價值設(shè)定為0. 9。這是因為網(wǎng)絡(luò)連接比wifi的帶寬更低,網(wǎng)絡(luò)更不穩(wěn)定,可能出現(xiàn)的兼容性問題更多。這里,我們對所有的語義樹模型節(jié)點設(shè)定其測試價值權(quán)重因子,在表2中給出其約束規(guī)則:
表2 權(quán)重因子約束規(guī)則表
在語義樹模型中,對每一個非葉子節(jié)點的所有子節(jié)點,按照其價值權(quán)重排序,價值權(quán)重大的排在左邊,重構(gòu)移動應(yīng)用的語義樹模型為價值權(quán)重語義樹模型,該價值權(quán)重語義樹模型是一個有序樹。例如對于Skype應(yīng)用,根據(jù)其功能與兼容性測試經(jīng)驗,為其各個非根節(jié)點定義其價值權(quán)重,其權(quán)重語義樹模型如圖3所示,其價值權(quán)重語義生成樹實例如圖4所示。
圖2 Skype兼容性測試價值權(quán)重語義樹模型
圖3 Skype兼容性測試價值權(quán)重語義生成樹實例
2. 2語義生成樹測試價值計算
基于價值權(quán)重語義樹模型,可以獲得其所有的價值權(quán)重語義生成樹。對每個價值權(quán)重語義生成樹,可以遞歸計算其最終的測試價值。
首先,根據(jù)子節(jié)點測試價值計算其父節(jié)點測試價值。這里,假設(shè)父節(jié)點為F,并設(shè)它共有N個子節(jié)點,分別為S1,S2,…Sn;每個子節(jié)點的測試價值權(quán)重分別為w1,w2,…wn;其測試價值分別為v1,v2,…vn。則父節(jié)點F的測試價值V可由下式算出:
即父節(jié)點的測試價值為其所有子節(jié)點測試價值與測試權(quán)重之積的和,最大為1。
對于價值權(quán)重語義生成樹的葉子節(jié)點,其測試價值的缺省值為1。
這樣通過遞歸計算,最終可以得到測試權(quán)重語義生成樹根節(jié)點的測試價值,即是該語義生成樹的測試價值。例如,在圖4中,對節(jié)點RAM的測試價值,根據(jù)其子節(jié)點3G的測試價值1和價值權(quán)重0. 6計算為0. 6;對節(jié)點Hardware的測試價值,則根據(jù)其子節(jié)點RAM、Camera和Display的測試價值和價值權(quán)重計算為0. 88;最終計算的生成樹價值權(quán)重為0. 94。
通過上述方法,可以計算所有語義生成樹的測試價值,并按照測試價值對其排序。在兼容性測試時,可以根據(jù)測試資源,優(yōu)先測試價值高的測試環(huán)境,而略去測試價值低的測試環(huán)境,以期節(jié)約測試資源,降低測試成本,提高測試效率。
為了驗證本文方法的有效性,對Skype、Yelp 2個移動應(yīng)用進(jìn)行了基于Android平臺的兼容性測試。首先,分別對這2個移動應(yīng)用建立其測試價值權(quán)重語義樹模型,然后分別計算各生成樹的測試價值,并進(jìn)行排序。再選擇測試價值>0. 7的測試環(huán)境,構(gòu)成價值權(quán)重語義樹兼容性測試環(huán)境集。同時,根據(jù)經(jīng)驗為兩個應(yīng)用分別選擇相同數(shù)量的兼容性測試環(huán)境,構(gòu)成相對應(yīng)的經(jīng)驗測試環(huán)境集。最后在兩組測試環(huán)境上,分別執(zhí)行同一組的測試用例,表3為最終測試結(jié)果。
表3 實例測試結(jié)果
根據(jù)語義樹模型,能夠獲得所有兼容性測試環(huán)境,而通過測試價值權(quán)重,能夠優(yōu)先測試高價值的測試環(huán)境,以提高測試效率,降低測試成本。由表3易見,相對于經(jīng)驗測試方法,本文測試方法能夠發(fā)現(xiàn)更多移動應(yīng)用兼容性缺陷,使測試工作更為有效。
目前,我國對移動應(yīng)用兼容性測試的研究仍處于初期階段,系統(tǒng)有效的方法尚不多見。本文構(gòu)建了一種基于測試價值語義樹模型的移動應(yīng)用兼容性測試方法。該方法首先通過生成樹算法獲得所有兼容性測試環(huán)境。然后基于測試價值進(jìn)行排序和過濾,能夠有效提高測試效率,降低測試成本。下一步將設(shè)計開發(fā)一個自動、可視化的移動應(yīng)用兼容性測試工具,并開展更多的實例驗證研究。
參考文獻(xiàn):
[1]Huang Junfei.AppACTS: Mobile App Automated Compatibility Testing Service[C]∥Proceeding of 2014 2nd IEEE International conference on Mobile Cloud Computing,Services,and Engineering,Oxford,UK,2014: 85-90
[2]Han Dan,Zhang Chenlei,F(xiàn)a Xiaochao,et al.Understanding Android Fragmentation with Topic Analysis of Vendor-Specific Bugs[C]∥Proceedings of the 19th Working Conference on Reverse Engineering,Kingston,Canada,2012: 83-92
[3]Sergiy Vilkomir,Brandi Amstutz.Using Combinatorial Approaches for Testing Mobile Applications[C]∥.Proceeding of 2014 IEEE International Conference on Software Testing,Verification,and Validation Workshops,Cleveland,OH,2014: 78-83
[4]Tao Chuanqi,Gao Jerry.Modeling Mobile Application Test Platform and Environment: Testing Criteria and Complexity Analysis.Proceeding of 2014 Workshop on Joining AcadeMiA and Industry Contributions to Test Automation and Model-Based Testing,San Jose,USA,2014: 28-33
A Model Based Compatibility Testing Method for Mobile Application
Cheng Jing1,2,Zhu Yi'an1,Zhang Tao2,Zhou Wenqiang2,Li Kun2,Wang Haipeng1
(1.Department of Computer Science and Engineering,Northwestern Polytechnical University,Xi'an 710072,China 2.Department of Software Engineering,Northwestern Polytechnical University,Xi'an 710072,China)
Abstract:With the rapid development of mobile application's market,how to efficiently test and verify the quality of mobile applications has become one research focus in current academia and industry.In particular,due to the types of mobile devices,technology updates faster; how to test compatibility for mobile applications is an urgent problem.We propose a new mobile application testing method based on testing-value-weight semantic tree model.The method can drive all testing environments of mobile applications and then rank and select appropriate environments with the testing values.The experiments have proved the feasibility of the proposed method,which can reduce the amount of compatibility testing environmental configuration,thus improving the efficiency of testing and reducing the testing cost and time.
Key words:calculations,cost reduction,efficiency,experiments,mathematical models,semantics,software testing; compatibility test,mobile app testing,mobile testing,testing model
作者簡介:成靜(1982—),女,西北工業(yè)大學(xué)博士研究生,主要從事軟件測試及軟件安全性研究。
收稿日期:2014-09-28基金項目:國家自然科學(xué)基金(61103003)、航天科技支撐計劃(2014HTXGD)、西北工業(yè)大學(xué)基礎(chǔ)研究基金(2012JC2016)與航空科學(xué)基金(20120718005)資助
文章編號:1000-2758(2015) 02-0337-05
文獻(xiàn)標(biāo)志碼:A
中圖分類號:TP311