陳夢珂 戴平
摘 要 近年來,App發(fā)展已進入競爭日趨激烈階段,由最初級的簡易型應用程序發(fā)展到現(xiàn)在復雜多樣化。目前App開發(fā)大多采用迭代開發(fā)模式,版本更新速度快,測試周期短,測試工作難。文章從測試流程方面進行闡述移動App測試過程及主要測試活動。
關鍵字 移動App 測試流程 探索測試
中圖分類號 TP3 文獻標識碼 A 文章編號 1674-6708(2018)209-0145-02
隨著科技的進一步發(fā)展,智能手機已經(jīng)成為個人通信、網(wǎng)絡、生產(chǎn)力和企業(yè)盈利的新標準和必備產(chǎn)品。如果一款新研發(fā)的產(chǎn)品不經(jīng)過測試就急于上市,不僅是發(fā)生信息安全問題,就連相對而言較輕的閃退、卡死卡頓、黑屏白屏等兼容性問題,給產(chǎn)品帶來的影響也是極大的。因此測試的工作在App運營過程中必須得到進一步的重視。文通過文獻分析法及多年App測試工作經(jīng)驗,對實際工作中移動App的測試流程工作進行梳理和總結(jié)如下。
1 App測試流程
手機上的App分為基于HTML5的App(類似于b/S架構(gòu))和本地App(類似于C/S架構(gòu))所以測試上我們也可以充分吸收Web的b/s和c/s測試經(jīng)驗。但是不同于PC上的應用測試,手機上的測試有其獨特性。常見的移動App測試流程如圖1。
1.1 測試計劃制訂
測試計劃階段處于測試的先期準備工作階段,在該階段中主要對測試工作做出整體計劃安排,在此之前需要進行需求分析,對產(chǎn)品需求規(guī)格進行需求測試,將要測試的產(chǎn)品分解成可獨立測試的單元,為每個測試單元確定采用的測試技術(shù)。然后明確測試目的,設定測試范圍、安排測試進度、制定測試策略,準備測試資源、預測項目風險等。在制定項目計劃時,應參照項目交付的進度,客觀分析個模塊的工作量,以保證計劃質(zhì)量。該階段的產(chǎn)物是《測試計劃》文檔一般由測試經(jīng)理完成,文檔經(jīng)過項目組成員評審后定稿,作為測試工作開展的指導綱領,也是評估測試工作成果的主要依據(jù)。
1.2 測試設計階段
測試設計階段主要工作是把用戶需求轉(zhuǎn)化成測試需求,并通過黑盒測試方法如等價類邊界值、因果圖判定表、場景法、錯誤推斷法等,設計詳細測試策略,確定測試類型,App常見測試類型包括:功能測試、安裝卸載測試、兼容測試、性能測試等,每一種測試類型都需要制定詳細測試策略及準備測試工具和測試資源,最后編寫測試框架或者測試用例。
由于App開發(fā)周期短,版本迭代快,一般采用測試思維導圖或feature lis形式羅列測試點,詳細地描述每個單元的測試方法。測試設計階段是測試工作的靈魂,需要對該階段產(chǎn)物測試用例進行詳細評審,評審維度包括:用例描述是否清晰,內(nèi)容是否完整,是否包含用例各個要素(輸入輸出),是否覆蓋需求中所有場景,邏輯分支及限定條件等,是否考慮到測試用例的執(zhí)行效率及可執(zhí)行率等;測試用例在項目組評審通過后才能進行測試實施工作。測試用例是測試執(zhí)行的依據(jù)。測試用例一般由測試組長編寫,并分配給測試組員進行測試執(zhí)行工作。
1.3 測試執(zhí)行階段
在App的整個生命周期中,不同的階段對Bug有效性的定義完全不同,找到App有效Bug的手段有很多種,基于產(chǎn)品設計文檔進行功能用例編寫,然后進行逐一驗證,是最系統(tǒng)有效的方式。它可以精準地發(fā)現(xiàn)App在核心業(yè)務上存在的缺陷。測試執(zhí)行階段,主要活動有,準備并確認測試環(huán)境,構(gòu)建和冒煙測試、實施測試,缺陷跟蹤,每日匯報測試結(jié)果。
和傳統(tǒng)的軟件測試類似,我們可以把App的測試實施行分為:冒煙測試,專項測試,Bug探索測試,回歸測試。
1.3.1 冒煙測試
冒煙測試是版本構(gòu)建完成后的第一步,冒煙測試也稱基本功能測試,主要驗證App基本流程是否完整,基本功能是否實現(xiàn)(如基本注冊登錄退出功能),是否存在嚴重程度為致命的Bug。冒煙測試成功才能繼續(xù)開展測試工作,如果冒煙測試失敗,需要開發(fā)人員緊急修復重新構(gòu)建版本。
1.3.2 專項測試
專項測試建立在冒煙測試成功之后,依據(jù)測試計劃和測試用例全面的進行功能及非功能測試。功能測試一般采用黑盒測試方法,運行App,檢查實際運行結(jié)果和預期結(jié)果是否一致,可以采用手工測試和自動化測試,根據(jù)項目組的人力資源合理安排,目前主流的自動化測試工具也比較多,現(xiàn)如Robotium、MonkeyRunner、Appium等。根據(jù)開發(fā)策略和結(jié)構(gòu),找出最適合他們環(huán)境的自動化工具。
非功能測試包括傳統(tǒng)的性能測試、兼容性測試、安全性測試、安裝卸載測試,App特有測試有:交叉事件測試、前后臺切換測試、PUSH測試、硬件環(huán)境測試等。
1.3.3 Bug探索測試
Bug探索式測試,目前最流行的是以眾測模式,跳開“用例測試”對測試路徑的規(guī)劃和結(jié)果的預期,尋找更多隨機甚至是小概率的可能性。相對于標準測試,Bug探索更需要的是“打破常規(guī)”,模擬真實用戶角度,結(jié)合團隊測試經(jīng)驗,最大限度探索用戶使用習慣和路徑,探索復雜操作流程;真實模擬異常應用場景及系統(tǒng)特有功能,確保主要功能使用流暢,避免影響用戶體驗的問題,發(fā)現(xiàn)研發(fā)人員不易發(fā)覺的Bug。采用等價類測試方法、邊界值測試方法、錯誤推測法、取消測試方法、逆向測試方法、錯序測試法等測試方法。一般探索測試開展是在專項測試之后,發(fā)布眾測平臺,或者直接在公司內(nèi)測,收集更加全面的測試反饋,達到更好的易用性體驗測試效果。
1.3.4 回歸測試
由于Bug的集群效應,一般情況下,開發(fā)人員每修復一個Bug,就會產(chǎn)生3~4個新Bug,發(fā)現(xiàn)Bug越多的模塊,其隱藏的Bug也越多。所以在每次版本更新的時候,都要進行一輪回歸測試,保障所有的Bug都已經(jīng)修復,并且沒有產(chǎn)生新的Bug。在版本迭代周期中,回歸測試至少執(zhí)行2輪以上,一般采取自動化工具或者腳本進行回歸。
1.3.5 上線測試
App在經(jīng)過幾輪回歸測試之后,如果沒有新的Bug產(chǎn)生,并且用戶體驗測試反饋較好,就可以考慮上線準備了,上線測試是指發(fā)布上線后,對整個項目再次進行一次完整的系統(tǒng)測試。需要檢查產(chǎn)品框架,每個模塊的功能是否有缺失或錯誤,用戶核心場景是否有邏輯問題等,驗收產(chǎn)品交互、驗收視覺樣式等。App上線之后需要測試人員繼續(xù)跟蹤,及時收集用戶使用反饋,不斷定位Bug,由開發(fā)人員進行優(yōu)化升級。
1.4 測試評估階段
測試評估階段的目標是正確評估App產(chǎn)品的質(zhì)量,確定App產(chǎn)品是否達到發(fā)布標準,并形成測試報告,參與發(fā)布工作。
測試評估階段的測試報告包括:每日測試報告、版本測試報告,階段測試報告及上線測試報告等。測試評估貫穿整個測試周期,在測試執(zhí)行結(jié)束后需要及時提交測試結(jié)果,通過測試用例執(zhí)行情況、測試點覆蓋情況Bug優(yōu)先級分布圖,Bug數(shù)量趨勢圖、缺陷模塊圖等維度,對當前測試版本進行綜合評價。測試報告需要說明清楚測試覆蓋的情況,對產(chǎn)品質(zhì)量要進行全面的評估,數(shù)據(jù)要量化,說明遺漏缺陷對系統(tǒng)質(zhì)量的影響,表明對發(fā)布的認可或拒絕,并提出后續(xù)改進的建議等。
到此整個移動App測試工具基本結(jié)束,后續(xù)的版本升級和維護工作依然延續(xù)此測試流程。
2 結(jié)論
移動App市場在蓬勃發(fā)展的同時,用戶對App的期望也越來越高,對產(chǎn)品的質(zhì)量要求也越來越高,目前App應用市場良莠不齊,許多App都存在各種安全漏洞和內(nèi)測泄露,這對App測試技術(shù)的要求也越來越高。App測試未來的發(fā)展應該以最省成本投入,最專業(yè)測試分析方法,最敏捷的測試流程,全方面模擬不同場景去探索、運行程序以保證程序質(zhì)量。
參考文獻
[1]中國互聯(lián)網(wǎng)絡信息中心.中國互聯(lián)網(wǎng)絡發(fā)展狀況統(tǒng)計報告[EB/OL].[2017-1].http://www.cnnic.net.cn/ hlwfzyj/hlwxzbg/hl‐wtjbg/201701/P0201701233646 72657408.pdf.
[2]葉強.基于無縫移動引擎(SME)的手機自動測試接口技術(shù)的研究與實現(xiàn)[D].北京:北京交通大學,2007.
[3]盧建軍,蘇寧.淺談收集軟件測試流程與策略[J].制造業(yè)自動化,2010(12):21-23.