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自動化測試
- 淺談移動應用測試方法與思路
- 移動端應用又可以進一步細分爲三大類:Web App、Native App 和 Hybrid APP
- Web App指的是移動端的Web瀏覽器,其實和PC端的Web瀏覽器沒有任何區別,只不過Web瀏覽器所依附的操作系統不再是Windows和Linux了,而是IOS和Android
- WebApp採用的技術主要是傳統的HTML、Javascript、CSS等技術棧,當然現在Html5也得到了廣泛的應用。另外,WebApp所訪問的頁面內容都是放在服務器端的,本質上就是Web網頁,所以天生就是跨平臺的
- Native APP指的是移動端的原生應用。對於Android是apk,對於ios就是ipa。NativeApp是一種基於手機操作系統(ios和Android),並使用原生程序編寫運行的第三方應用程序。NativeApp的開發,Android使用的語言通常是Java,ios使用的語言是Objective-C。通常來說,NativeApp可以提供比較好的用戶體驗以及性能,而且可以方便地操作手機本地資源。
- HybridApp(俗稱:混血應用),是介於WebApp和NativeApp兩者之間的一種App形式。
HybridApp利用了WebApp和NativeApp的優點,通過一個原生移動應用中嵌入了Webview,然後通過該Webview來訪問網頁。
HybridApp具有維護更新簡單,用戶體驗優異以及較好的跨平臺特性,是目前主流的移動應用開發模式。
- 針對不同的應用測試:
對於 Web App,顯然其本質就是 Web 瀏覽器的測試。
如果你的 Web 頁面是基於自適應網頁設計(即符合 Responsive Web 設計的規範),而且你的測試框架如果支持 Responsive Page,那麼原則上你之前開發的運行在 PC Web 端的 GUI 自動化測試用例,不做任何修改就可以直接在移動端的瀏覽器上直接執行,當然運行的前提是你的移動端瀏覽器必須支持 Web Driver。
- 對 Native App 的測試,雖然不同的平臺會使用不同的自動化測試方案(比如,iOS 一般採用 XCUITest Driver,而 Android 一般採用 UiAutomator2 或者 Espresso 等).
- 對 Hybrid App 的測試,情況會稍微複雜一點,對 Native Container 的測試,可能需要用到 XCUITest 或者 UiAutomator2 這樣的原生測試框架,而對 Container 中 HTML5 的測試,基本和傳統的網頁測試沒什麼區別,所以原本基於 GUI 的測試思想和方法都能繼續適用。
移動應用專項測試的思路和方法
移動端測試:兼容性問題
第一:交叉事件測試
交叉事件測試也叫中斷測試順序,是指App執行過程中,有其他事件或者應用中斷當前應用執行的測試。
此類測試目前基本還都是採用手工測試的方式,並且都是在真機上進行,不會使用模擬器。
交叉事件測試,需要覆蓋的場景主要包括:
- 多個 App 同時在後臺運行,並交替切換至前臺是否影響正常功能;
- 要求相同系統資源的多個 App 前後臺交替切換是否影響正常功能,比如兩個 App 都需要播放音樂,那麼兩者在交替切換的過程中,播放音樂功能是否正常;
- App 運行時接聽電話;
- App 運行時接收信息
- App 運行時提示系統升級
- App 運行時發生系統鬧鐘事件
- App 運行時進入低電量模式
- App 運行時第三方安全軟件彈出告警;
- App 運行時網絡切換
第二:兼容性測試
兼容性測試顧名思義就是,要確保 App 在各種終端設備、各種操作系統版本、各種屏幕分辨率、各種網絡環境下,功能的正確性。常見的 App 兼容性測試往往需要覆蓋以下的測試場景:
- 不同操作系統的兼容性,包括主流的 Andoird 和 iOS版本
- 主流的設備分辨率下的兼容性;
- 主流移動終端機型的兼容性;
- 同一操作系統中,不同語言設置時的兼容性;
- 不同網絡連接下的兼容性,比如 Wifi、GPRS、EDGE、CDMA200 等
- 在單一設備上,與主流熱門 App 的兼容性,比如微信、抖音、淘寶等;
兼容性測試,通常都需要在各種真機上執行相同或者類似的測試用例,所以往往採用自動化測試的手段。
同時,由於需要覆蓋大量的真實設備,除了大公司會基於 Appium + Selenium Grid + OpenSTF 去搭建自己的移動設備私有云平臺外,其他公司一般都會使用第三方的移動設備雲測平臺完成兼容性測試。第三方的移動設備雲測平臺,國外最知名的是 SauceLab,國內主流的是 Testin。
第三、流量測試
(1)App 執行業務操作引起的流量;
(2)App 在後臺運行時的消耗流量;
(3)App 安裝完成後首次啓動耗費的流量;
(4)App 安裝包本身的大小;
(5)App 內購買或者升級需要的流量。
流量測試,往往藉助於 Android 和 iOS 自帶的工具進行流量統計,也可以利用 tcpdump、Wireshark 和 Fiddler 等網絡分析工具。
雖然,減少 App 消耗的流量不是測試工程師的工作,但瞭解一些常用的方法,也將有助於你的測試工作:
- 啓用數據壓縮,尤其是圖片
- 使用優化的數據格式,比如同樣信息量的 JSON 文件就要比 XML 文件小;
- 遇到既需要加密又需要壓縮的場景,一定是先壓縮再加密;
- 減少單次 GUI 操作觸發的後臺調用數量;
- 每次回傳數據儘可能只包括必要的數據;
- 啓用客戶端的緩存機制;
- 耗電量測試
- App 運行但沒有執行業務操作時的耗電量;
- App 運行且密集執行業務操作時的耗電量;
- App 後臺運行的耗電量。
- 弱網絡測試
與傳統桌面應用不同,移動應用的網絡環境比較多樣,而且經常出現需要在不同網絡之間切換的場景,即使是在同一網絡環境下,也會出現網絡連接狀態時好時壞的情況,比如時高時低的延遲、經常丟包、頻繁斷線,在乘坐地鐵、穿越隧道,和地下車庫的場景下經常會發生。所以移動應用的測試需要保證在複雜網絡環境下的質量。具體的做法就是:在測試階段,模擬這些網絡環境,在 App 發佈前儘可能多地發現並修復問題。
第六:邊界測試
邊界測試是指,移動 App 在一些臨界狀態下的行爲功能的驗證測試,基本思路是需要找出各種潛在的臨界場景,並對每一類臨界場景做驗證和測試。
- 系統內存佔用大於 90% 的場景;
- 系統存儲佔用大於 95% 的場景;
- 飛行模式來回切換的場景;
- App 不具有某些系統訪問權限的場景,比如 App 由於隱私設置不能訪問相冊或者通訊錄等;
- 長時間使用 App,系統資源是否有異常,比如內存泄漏、過多的鏈接數等;
- 出現 ANR 的場景;
- 操作系統時間早於或者晚於標準時間的場景;
- 時區切換的場景;
21、移動測試神器:帶你玩轉Appium
1、目前主流的移動應用自動化測試框架Appium。是一種開源自動化的測試框架,支持ios和Android上web navite app和hybrid app的自動化測試
22 | 從0到1:API測試怎麼做?常用API測試工具簡介
- API測試步驟
- 準備測試數據;
- 通過API測試工具,發起對被測API的request;
- 驗證返回結果的response;