移動App測試實戰—專項測試


   我們在進行了手工的功能測試之后,也開發了一些自動化測試用例,並且做了性能測試之后,測試工作看似比較完整了。但是當我們的App在大量的用戶那里被安裝和使用的時候,還是會有很多我們之前沒有預料的問題被反饋回來,比如:
  · Crash的問題
  · 設備兼容性的問題
  · 流量使用過多的問題
  · App導致用戶手機電量消耗過快的問題
  · 在不同的網絡情況下不穩定,比如卡死和白屏的問題
  這些問題都是上面的測試方法難以找出的,所以這里引入了一個專項的測試方法,包括:兼容性測試、流量測試、電量測試、弱網絡測試、穩定性測試、安全測試和環境相關測試。
  第一:兼容性測試
  針對App通常會考慮這些方面:
  1)操作系統版本
  包括Andoird版本,iOS版本
  2)屏幕分辨率
  3)不同廠家的ROM
  4) 網絡類型
  比如Wifi、3G、4G下的功能情況
  第二:流量測試
  在移動產品的測試中,很有必要對App使用的流量進行度量,大致來說,流量可以從用戶使用的的相關性角度分為:一類是用戶的操作直接導致的流量消耗;另一類是后台,即在用戶沒有直接使用情況下的流量消耗。
  第三:電量測試
  在木器電池技術沒有取得巨大突破前提下,這方面始終會存在一些瓶頸,如果一些App架構設計的不好,或者代碼偶缺陷,就可能導致電量消耗比較高,所以電量測試也是很重要的。
  第四:弱網絡測試
  移動互聯網產品相比PC互聯網產品,有一個特點是前者使用的網絡比較多樣,除了Wif之外,很多時候是在移動網絡下使用的,移動網絡遇到的情況又比較復雜,比如地鐵、隧道、體育場等。所以網絡不穩定的情況是比較容易發生的,很多情況下App的一些問題是在復雜的網絡情況下才會暴露,與其讓用戶發現和投訴這些問題,不如我們在測試階段盡量模擬這樣的網絡情況,及早發現和修復這些問題。
  第五:穩定性測試
  在保證基本功能正確基礎之上,App的穩定性就顯得非常重要,如果一個App經常出現閃退或者卡死,那么用戶體驗就會受到很大傷害,在有其他競爭產品的情況下很容易造成用戶的流失。
  第六:安全測試
  包括安裝包的安全測試(能否反編譯代碼、安裝包是否簽名等)、敏感信息測試、軟鍵盤劫持、賬戶安全、數據通信安全等。服務器端的SQL注入測試、XSS跨站腳本攻擊等。
  第七:環境相關的測試
  在實際項目中,有一些缺陷我發現是和App所處的運行環境相關的,所以設計測試的時候,要多考慮這些場景,比如:
  1)干擾測試
  收到電話、收到短信、收到通知欄消息、無電提示框彈出、第三方安全軟件告警彈出。
  2)權限測試
  一些用戶在實際使用App的時候回有意識阻止某些功能。例如有的用戶感覺讓某個App訪問電話本或者相冊可能泄漏隱私,就在手機中設置了禁止了該App訪問相冊的權限。
  3)邊界測試
  手機環境本身也有其邊界情況需要在測試中覆蓋。常見的場景有:
  可用存儲空間過少、沒有SD卡/雙SD卡、飛行模式、系統時間有誤(晚於和早於標准時間)、第三方依賴(比如我們的App依賴第三方App,但是現在第三方App沒有安裝或者版本過低的測試情況)。

Web測試和App測試有什么區別?

WEB測試和App測試從流程上來說,沒有區別。都需要經歷測試計划方案,用例設計,測試執行,缺陷管理,測試報告等相關活動。從技術上來說,WEB測試和APP測試其測試類型也基本相似,都需要進行功能測試性能測試、安全性測試、GUI測試等測試類型。
  他們的主要區別在於具體測試的細節和方法有區別,比如:性能測試,在WEB測試只需要測試響應時間這個要素,在App測試中還需要考慮流量測試和耗電量測試。
  兼容性測試:在WEB端是兼容瀏覽器,在App端兼容的是手機設備。而且相對應的兼容性測試工具也不相同,WEB因為是測試兼容瀏覽器,所以需要使用不同的瀏覽器進行兼容性測試(常見的是兼容IE6,IE8,chrome,firefox)如果是手機端,那么就需要兼容不同品牌,不同分辨率,不同android版本甚至不同操作系統的兼容。(常見的兼容方式是兼容市場占用率前N位的手機即可),有時候也可以使用到兼容性測試工具,但WEB兼容性工具多用IETester等工具,而App兼容性測試會使用Testin這樣的商業工具也可以做測試。
  安裝測試:WEB測試基本上沒有客戶端層面的安裝測試,但是App測試是存在客戶端層面的安裝測試,那么就具備相關的測試點。
  還有,App測試基於手機設備,還有一些手機設備的專項測試。如交叉事件測試,操作類型測試,網絡測試(弱網測試,網絡切換)
  交叉事件測試:就是在操作某個軟件的時候,來電話、來短信,電量不足提示等外部事件。
  操作類型測試:如橫屏測試,手勢測試
  網絡測試:包含弱網和網絡切換測試。需要測試弱網所造成的用戶體驗,重點要考慮回退和刷新是否會造成二次提交。弱網絡的模擬,據說可以用360wifi實現設置。
  從系統架構的層面,WEB測試只要更新了服務器端,客戶端就會同步會更新。而且客戶端是可以保證每一個用戶的客戶端完全一致的。但是APP端是不能夠保證完全一致的,除非用戶更新客戶端。如果是APP下修改了服務器端,意味着客戶端用戶所使用的核心版本都需要進行回歸測試一遍。
  還有升級測試:升級測試的提醒機制,升級取消是否會影響原有功能的使用,升級后用戶數據是否被清除了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM