APP自動化測試很重要?一文帶你搞懂怎麼測APP

2020-10-10 12:00:17

現在是行動網際網路的時代,行動端APP產品在不斷推陳出新,相應的APP測試人員也變得炙手可熱。今天鬆勤軟體測試程老師跟大家全面談談APP應該怎麼做測試。

在這裡插入圖片描述

一、首先,移動測試要注意以下幾點:

移動APP測試中如何設計Test Case?

行動網際網路開發節奏很快,而且版本快速、頻繁迭代,建議放棄傳統的Tese Case,不需要寫詳細的測試用例。而採用feature list。比如使用「思維導圖+功能點」的方法。這樣能節省大量的時間。而且思維導圖比較直觀,不容易漏掉功能。

讓自己成為真實的使用者

大部分移動APP都是面向普通使用者的,而不是企業使用者。既要把自己當作APP的真實使用者,又得具有測試員的思維,這樣便於徹底瞭解業務邏輯。

關注使用者體驗測試

使用者體驗是APP成功的關鍵,在這麼小的螢幕上,使用者體驗關係著使用者對APP的滿意度。

少做UI自動化,多做後臺介面的自動化

UI自動化大部分的時候,都沒什麼意義,投入大,收益少。應該多關注後臺介面的自動化測試。

重要的原則:測試你最終要釋出給使用者的APP版本!

每日構建,每日測試的理念已經深入人心,很多時候我們測試的是APP的開發和Debug版本。而不是最終的Release版本,在打包最終Release版本時。我們一般還要加上數位簽章,或者再加上程式碼混淆。那麼最終的釋出版本和Debug的版本肯定有不一致的地方。很可能最終的版本會有問題。比如Debug版本是完全工作正常,但是上線後才發現會導致「崩潰」。

HTTP,HTTPS都要覆蓋

許多APP和後臺服務都是通過HTTP來互動的,正常情況下都一切正常,為什麼需要測試HTTPS環境?一些免費上網的環境中,比如,麥當勞,萬達商城,他們的網路環境都需要輸入使用者名稱和密碼,通過SSL認證來存取網路。如果你使用HTTP Client 的Library對這種異常沒有做捕獲處理,那麼你的APP,肯定要「崩潰」。

進行網路異常,伺服器宕機或出現404,502情況下的測試

後臺服務的穩定性是你有時候很難去控制的,尤其是牽扯到DNS,空間服務商的情況下。如果出現DNS解析故障,碰到這種情況,你對後臺API的請求很可能就會出現404錯誤,而你和API互動的資料應該是某種固定格式(例如JSON和XML),這樣你的資料解析可能會出現錯誤,丟擲異常。如果你對異常沒有進行正確的處理可能會導致程式不能正常工作。

2G、3G、4G、wifi都要覆蓋

這四者之間不僅僅是網路速度的差別,它們代表了不同的網路環境。經常會有些APP能在3G網路下執行,但是不能在wifi下執行。所以在需要在不同的網路環境下執行check。

APPStore冗長的稽核機制

一旦你的應用出現嚴重系統錯誤,你修復版本基本不可能在很短時間內在APP Store上架,那麼你的使用者就會離去。

在這裡插入圖片描述

二、至於APP測試要測試哪些點,請接著往下看:

APP測試的方面很多,如:功能測試(功能點測試、流程測試)、相容性測試、交叉測試、安裝解除安裝測試(包括應用的升級)、壓力測試(主要指,介面壓力測試)、安全測試等等。

功能測試: 對具體功能點一一測試,驗證確認每個點都實現滿足需求的相應功能。

APP相容性測試: 根據螢幕尺寸、系統進行適配測試;對市場上主流的裝置安裝應用執行測試(如果有特定針對群體,應該根據實際使用者資料接入裝置進行分析,對靠前的機型選擇進行適配測試),確保都能正常執行。

壓力測試: 使用者量大,互動性高的應用需對介面執行壓力測試,確應用在海量的使用者使用的情況下能正常執行。

UI/UE測試: 主要是一些適配,使用者體驗方面,互動方面的測試。

使用者行為統計測試: 確保手頭的行為統計分析定義檔案為最新版本,且與開發員手中的檔案一致;確保產品經理在檔案中所定義的頁面在該產品中都是存在的;儘可能真實地模擬使用者行為;核對統計紀錄檔,確保各項操作所對應的頁面ID以及操作ID都是正確的。

安全測試 : 軟體許可權、資料安全性、通訊安全性、人機介面安全性。

安裝解除安裝測試: 確保應用都能正確安裝、解除安裝,且能正確執行(注意應用的升級測試:升級前後的狀態)。

交叉測試: 對於正在執行的應用,若進入簡訊、電話等其它軟體響應的情況,不會影響被測試應用,且會保證應用能正確執行;殺掉程序時再重新開啟APP;多個APP切換資料的儲存等。

協定測試: 模擬使用者端直接傳送協定包給伺服器,看伺服器是否有一定的校驗,認不認使用者端發過來的資料。協定測試主要是為了處理使用者傳送惡意協定到伺服器,騙過伺服器的校驗。

異常測試: 多次快速點選切換頁面的響應情況?橫屏豎屏的快速操作:切換選單,播放,下載等;伺服器宕機或出現404、502等情況下的測試。

弱網測試: APP在2G/3G/4G/wifi下的表現情況,網路環境變化時,APP的應對情況:是否有適當提示?從有網環境到無網環境時,APP的反饋如何?從無網路環境回到有網路環境時,是否能自動載入資料,且多久才能開始載入資料?

電量測試: 裝置在不同電量時(低於10%,50%,95%),APP的響應以及操作流暢度;裝置在充電時,APP的響應以及操作流暢度;裝置意外斷電時,APP資料丟失情況等。

在這裡插入圖片描述

三、移動測試設計用例的要點

安裝

1、應用程式是否正確安裝到裝置上;

軟體許可權

1、扣費風險:包括傳送簡訊、撥打電話、連結網路是否提醒;

2、隱私洩漏風險:包括存取手機資訊、存取聯絡人資訊等;

登入

1、刪除或修改後的使用者、原使用者登陸;

2、登入超時處理;

螢幕旋轉

1、確認哪些介面是需要允許橫屏或者禁止橫屏的;

2、將螢幕鎖定為豎屏或者橫屏,在幾個介面跳轉,介面是否正常;

3、當適應橫屏時,是否對橫屏進行了適配;

應用切換

1、APP切換到後臺,再回到APP:①、檢查功能及應用狀態是否正常;②、程式是否崩潰,功能狀態是否正常;③、從後臺切換到前臺,資料有更新的時候,是否自動更新;

2、手機鎖屏解屏後,進入APP是否崩潰,功能狀態是否正確,尤其是從後臺切換到前臺,資料有更新的時候;

3、當APP使用過程中有電話進來中斷後再切換到APP,功能狀態是否正常;

4、切換使用者登入後,是否有原使用者髒資料;

升級更新

1、是否有完整的升級策略(強制升級,灰度釋出);

2、下載升級包過程中是否可以取消、中斷;

3、升級包下載是否可以續傳;

4、當用戶端有新版本時,是否有更新提示;當版本為非強制升級版時,使用者可以取消更新,老版本能正常使用,使用者在下次啟動時,仍能出現更新提示;

5、當給出強制更新後使用者沒有做更新時,退出使用者端;下次啟動時,仍出現強制升級提示;

6、當用戶端有新版本時,在本地不刪除使用者端的情況下,直接更新檢查是否能正常更新;

7、如果升級有忽略本次版本升級,那麼當有新的升級版本時,是否還有升級提示;

訊息push

1、不接受推播訊息時,使用者是否會再接收到push;

2、檢查收到的push與使用者身份是否相符,也沒推播給其他人;

許可權測試

1、當某些許可權被安全軟體或者系統禁止時,是否可以正常使用,需要注意的許可權:麥克風/攝像頭/定位/簡訊息等許可權;

2、在做相容性測試時,需要特別注意許可權管理較嚴的Rom,比如魅族在攝像頭等許可權為預設關閉;

3、第三方安全軟體彈框請求禁止許可權時,選擇後,是否會影響到被測應用的正常流程;

使用者體驗測試

1、是否有使用者引導;

2、選單層次是否太深;

3、互動流程分支太多;

4、相關選項離的太遠;

5、一次性載入太多資料;

6、介面中按鈕點選範圍是否適中;

效能測試

1、反覆/長期操作下(Andriod應用可以考慮monkey測試),系統資源(cpu佔用、記憶體)是否佔用異常;

2、cpu佔用、記憶體、流量,耗時等資料,必須有標準和參考值(可以是市場上同類應用的類似操作的表現,或者同應用的不同版本測試);

交叉事件

1、APP執行時,切換網路;

2、APP執行時使用藍芽傳送/接受資料;

3、APP執行時使用相機、計算器等手機自帶裝置;

相容性測試

1、不同系統、不同解析度的相容性;

網路環境測試

1、無網路時,執行請求,給與友好提示;

2、網路訊號不好,檢查功能狀態是否正常,確保不因提交資料失敗而造成crash;檢查資料是否一直處於提交狀態,有無超時限制;

3、網路訊號不好,執行操作後,在回撥沒有完成的情況下,退出本頁面或執行其它操作,有無異常情況;

4、在各種網路環境下(wifi、電信/移動–2G/3G/4G),應用的表現情況;

伺服器宕機或404、502等情況下測試

1、當出現域名解析故障時,後臺api請求很可能出現404,丟擲異常,應用端是否做處理;

其它情況

1、中文字元的處理,是否亂碼;

2、提交的資訊是否能重複,比如賬號名、暱稱;

3、暱稱中使用輸入法的表情,是否可用或限制;

4、確認鍵檢查,在輸入結束後直接按確認鍵,是否生效或報錯;

在這裡插入圖片描述
上面是我收集的一些視訊資源,在這個過程中幫到了我很多。如果你不想再體驗一次自學時找不到資料,沒人解答問題,堅持幾天便放棄的感受的話,可以加入我們扣扣群【313782132 】,裡面有各種軟體測試資源和技術討論。
在這裡插入圖片描述
當然還有面試,面試一般分為技術面和hr面,形式的話很少有群面,少部分企業可能會有一個交叉面,不過總的來說,技術面基本就是考察你的專業技術水平的,hr面的話主要是看這個人的綜合素質以及家庭情況符不符合公司要求,一般來講,技術的話只要通過了技術面hr面基本上是沒有問題(也有少數企業hr面會刷很多人)
我們主要來說技術面,技術面的話主要是考察專業技術知識和水平,上面也是我整理好的精選面試題。

趕快進來學習瞭解與交流吧。