現在是行動網際網路的時代,行動端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相容性測試: 根據螢幕尺寸、系統進行適配測試;對市場上主流的裝置安裝應用執行測試(如果有特定針對群體,應該根據實際使用者資料接入裝置進行分析,對靠前的機型選擇進行適配測試),確保都能正常執行。
壓力測試: 使用者量大,互動性高的應用需對介面執行壓力測試,確應用在海量的使用者使用的情況下能正常執行。
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面會刷很多人)
我們主要來說技術面,技術面的話主要是考察專業技術知識和水平,上面也是我整理好的精選面試題。
趕快進來學習瞭解與交流吧。