?
基于模型的移動應用兼容性測試方法研究
成靜1,2,朱怡安1,張濤2,周文強2,李坤2,王海鵬1
(1.西北工業大學計算機學院,陜西西安710072; 2.西北工業大學軟件與微電子學院,陜西西安710072)
摘要:在分析研究移動應用測試驗證技術機理的基礎上,提出一種基于測試價值權重語義樹模型的移動應用兼容性測試方法。該方法的主要特點是能夠生成所有移動應用兼容性測試環境,并可根據其測試價值進行排序和選擇,從而能提高測試效率,降低測試成本,減少測試時間。
關鍵詞:測試模型與分析;兼容性測試;移動應用測試;移動測試環境
近年來,移動應用在通信、娛樂、新聞、商業、金融等各個行業均取得了快速發展。預測到2014年,全球移動應用市場規模將高達3 300億美元,而移動應用測試技術已成為急待研究的問題之一。由于移動設備特征和環境的差異性,需要進行充分的兼容性測試。然而移動設備多達上萬種,如何選擇合適的移動設備和應用環境,是當前兼容性測試迫切需要解決的難題之一[1]。
雖然,已有一些論文針對移動應用的測試方法進行研究,但對與兼容性測試相關的研究仍較少。文獻[2]研究了針對Android碎片的兼容性測試方法。文獻[3]提出一種綜合考慮設備特征覆蓋率和設備市場份額的移動應用兼容性測試策略。目前,移動應用兼容性測試仍主要依靠測試人員經驗。為此,本文提出了一種基于模型的移動應用兼容性測試方法,并進行了實例驗證分析。
語義樹是一種多層次樹形模型,可以用于移動應用兼容性測試建模[4]。在語義樹中,每個節點用來描述一種測試特征,節點之間的鏈接則可用于描述測試特征之間的語義關系。于是,可以將一個兼容性測試語義樹定義為三元變量(N,E,R)。其中
1) N是一組語義樹節點,包括葉子節點、中間節點和根節點,節點用于表示移動應用環境特征。
2) E是一組節點之間的連接,每個連接包括一個父節點和它的一個子節點。每個連接描述了父節點和子節點之間的語義關系。
3) R是一組關系。R有一個語義標簽,描述父節點與子節點之間的語義關系。這里,定義了4個語義標簽: EOR,AND,SELECT-1,and SELECTM。圖1給出語義關系示例,表1詳細描述語義關系。
為了支持移動應用兼容性測試分析,本文在語義樹模型基礎上,提出了語義生成樹概念。下面給出其定義。在圖1中,給出一個語義樹,以及其生成樹的例子。
語義生成樹是指根據語義關系,由語義樹派生出的子樹,上述4種語義關系所對應的派生規則分別是:
1)對于每個具有AND關系的父節點,必須包含它的所有子節點以及它們的連接。
2)對于每個具有EOR關系的父節點,必須且只能包含其中一個子節點以及它的連接。
3)對于每個具有SELECT-1關系的父節點,必須且只能包括其中一個子節點以及它們相應的連接。
4)對于每個具有SELECT-M關系的父節點,必須包括它的M個子節點以及它們相應的連接。

表1 語義關系說明表

圖1 語義樹及其生成樹示例
基于語義樹模型的兼容性測試方法,通過其生成樹集合能夠獲得所有的兼容性測試環境配置。但所生成的兼容性測試配置環境,數量巨大,而其中一些測試環境對移動應用兼容性的測試價值可能很低。因此,需要研究優化策略和方法,以減少測試環境數量,提高測試效率。
2. 1測試價值權重語義樹模型
影響移動應用兼容性測試的環境特征很多,如移動應用平臺、移動設備硬件特征、本地API接口等,每個移動特征可能包含多個特征值。但是,由于各個移動應用的功能、架構和運行環境不盡相同,各個移動特征和特征值對其兼容性的影響,即其引發移動應用故障的概率也可能不同。例如,對Skype應用,就其攝像頭分辨率特征而言,分辨率越高,需要傳輸的數據也越多,越容易引起故障。因此,其特征值為200萬像素相對于30萬像素,會具有更高的測試價值。
因此,在為移動應用兼容性測試環境建模時,需要綜合考慮特征和特征值對兼容性測試的價值。為此,本文在移動應用兼容性語義樹模型中,增加了價值權重因子。圖3為移動應用Skype兼容性測試權重語義樹模型,其中根據該特征對移動應用兼容性測試的價值和重要性,即該特征引發移動應用安裝運行的兼容性的故障概率與危害性,給其賦予價值權重因子w。
例如,在Skype應用測試價值權重語義樹模型中,其網絡連接下的,wifi的測試價值為0. 5,而網絡連接的測試價值設定為0. 9。這是因為網絡連接比wifi的帶寬更低,網絡更不穩定,可能出現的兼容性問題更多。這里,我們對所有的語義樹模型節點設定其測試價值權重因子,在表2中給出其約束規則:

表2 權重因子約束規則表
在語義樹模型中,對每一個非葉子節點的所有子節點,按照其價值權重排序,價值權重大的排在左邊,重構移動應用的語義樹模型為價值權重語義樹模型,該價值權重語義樹模型是一個有序樹。例如對于Skype應用,根據其功能與兼容性測試經驗,為其各個非根節點定義其價值權重,其權重語義樹模型如圖3所示,其價值權重語義生成樹實例如圖4所示。

圖2 Skype兼容性測試價值權重語義樹模型

圖3 Skype兼容性測試價值權重語義生成樹實例
2. 2語義生成樹測試價值計算
基于價值權重語義樹模型,可以獲得其所有的價值權重語義生成樹。對每個價值權重語義生成樹,可以遞歸計算其最終的測試價值。
首先,根據子節點測試價值計算其父節點測試價值。這里,假設父節點為F,并設它共有N個子節點,分別為S1,S2,…Sn;每個子節點的測試價值權重分別為w1,w2,…wn;其測試價值分別為v1,v2,…vn。則父節點F的測試價值V可由下式算出:

即父節點的測試價值為其所有子節點測試價值與測試權重之積的和,最大為1。
對于價值權重語義生成樹的葉子節點,其測試價值的缺省值為1。
這樣通過遞歸計算,最終可以得到測試權重語義生成樹根節點的測試價值,即是該語義生成樹的測試價值。例如,在圖4中,對節點RAM的測試價值,根據其子節點3G的測試價值1和價值權重0. 6計算為0. 6;對節點Hardware的測試價值,則根據其子節點RAM、Camera和Display的測試價值和價值權重計算為0. 88;最終計算的生成樹價值權重為0. 94。
通過上述方法,可以計算所有語義生成樹的測試價值,并按照測試價值對其排序。在兼容性測試時,可以根據測試資源,優先測試價值高的測試環境,而略去測試價值低的測試環境,以期節約測試資源,降低測試成本,提高測試效率。
為了驗證本文方法的有效性,對Skype、Yelp 2個移動應用進行了基于Android平臺的兼容性測試。首先,分別對這2個移動應用建立其測試價值權重語義樹模型,然后分別計算各生成樹的測試價值,并進行排序。再選擇測試價值>0. 7的測試環境,構成價值權重語義樹兼容性測試環境集。同時,根據經驗為兩個應用分別選擇相同數量的兼容性測試環境,構成相對應的經驗測試環境集。最后在兩組測試環境上,分別執行同一組的測試用例,表3為最終測試結果。

表3 實例測試結果
根據語義樹模型,能夠獲得所有兼容性測試環境,而通過測試價值權重,能夠優先測試高價值的測試環境,以提高測試效率,降低測試成本。由表3易見,相對于經驗測試方法,本文測試方法能夠發現更多移動應用兼容性缺陷,使測試工作更為有效。
目前,我國對移動應用兼容性測試的研究仍處于初期階段,系統有效的方法尚不多見。本文構建了一種基于測試價值語義樹模型的移動應用兼容性測試方法。該方法首先通過生成樹算法獲得所有兼容性測試環境。然后基于測試價值進行排序和過濾,能夠有效提高測試效率,降低測試成本。下一步將設計開發一個自動、可視化的移動應用兼容性測試工具,并開展更多的實例驗證研究。
參考文獻:
[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,Fa 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—),女,西北工業大學博士研究生,主要從事軟件測試及軟件安全性研究。
收稿日期:2014-09-28基金項目:國家自然科學基金(61103003)、航天科技支撐計劃(2014HTXGD)、西北工業大學基礎研究基金(2012JC2016)與航空科學基金(20120718005)資助
文章編號:1000-2758(2015) 02-0337-05
文獻標志碼:A
中圖分類號:TP311