宋菲 劉波
摘 要: 移動應(yīng)用已經(jīng)廣泛應(yīng)用于各個行業(yè)和領(lǐng)域,為了適應(yīng)日益激烈的市場競爭,需要在較短的迭代周期內(nèi)對移動應(yīng)用進(jìn)行充分的測試。由于移動設(shè)備種類多,測試需要考慮的影響因素多,使得全面測試的工作量巨大。文章將正交實驗設(shè)計法運(yùn)用到移動應(yīng)用測試中,探索在不影響測試效果的前提下減少測試次數(shù)的方法。首先分析待測試移動應(yīng)用;然后確定正交表;最后構(gòu)造有代表性的測試用例的集合。實踐證明,在可用性測試中使用正交實驗設(shè)計法,可以有效地減少測試工作量,縮短迭代周期。
關(guān)鍵詞: 移動應(yīng)用; 全面測試; 正交實驗設(shè)計; 測試用例
中圖分類號:TP311 文獻(xiàn)標(biāo)志碼:A 文章編號:1006-8228(2018)11-49-03
Abstract: Mobile APPs have been widely used in various industries and fields. In order to adapt to the increasingly fierce market competition, mobile applications need to be fully tested in a short iteration cycle. Because of the variety of mobile devices, there are many factors that need to be considered in the APP testing,which makes test the workload of comprehensive testing huge. In this paper, the orthogonal experimental design method is applied to mobile APP testing to explore the method that reduces the number of tests without affecting the test results. The APP under test is analyzed firstly, then chooses an orthogonal table and constructs a typical set of test cases. The practice proved that the use of orthogonal experimental design in usability testing can reduce the test workload and shorten the iteration cycle.
Key words: mobile APP; full test; orthogonal experimental design; test case
0 引言
根據(jù)第41次中國互聯(lián)網(wǎng)絡(luò)發(fā)展?fàn)顩r統(tǒng)計報告,截至2017年底中國手機(jī)網(wǎng)民的規(guī)模達(dá)7.53億。移動應(yīng)用服務(wù)的用戶量大,同質(zhì)化競爭激烈,要求應(yīng)用供應(yīng)商能及時滿足用戶需求、快速發(fā)布版本。然而,移動設(shè)備的型號和品牌碎片化非常厲害,OpenSignal最新調(diào)查報告顯示2015年僅Android手機(jī)的型號達(dá)到24093種。為了讓移動應(yīng)用能夠在這些設(shè)備上穩(wěn)定地運(yùn)行,需要在發(fā)布前對應(yīng)用程序進(jìn)行充分的可用性測試。移動應(yīng)用的可用性測試不可以照搬Web應(yīng)用的測試方法,這是因為移動應(yīng)用測試比Web應(yīng)用測試更依賴設(shè)備的像素、屏幕尺寸、操作系統(tǒng)和設(shè)備品牌等,而Web應(yīng)用的測試幾乎不用考慮設(shè)備品牌這些因素對測試結(jié)果的影響[1]。由于目前移動設(shè)備的型號和品牌碎片化問題嚴(yán)重[2],在所有設(shè)備上進(jìn)行可用性測試的工作量大,這就給移動應(yīng)用的快速測試帶來不小的挑戰(zhàn)。
1 正交實驗法的描述
1.1 算法概述
正交實驗設(shè)計用于處理多因素水平組合的實驗,是一種高效經(jīng)濟(jì)的實驗設(shè)計方法。用正交設(shè)計表安排實驗,實驗次數(shù)對窮舉法的全排列組合來說大大減少了,因為相對于全面實驗而言,它需要執(zhí)行部分的實驗。但對其中任意兩個因素來說,正交實驗法又是具有相同重復(fù)次數(shù)的全面實驗。正交實驗設(shè)計法的原理是,可以用比全面實驗法少得多的實驗,取得能基本上反映全面情況的實驗結(jié)果。對于Ln(tc)正交表而言,L為正交表的代號;n表示正交表有n行,也表示試驗的次數(shù);t為水平數(shù);c為因子數(shù),也就是可能安排最多的因素個數(shù)。正交表是正交實驗設(shè)計的基本工具用于安排實驗和分析實驗結(jié)果,它是一種基于數(shù)理統(tǒng)計原理,由專家運(yùn)用組合數(shù)學(xué)法經(jīng)實驗分析所創(chuàng)制的一套標(biāo)準(zhǔn)化的表格[3]。
正交實驗法的特點是“整齊可比性,均衡分散性”[4]。整齊可比性,也就是同一張正交表上,每個因子、每個水平出現(xiàn)的次數(shù)相同,這使得測試結(jié)果可以用數(shù)理統(tǒng)計的方法進(jìn)行比較;均衡分散性,任意兩個列的水平配對是相同的,這保證了測試用例具有代表性。正是因為正交表具有這兩個特點,所以可以用正交表來安排測試,可以用部分測試來代替全部測試,通過對部分測試結(jié)果的分析來了解全面測試的情況。
1.2 算法舉例
對于3個因素A、B、C分別有3個取值的測試案例,全面測試需要測試27次,而用正交法[5]只需要測試9次,正交組合有三組,分別為:A1B1C1、A1B2C2、A1B2C3;A2B1C2、A2B3C1、A2B2C3;A3B1C3、A3B2C1、A3B3C2。從圖1不難看出,任何一個面上都有3個點(圖1中帶叉的黑色圓點),而且任何一條線上都只有一個點,任何一個方向俯視正好覆蓋9個點。由此可知,正交測試法設(shè)計的測試用例是最具有代表性的,能用最少的測試次數(shù)達(dá)到基本反映全面測試情況的效果。
2 正交實驗法在移動APP測試中的應(yīng)用實踐分析
2.1 組合爆炸問題描述
碎片化導(dǎo)致測試組合爆炸。什么是測試組合爆炸?以美顏相機(jī)APP為例,可用性測試涉及品牌、前置攝像頭像素、拍照特點、機(jī)身內(nèi)存、APP功能等5個方面的因素,每個因素的選項有4~7個,如表1所示,窮舉法的組合數(shù)高達(dá)6*4*5*4*5=2400個。假設(shè)每條測試用例執(zhí)行時間為4分鐘,每天工作8小時,則需要20天的時間才能完成這些組合測試。也就是說花20多天的時間,只完成了5個基本的功能的測試??芍?,采用窮舉法來解決組合測試的情況不可行,滿足不了商業(yè)軟件測試對速度的要求。因此,需要用新的測試方法來提高測試的效率,縮短測試工作時間。
2.2 正交實驗測試用例
通過以上分析得知,在可用性測試中使用正交實驗法設(shè)計測試用例,可以大大地減少測試用例的數(shù)目,減少工作量。下面以美顏相機(jī)的基礎(chǔ)功能測試用例的設(shè)計過程,來演示正交實驗法在移動APP測試中的應(yīng)用。
美顏相機(jī)是一款把手機(jī)變自拍神器的APP,由美圖秀秀團(tuán)隊傾力打造。為愛自拍的女生量身定制了智能美肌、自動上妝和萌拍等功能。對這些功能做可用性測試,需要用正交實驗設(shè)計法來約簡測試用例集,正交試驗設(shè)計方法設(shè)計測試用例時主要包括以下幾個步驟。
⑴ 確定因子數(shù)和水平數(shù)
根據(jù)拍照APP特定的測試需求,可用性測試一共考慮品牌、前置攝像頭像素、拍照特點、機(jī)身內(nèi)存和APP功能5個因素,因為這5個因素跟拍照功能相關(guān)性更大一些,其他因素像電池容量、多卡支持這些因素對拍照功能的影響不大。
⑵ 確定水平數(shù)
品牌這個因素要考慮6個取值,前置攝像頭像素和機(jī)身內(nèi)存要考慮4個取值,拍照特點和APP功能需要考慮5個取值,水平數(shù)在4到6之間不是一個確定的值,這給正交表水平數(shù)的確定帶來困難。在水平數(shù)是6的情況下,6水平5因素的標(biāo)準(zhǔn)正交表不存在,不滿足要求;在水平數(shù)是5的情況下,運(yùn)用“正交實驗設(shè)計助手”軟件可以把5因素5水平的正交表轉(zhuǎn)化成7因素3水平的正交表;再來看一看,在水平數(shù)是4的情況下,5因素4水平正交表,剛好有符合條件的標(biāo)準(zhǔn)正交表。選擇3和4作為水平數(shù)都比較合適,但是3覆蓋到的取值情況比4少,所以選擇4為水平數(shù)更好。
⑶ 選擇合適的正交表
正交表是正交實驗設(shè)計的基本工具,它是通過運(yùn)用數(shù)據(jù)理論在拉丁方和正交拉丁方的基礎(chǔ)上構(gòu)造而成的規(guī)格化的表。上述步驟根據(jù)因子數(shù)和最大水平數(shù)、最小水平數(shù),選擇一個測試次數(shù)少、覆蓋多的最合適的正交表,也就是選定5因素4水平的正交表L16(45),L表示正交表,16是測試次數(shù),4為水平數(shù),5為因子數(shù),如表2所示。
⑷ 利用正交表構(gòu)造測試用例集
根據(jù)正交表,把每一行的各因素水平的組合作為一個測試用例,如表3所示??梢愿鶕?jù)需要增加一些正交表中沒有卻可疑的測試用例。表3中“前置雙攝”和“后置雙攝”分別代表“前置雙攝像頭”和“后置雙攝像頭”。
3 測試效果分析
應(yīng)用正交實驗設(shè)計法,借助標(biāo)準(zhǔn)正交表可知需要設(shè)計16個測試用例,也就是測試執(zhí)行16次。全面測試也就是用窮舉法來設(shè)計測試用例,則需要設(shè)計2400個測試用例,進(jìn)行2400次的測試。采用正交實驗法,將工作量減少到原來的0.67%,從執(zhí)行角度來看正交法已經(jīng)具備可操作性。而且隨著水平數(shù)和因子數(shù)的增多,正交法的效果會更加的明顯。
4 結(jié)束語
移動APP產(chǎn)品同質(zhì)化已經(jīng)不可避免,產(chǎn)品質(zhì)量是在市場中保持競爭優(yōu)勢的關(guān)鍵。移動應(yīng)用測試是保證APP品質(zhì)的有效的技術(shù)手段,測試用例設(shè)計又是移動應(yīng)用測試的重要環(huán)節(jié)。本文把正交實驗法應(yīng)用到移動應(yīng)用的測試中,從大量的測試用例中挑選合適的有代表性的條件組合,構(gòu)造高質(zhì)量的測試用例集,合理地安排測試。在保證測試效果的前提下,能有效地減少移動應(yīng)用的測試工作量,節(jié)約測試成本。
參考文獻(xiàn)(References):
[1] 成靜.移動應(yīng)用測試方法與關(guān)鍵技術(shù)研究[D].西北工業(yè)大學(xué),2016:34-48
[2] 李楠楠.全對偶算法在移動應(yīng)用軟件測試中的應(yīng)用研究[J].科技通報,2017.33(8):175-179
[3] 周新宇,吳志健,王明文.基于正交實驗設(shè)計的人工蜂群算法[J].軟件學(xué)報,2015.26(9):2167-2190
[4] 章曉勤.正交實驗法在兼容性測試中的應(yīng)用[J].武漢工程大學(xué)學(xué)報,2013.35(10):81-86
[5] 朱少民.軟件測試:基于問題驅(qū)動模式[M].高等教育出版社,2017.