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