極客時間-軟件測試52講

00 | 淺談測試入門

01 | 你真的懂測試嗎?從“用戶登錄”測試談起

補充:

02 | 如何設計一個“好的”測試用例?

“好的”測試用例必須具備哪些特徵?

03 | 什麼是單元測試?如何做好單元測試?

04 | 爲什麼要做自動化測試?什麼樣的項目適合做自動化測試?(未完成)

05 | 你知道軟件開發各階段都有哪些自動化測試技術嗎(未完成)

.。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

 

06 | 你真的懂測試覆蓋率嗎?

07 | 如何高效填寫軟件缺陷報告?

1、

(1)

(2)

(3)

(4)

(5)

(6)

(7)

(8)

(9)

(10)

08 | 以終爲始,如何才能做好測試計劃?

09 | 軟件測試工程師的核心競爭力是什麼?

 

10 | 軟件測試工程師需要掌握的非測試知識有哪些?

11 | 互聯網產品的測試策略應該如何設計?

 

12-19GUI自動化測試

  1. 淺談移動應用測試方法與思路
  1. 移動端應用又可以進一步細分爲三大類Web App、Native App 和 Hybrid APP
  2. Web App指的是移動端的Web瀏覽器,其實和PC端的Web瀏覽器沒有任何區別,只不過Web瀏覽器所依附的操作系統不再是Windows和Linux了,而是IOS和Android
  3. WebApp採用的技術主要是傳統的HTML、Javascript、CSS等技術棧,當然現在Html5也得到了廣泛的應用。另外,WebApp所訪問的頁面內容都是放在服務器端的,本質上就是Web網頁,所以天生就是跨平臺的
  4. Native APP指的是移動端的原生應用。對於Android是apk,對於ios就是ipa。NativeApp是一種基於手機操作系統(ios和Android),並使用原生程序編寫運行的第三方應用程序。ativeApp的開發,Android使用的語言通常是Java,ios使用的語言是Objective-C。通常來說,NativeApp可以提供比較好的用戶體驗以及性能,而且可以方便地操作手機本地資源。
  5. HybridApp(俗稱:混血應用),是介於WebApp和NativeApp兩者之間的一種App形式。

HybridApp利用了WebApp和NativeApp的優點,通過一個原生移動應用中嵌入了Webview,然後通過該Webview來訪問網頁。

HybridApp具有維護更新簡單,用戶體驗優異以及較好的跨平臺特性,是目前主流的移動應用開發模式。

  1. 針對不同的應用測試:

對於 Web App,顯然其本質就是 Web 瀏覽器的測試

如果你的 Web 頁面是基於自適應網頁設計(即符合 Responsive Web 設計的規範),而且你的測試框架如果支持 Responsive Page,那麼原則上你之前開發的運行在 PC Web 端的 GUI 自動化測試用例,不做任何修改就可以直接在移動端的瀏覽器上直接執行,當然運行的前提是你的移動端瀏覽器必須支持 Web Driver。

  1. 對 Native App 的測試,雖然不同的平臺會使用不同的自動化測試方案(比如,iOS 一般採用 XCUITest Driver,而 Android 一般採用 UiAutomator2 或者 Espresso 等).
  2. 對 Hybrid App 的測試,情況會稍微複雜一點,對 Native Container 的測試,可能需要用到 XCUITest 或者 UiAutomator2 這樣的原生測試框架,而對 Container 中 HTML5 的測試,基本和傳統的網頁測試沒什麼區別,所以原本基於 GUI 的測試思想和方法都能繼續適用。

移動應用專項測試的思路和方法

移動端測試:兼容性問題

第一:交叉事件測試

交叉事件測試也叫中斷測試順序,是指App執行過程中,有其他事件或者應用中斷當前應用執行的測試。

此類測試目前基本還都是採用手工測試的方式,並且都是在真機上進行,不會使用模擬器。

交叉事件測試,需要覆蓋的場景主要包括:

  1. 多個 App 同時在後臺運行,並交替切換至前臺是否影響正常功能;
  2. 要求相同系統資源的多個 App 前後臺交替切換是否影響正常功能,比如兩個 App 都需要播放音樂,那麼兩者在交替切換的過程中,播放音樂功能是否正常;
  3. App 運行時接聽電話;
  4. App 運行時接收信息
  5. App 運行時提示系統升級
  6. App 運行時發生系統鬧鐘事件
  7. App 運行時進入低電量模式
  8. App 運行時第三方安全軟件彈出告警;
  9. App 運行時網絡切換

第二:兼容性測試

兼容性測試顧名思義就是,要確保 App 在各種終端設備、各種操作系統版本、各種屏幕分辨率、各種網絡環境下,功能的正確性。常見的 App 兼容性測試往往需要覆蓋以下的測試場景:

  1. 不同操作系統的兼容性,包括主流的 Andoird 和 iOS版本
  2. 主流的設備分辨率下的兼容性;
  3. 主流移動終端機型的兼容性;
  4. 同一操作系統中,不同語言設置時的兼容性;
  5. 不同網絡連接下的兼容性,比如 Wifi、GPRS、EDGE、CDMA200 等
  6. 在單一設備上,與主流熱門 App 的兼容性,比如微信、抖音、淘寶等;

兼容性測試,通常都需要在各種真機上執行相同或者類似的測試用例,所以往往採用自動化測試的手段。

同時,由於需要覆蓋大量的真實設備,除了大公司會基於 Appium + Selenium Grid + OpenSTF 去搭建自己的移動設備私有云平臺外,其他公司一般都會使用第三方的移動設備雲測平臺完成兼容性測試。第三方的移動設備雲測平臺,國外最知名的是 SauceLab,國內主流的是 Testin。

第三、流量測試

(1)App 執行業務操作引起的流量;

2App 在後臺運行時的消耗流量;

3App 安裝完成後首次啓動耗費的流量;

4App 安裝包本身的大小;

5App 內購買或者升級需要的流量。

流量測試,往往藉助於 Android 和 iOS 自帶的工具進行流量統計,也可以利用 tcpdump、Wireshark 和 Fiddler 等網絡分析工具。

雖然,減少 App 消耗的流量不是測試工程師的工作,但瞭解一些常用的方法,也將有助於你的測試工作:

  1. 啓用數據壓縮,尤其是圖片
  2. 使用優化的數據格式,比如同樣信息量的 JSON 文件就要比 XML 文件小;
  3. 遇到既需要加密又需要壓縮的場景,一定是先壓縮再加密;
  4. 減少單次 GUI 操作觸發的後臺調用數量;
  5. 每次回傳數據儘可能只包括必要的數據;
  6. 啓用客戶端的緩存機制;
  • 耗電量測試
  1. App 運行但沒有執行業務操作時的耗電量;
  2. App 運行且密集執行業務操作時的耗電量;
  3. App 後臺運行的耗電量。
  • 弱網絡測試

與傳統桌面應用不同,移動應用的網絡環境比較多樣,而且經常出現需要在不同網絡之間切換的場景,即使是在同一網絡環境下,也會出現網絡連接狀態時好時壞的情況,比如時高時低的延遲、經常丟包、頻繁斷線,在乘坐地鐵、穿越隧道,和地下車庫的場景下經常會發生。所以移動應用的測試需要保證在複雜網絡環境下的質量。具體的做法就是:在測試階段,模擬這些網絡環境,在 App 發佈前儘可能多地發現並修復問題。

第六:邊界測試

邊界測試是指,移動 App 在一些臨界狀態下的行爲功能的驗證測試,基本思路是需要找出各種潛在的臨界場景,並對每一類臨界場景做驗證和測試。

  1. 系統內存佔用大於 90% 的場景;
  2. 系統存儲佔用大於 95% 的場景;
  3. 飛行模式來回切換的場景;
  4. App 不具有某些系統訪問權限的場景,比如 App 由於隱私設置不能訪問相冊或者通訊錄等;
  5. 長時間使用 App,系統資源是否有異常,比如內存泄漏、過多的鏈接數等;
  6. 出現 ANR 的場景;
  7. 操作系統時間早於或者晚於標準時間的場景;
  8. 時區切換的場景;

21、移動測試神器:帶你玩轉Appium

1、目前主流的移動應用自動化測試框架Appium。是一種開源自動化的測試框架,支持ios和Android上web navite app和hybrid app的自動化測試

22 | 從0到1:API測試怎麼做?常用API測試工具簡介

  1. API測試步驟
  1. 準備測試數據;
  2. 通過API測試工具,發起對被測API的request;
  3. 驗證返回結果的response;

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章