App測試工程師必須掌握的測試技巧

一、前言

移動端測試經過近十年的發展,方法和工具已經非常成熟。很多時候,我們不一定自己非得開發什么工具和平臺,利用現有的工具,也能提高質量和測試效率。本文主要根據作者積累的App測試的方法和經驗,總結一些App測試的技巧,以及如何利用工具提升測試效率。

二、App常用測試技巧

1. App測試的正確姿勢

在進行App測試的時候,手機一定要連接到電腦,同時開啟命令行抓取日志和網絡抓包工具。這樣,如果發現Bug,我們能第一時間通過錯誤日志和網絡請求,分析定位Bug。常用的抓包工具,Windows下建議Fiddler,Mac下建議Charles。

日志和抓包

2. 如何提供最有效的Bug信息

在保證產品質量的過程中,測試人員的主要工作在于發現產品研發過程中出現的各種Bug,開發人員根據我們的Bug描述,定位并解決Bug。由于問題的發現和解決并非同一個人,測試人員對Bug信息的描述就非常重要。那么怎樣提供最有效的Bug信息呢?我提供幾點參考。

  • 復現步驟的描述能用視頻盡量不用文字
    大部分的Bug系統都支持gif圖片的展示。gif圖片其實是一種網頁端的視頻格式。因為,如果我們把復現步驟錄制成一個gif圖片,附在Bug單里面,將會更加清晰明了。這里介紹一個錄制gif視頻的小工具:LICEcap,它可以快速對PC屏幕進行錄制,然后轉成gif視頻,效果如下:
LICEcap視頻工具
  • Logcat日志不可少
    通常開發同學會在代碼中加入一些調試日志,一旦程序出現異常,會在日志中打印出來。因此,我們如果將Bug出現前后的日志截取下來,將會給開發同學的問題定位帶來效率的提升。
    對于實時日志的獲取,Android系統可以通過Android sdk中的adb logcat工具抓取:
    logcat

iOS通過libimobiledevice獲取:

brew install libimobiledevice
idevicesyslog [-u <device-udid>]
  • 不要忽視網絡請求
    絕大多數的App產品都需要與后端進行交互。很多Bug有可能是后端返回異常導致的。因此,我們可以對發生Bug前后的網絡日志進行抓取提供給開發同學。關于抓包方法的介紹參考慶豐的文章-移動應用抓包調試利器Charles

3. 如何通過Mock測試提高效率

Mock一般是指模擬某個服務器接口的返回數據。在App的測試中,我們為了測試某個服務器接口的不同返回結果對前端交互的影響,經常需要反復構造不同參數的網絡請求。這個過程繁瑣又效率低下,其實最好的方法就是通過Mock工具,將請求的返回數據進行修改。

例如,對于我們熟知的登錄接口,有登錄超時、操作超時、登錄被擠下線、登錄系統繁忙、賬戶和密碼錯誤、賬戶鎖定、賬戶解密失敗等多種情況。如果是在沒有mock的情況下,我們需要實際構造10多種場景,有些比如系統繁忙,超時等場景通過傳統的方法根本沒法構造出來。利用Mock方法,我們可以借助一些工具,例如charles打斷點,截取接口返回的response的json數據,進行一些模擬。

這里推薦的Mock工具還是Charles,它提供了 Map 功能、 Rewrite 功能以及 Breakpoints 功能,都可以達到修改服務器返回內容的目的。這三者在功能上的差異是:

  • Map 功能適合長期地將某一些請求重定向到另一個網絡地址或本地文件。
  • Rewrite 功能適合對網絡請求進行一些正則替換。
  • Breakpoints 功能適合做一些臨時性的修改。

具體的使用方法也可以參考慶豐的文章-移動應用抓包調試利器Charles

4. 模擬器的妙用

我們的測試同學一般習慣在真機上進行測試,覺得這樣更加符合用戶的真實場景。其實,仔細想想你會發現,大部分的測試工作都是在驗證產品本身的功能,與手機本身無關。那么我們是不是也可以在模擬器上進行測試呢?很多人可能會覺得Android自帶的模擬器性能不好,但是現在市場上出現了很多非常優秀的模擬器,比如Genymotion,網易mumu,Droid4X等,這些模擬器的性能都與真機媲美,對于iOS系統,自帶的模擬器我們就不用多說了。除此之外,我這里還要給大家說說模擬器的妙用。

(1)模擬GPS位置
大多數的Android模擬器都有位置模擬功能,我們設置特定的GPS位置,即可讓你定位到指定的位置,從而測試需要區分地域的場景。

位置模擬

(2)設置分辨率
App測試中,我們經常需要測試不同屏幕尺寸,不同分辨率下的UI展示情況。通常的做法,是去購買各種屏幕尺寸和分辨率的手機,從而進行兼容性的測試。這樣的做法適合土豪團隊,同時效率也比較低下。從節約成本上來考慮的話,我們可以使用模擬器,Android的模擬器一般支持分辨率和屏幕尺寸的自定義設置,iOS可以啟動不同機型的模擬器。

分辨率
iOS模擬器

(3)快速截圖和錄制視頻
真機上發現Bug,我們截屏后,需要將圖片從手機傳輸到電腦,然后提交到Bug系統,這個過程影響工作效率。而且有的App還禁止了手機的截屏功能。在模擬上,我們不僅可以快速截屏,還可以用前面介紹的LICEcap工具錄制gif視頻。

5. 模擬網絡環境

由于手機的移動性,App的網絡場景非常復雜,網絡丟包率和延時有時候會非常高。為了測試不同網絡環境下App的功能是否正常,我們經常需要去一些信號不好的地方進行測試。其實也可以有便捷的方式模擬網絡環境。常見的抓包工作Fiddler和Charles都支持丟包和延時的設置。只要我們知道不同網絡場景的丟包率和延遲參數,即可通過工具模擬出來。然后通過手機連接模擬出來的網絡進行測試。下面是常見網絡場景的參數設備列表,僅供參考。

網絡兼容性測試

6. 免費的工具和平臺

這里不做過多的介紹,具體可以參考我之前的文章-移動測試工程師必須知道的10個開源框架

三、總結

荀子說過“君子生非異也,善假于物也”。善于利用現有的工具解決實際問題,也是一項非常重要的能力。本文只是拋磚引玉,由于業務場景的限制,很多方法不一定是最好的,總結也不是很全面,歡迎大家多多留言,共同探討。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,238評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,430評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,134評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,893評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,653評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,136評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,212評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,372評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,888評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,738評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,939評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,482評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,179評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,588評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,829評論 1 283
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,610評論 3 391
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,916評論 2 372

推薦閱讀更多精彩內容