移動app傳統測試流程優化

2022-01-18 07:59:00 字數 4329 閱讀 2699

[本文出自天外歸雲的]

在傳統的軟體測試流程中,每一期需求從開發到上線都要經歷從需求分析與評審、測試用例評審、開發、測試、發布的流程。其中測試包含了後台測試、前端web測試、客戶端測試。後台測試又包括後台**邏輯測試、介面測試、介面壓力測試等,web端測試包含了前端頁面的ui介面測試、pc與移動端瀏覽器相容性測試和功能測試等,而客戶端測試包含的測試專案較多,而每項測試又相對技術含量較高,從而引入了專項測試的概念。和針對客戶端每期需求所做的功能測試不同,專項測試的結果雖然與產品的具體功能相關,又包含獨立於產品需求功能之外的部分。這也使得我們在設計客戶端測試用例的時候經常會把屬於專項測試中的部分內容忽略掉,從而導致了一些在設計測試用例思路上的疏漏。

安裝包測試、相容性測試、記憶體洩露測試、耗電量測試、流量測試、衝突測試、弱網測試、介面容錯測試、系統許可權測試、過度繪製測試。

在現有的業務中引入專項測試,我們需要考慮以下三點:

1. when to 專項測試?

2. how to 專項測試?

3. why to 專項測試?

安裝包測試介紹

安裝包測試主要包括以下幾點:

1)常規安裝包測試;

2)從低版本到高版本的覆蓋安裝測試;

4)過程中手機記憶體、硬碟不足情況下的安裝包測試;

5)安裝防毒軟體的前提下的安裝包測試;

7)中斷測試(檢查是否能夠回退到之前狀態):安裝中斷、解除安裝中斷、公升級中斷;

8)不同ios版本、安卓版本的安裝包測試。

什麼時候進行安裝包測試?

安裝包的測試在軟體測試流程中的階段要先於功能測試階段。

相容性測試介紹

相容性測試主要包括以下幾種:

1)作業系統版本相容:andoird版本,ios版本;

2)螢幕尺寸與解析度相容:

2.8英吋解析度為640x480(vga) 畫素密度286ppi 

3.5英吋解析度為960x640(dvga) 畫素密度326ppi(iphone4)

4.0英吋解析度為1136x640(hd) 畫素密度330ppi(iphone5)

4.7英吋解析度為1280x720(hd) 畫素密度312ppi

... ...

10 英吋解析度為2560x1600 畫素密度299ppi

3)android rom相容:小公尺、華為、魅族、中興、谷歌、三星;

4)網路型別相容:wifi、3g、4g。

什麼時候進行相容性測試?

相容性測試一般在功能測試沒有問題的基礎上展開,在軟體測試流程中的階段排在功能測試階段之後、發版上線階段之前。

記憶體洩露測試介紹

記憶體洩露測試就是為了檢測在測試的過程中是否有記憶體洩露的情況的發生而進行的測試。偶爾的記憶體洩漏現象一般使用者是難以察覺的,但是這部分的測試仍然非常有必要,因為記憶體洩露的堆積會最終消耗盡系統所有的記憶體,嚴重影響機器的效能。記憶體洩露測試需要借助於工具。

什麼時候進行記憶體洩露測試

記憶體洩露測試貫穿著整個軟體測試流程,所以記憶體洩露測試和功能測試同階段進行。

耗電量測試介紹

1)定位,尤其是呼叫gps定位;

2)網路傳輸,尤其是非wifi環境;

3)螢幕亮度;

4)cpu頻率(一些客戶端內的操作會增加cpu頻率);

5)記憶體排程頻度(同上);

6)鎖屏與喚醒的時間和次數。

耗電量測試用例的設計需圍繞以上幾點,結合需求與功能進行展開。

什麼時候進行耗電量測試

耗電量測試可以和功能測試同階段進行。

流量測試介紹

什麼時候進行流量測試

流量測試可以在確保功能沒有問題的前提下與功能測試同階段進行。

衝突測試介紹

衝突測試就是在執行某一程式的功能時被第三方功能或軟體干擾的測試。衝突測試是一種對軟體狀態的測試,軟體狀態又分為「開始」、「掛起」、「結束」三種,所以衝突測試也是模擬干擾軟體執行「開始」、「掛起」、「結束」三種狀態的測試。在模組的操作過程中觸發一些常見的打斷,測試客戶端對於事件優先順序的處理是否影響功能。衝突測試的難點在要打斷乙個事件需要事先算好時間,而對於有些速度快難以打斷的狀態來說想要實現衝突測試有時需要借助於一些自動化的手段來實現。

衝突測試主要關注的點:

1)來電呼入;

2)網路切換;

3)簡訊通知;

4)push訊息;

5)鬧鐘;

6)usb插入;

7)掛起;

8)程式歷史記錄啟動;

9)長按鍵關機;

10)自動橫屏;

11)鎖屏待機;

什麼時候進行衝突測試

衝突測試涉及整個軟體測試流程,例如:安裝包測試中就涉及了衝突測試。所以,衝突測試貫穿整個軟體測試流程,先於功能測試階段進行。

弱網測試介紹

什麼時候進行弱網測試

弱網測試和功能測試同階段進行。

介面容錯測試介紹

介面容錯測試就是對於服務端介面返回異常或不合理的資料的情況下,驗證客戶端內是否能夠正確處理異常資料的測試。介面返回超時及返回異常都應該對應在客戶端內有合理的提示以提高使用者體驗度。介面容錯測試需要借助抓包工具來完成對介面返回資料的修改。

什麼時候進行介面容錯測試

介面容錯測試與功能測試同階段進行。

系統許可權測試介紹

什麼時候進行系統許可權測試

系統許可權測試與功能測試同階段進行。

過度繪製測試介紹

過度繪製是指在一幀的時間內(16.67ms)畫素被繪製了多次,每次繪製都會占用cpu,當繪製超時時就會出現卡頓現象。而過度繪製測試就是要檢查在測試過程中是否有過度繪製的現象發生。測試往往需要借助於工具,因為過度繪製現象肉眼很難能夠分辨。android系統的開發者工具中提供了「強制進行gpu渲染」功能可以幫助我們來發現過度繪製現象。產品並不知道哪些功能模組會有過度繪製的風險,所以並不會把涉及過度繪製的內容寫到需求說明文件中。由於需要對可能發生過度繪製的地方有一定的把握能力(一般在涉及activity跳轉的地方返回容易有過度繪製現象發生。例如:從activity a跳轉到activity b後activity a沒有被銷毀,從activity b返回activity a後activity a又被重現建立,這時就容易出現過度繪製),所以實際測試中我們很容易將這部分測試用例的設計忽略掉。

1)首頁的快捷入口icon(充值、1元變20、曬單、易中商品);

2)樂購頭條滾動欄可點選的部分。

想要設計這部分的測試用例,需要:

2)確定能觸發activity之間跳轉的功能模組;

什麼時候進行過度繪製測試

過度繪製測試與功能測試同階段進行。

從以上整體對專項測試階段的把握來看,分三隊:

第一隊:安裝包測試、衝突測試;

第二隊:記憶體洩露測試、耗電量測試、流量測試、弱網測試、介面容錯測試、系統許可權測試、過度繪製測試;

第三隊:相容性測試。

安裝包測試:建議對安裝方面有改動時測,無需每次都測;

衝突測試:衝突測試用例要和功能測試用例一起設計到客戶端功能測試用例中;

記憶體洩露測試:建議通過自動化工具對測試過程全程進行監控,一旦發現洩露情況,客戶端螢幕截圖、收集洩露前後的日誌、傳送popo給客戶端開發;

耗電量測試:建議通過自動化工具進行檢測;

弱網測試:建議通過自動化工具模擬各種程度的弱網,對涉及到的客戶端與請求操作相關的按鈕或操作進行弱網測試;

介面容錯測試:介面容錯測試用例要和功能測試用例一起設計到客戶端功能測試用例中;

系統許可權測試:系統許可權測試用例要和功能測試用例一起設計到客戶端功能測試用例中;

過度繪製測試:過度繪製測試用例要和功能測試用例一起設計到客戶端功能測試用例中;

相容性測試:借助相容性測試平台完成(傳統做法:到處借手機點點點)。

對以上實施方案再次進行整理歸納,可以對傳統測試流程進行改進。對於每次需求,分以下階段——

1. 確認階段:

1)確定涉及activity之間跳轉的功能模組;

2)確定與後台請求相關的所有按鈕或操作。

2. 測試用例設計階段:

1)功能測試用例;

2)衝突測試用例;

3)介面容錯測試用例;

4)系統許可權測試用例;

5)過度繪製測試用例。

3. 測試執行階段:

1)手工測試:安裝包測試(按需)、功能測試;

2)半自動測試(一半靠手點,一半靠工具):流量測試、弱網測試;

3)自動化測試(完全靠工具):記憶體洩露測試、耗電量測試(選取主要機型進行);

4)相容性測試(借助於相容性測試平台手工測試)。

1)自動化流量測試輔助工具,要求:可以進行一段時間內的流量統計;

2)自動化弱網測試輔助工具,要求:可以選擇設定各種程度的弱網;

3)記憶體洩露自動化測試工具;

4)耗電量自動化測試工具。

1)極大程度上豐富與完善了功能測試用例的設計方法;

2)極大程度上實現了自動化過程在測試中的開發與使用。

移動端app測試流程與方法

1 首先是測試資源確認及準備 1 產品需求文件 產品原型圖 介面說明文件以及設計說明文件等應齊全 2 測試用例的設計與評審 1 根據產品需求文件 產品原型圖等文件,設計客戶端的一般功能測試用例 2 測試用例評審 修改與完善,評審通過後著手進入正式測試階段。3 ui測試 1 確保手頭的原型圖與效果圖為...

APP移動測試

自網路 一 首先是測試資源確認及準備 1.1 產品需求文件 產品原型圖 介面說明文件以及設計說明文件等應齊全 1.2 測試裝置及工具的準備 ios和andriod不同版本的真機,以及相關測試工具的準備。二 測試用例的設計與評審 1 根據產品需求文件 產品原型圖等文件,設計客戶端的一般功能測試用例 2...

APP測試流程

首先看看下面這個圖 ui測試 檢查ui,icon,文字,布局等ui元素與效果圖是否一致。一般ui方面不會存在特別嚴重的問題,作為建議提給產品就好了。功能測試 檢驗功能是否符合需求,涉及到ui層,介面,資料,服務端,邏輯等。功能方面的缺陷一般被定義為嚴重缺陷,必須修復。如果在時間欠缺的情況下,可通過會...