App兼容性測試/MONKEY配置和安裝

APP測試的兼容性測試

在這裏插入圖片描述

上線後進行兼容性測試的話,這種情況只適用於安卓 因爲這個情況是不允許的,ios是不行的。。

上線前可以問市場經理 或者查找百度流量和百度指數
在這裏插入圖片描述

MTC testblrd 都有云測試平臺
雲平臺不會把測試人員代替的,比如 雲平臺他也是軟件,他不可以自己測自己呀,他也得找人測試,就這一點就不能說雲平臺會把測試人員代替。雲平臺只是能代替一部分自動化測試內容

易用性測試:

在這裏插入圖片描述

UI測試:
在這裏插入圖片描述

場景交互測試:
比如在玩一個app的時候可能會突然退出或者是切換到其他app上,或者說正在使用某種app,突然有電話短信或者視頻通話,用戶在使用app的時候會有很多種場景,所以要考慮app在這些不同的場景下能不能夠正常的使用。
在這裏插入圖片描述
資源爭用:
手機的資源是有限的,比如說抖音在使用的時候會有聲音,那麼會和麥克風喇叭有衝突,比如先開了播放音樂 再打開抖音,這個時候一般是後面會把前面的app壓下去。

在這裏插入圖片描述
消息推送:
1.在不同的手機上消息推送展示是不一樣的,所以也很容易出問題。
在這裏插入圖片描述
2.我們需要檢查消息推送過來是否能夠正常的展示,並且在app退出後能不能收到消息推送。(系統有一個消息推送的模塊,app可以通過這個模塊來控制退出後是否能收到消息推送)
3.斷網以後再次聯網還能收到消息嗎
4.同時推送兩條消息,是前一條先顯示還是後一條先顯示
在這裏插入圖片描述
App的安裝/卸載/更新:
1.是否安裝成功
2.卸載app後殘留的數據處理(當用戶卸載時選擇保留用戶數據,下一次安裝的時候是否能正確讀取數據,如果不保留數據,是否能刪的乾乾淨淨)
3.只考慮手機自帶的更新,應用市場的更新就不管了,因爲app可能有的還沒有上架到市場中去,要考慮強制更新和正常更新。
強制更新:
假如這個軟件已經更新很多次了,而用戶還沒有更新,這個老版本如果已經不能用了,那麼軟件可能就會選擇偷偷更新(行爲流氓,但是是爲了保留住用戶)
熱更新:
熱更新就是動態下發代碼,它可以使開發者在不發佈新版本的情況下,修復 BUG 和發佈功能,讓開發者得以繞開蘋果的審覈機制,避免長時間的審覈等待以及多次被拒造成的成本。簡單來說,就是當遊戲某個功能出現bug,或者修改了某個功能,後者增加了某個功能的適合,我們不需要重新下載安裝安裝包,就可以更新遊戲內容。
熱更新的好處:不用浪費流量重新下載,不用通過商店審覈更加快速,不用重新安裝玩家可以更快體驗到更新的內容。
蘋果會審覈app上架, 2017年6月,AppStore審覈團隊針對AppStore中“熱更新”的App開發者發送郵件,要求移除所有相關的代碼、框架或SDK,並重新提交審覈,否則就會在AppStore中下架該軟件。(但也有偷偷做熱更新的)
蘋果反對的原因: 由於軟件熱更新繞過了蘋果的審覈,黑客開發者有可能會通過提交正常的版本之後,通過熱更新的方式修改APP導致安全隱患,這違反了蘋果的安全隱私政策。另外蘋果此舉既能改善部分使用混編語言的App的流暢性,也能重新掌握一些渠道的App審覈權限。
在這裏插入圖片描述

資源的消耗:
1.app對於電量的消耗是不一樣的,app對於每小時消耗的電量是有指標的,需要在可接受的範圍內。(設置–電池–看到軟件的耗電排行,但是要統計多一點數據,做一個平均值)
2.應用大小不能太大,安裝的時間和打開app的時間也不能太長,操作的響應時間需要注意。
258原則 : 2s以內是最好的,5s用戶能感受到打開的過程,8s的話用戶就會有意見了。
3.可以通過adb,配套monkey runner或者monkey去檢測資源的消耗

在這裏插入圖片描述

權限:
當你提出的需要的權限用戶不允許的話,app會怎麼處理?
比如app需要相機權限,但是用戶不允許,app會強制打開還是強制退出?
需要注意的是,不給某一個權限的時候,app是否能正常使用其他的權限?

弱網測試:
使用app可能會在不同的網絡下使用,在不同網絡下是否都能正常使用。
方法
1.可以用軟件來模擬網絡(3G可能會取消,但是2G不會取消,因爲它是通信的基礎),還可以在路由器上做網速的限制。
monkey可以實現無規律的操作,直到測到規定時間。
在這裏插入圖片描述在這裏插入圖片描述

H5 = 手機上的網站

版本迭代:
在這裏插入圖片描述

增量測試:只測試已知的有變化的功能。(當功能已經非常多全部測試已經不成了的時候,可能會推出自動化測試,這個時候我們就只測試已知的有變化的功能)
全量測試:軟件都是從小做到大,每發一個新功能,要把所有的功能都測一遍。

Web測試和App測試有什麼區別

1、系統架構方面:
web項目,一般都是b/s架構,基於瀏覽器的。app項目,則是c/s的,必須要有客戶端,用戶需要安裝客戶端。
web測試只要更新了服務器端,客戶端就會同步會更新。App項目則需要客戶端和服務器都更新。
2、性能方面:
web頁面主要會關注響應時間,而app則還需要關心流量、電量、CPU、GPU、Memory這些。它們服務端的性能沒區別,都是一臺服務器。
3、兼容方面:
web是基於瀏覽器的,所以更傾向於瀏覽器和電腦硬件,電腦系統的方向的兼容。app測試則要看分辨率,屏幕尺寸,還要看設備系統。web測試是基於瀏覽器的所以不必考慮安裝卸載。
app是客戶端的,則必須測試安裝、更新、卸載。除了常規的安裝、更新、卸載還要考慮到異常場景。包括安裝時的中斷、弱網、安裝後刪除安裝文件。此外APP還有一些專項測試:如網絡、適配性等。
相對於 Web 項目,APP有專項測試,對於app的測試會更麻煩一點
  1. 干擾測試:中斷,來電,短信,關機,重啓等
  2. 弱網絡測試(模擬2g、3g、4g,wifi網絡狀態以及丟包情況);網絡切換測試(網絡斷開後重連、3g切換到4g/wifi 等)
  3. 安裝、更新、卸載
  安裝:需考慮安裝時的中斷、弱網、安裝後刪除安裝文件等情況
  卸載:需考慮 卸載後是否刪除app相關的文件
  更新:分強制更新、非強制更新、增量包更新、斷點續傳、弱網狀態下更新
  4. 界面操作:關於手機端測試,需注意手勢,橫豎屏切換,多點觸控,前後臺切換
  5. 安全測試:安裝包是否可反編譯代碼、安裝包是否簽名、權限設置,例如訪問通訊錄等
  6. 邊界測試:可用存儲空間少、沒有SD卡/雙SD卡、飛行模式、系統時間有誤、第三方依賴(QQ、微信登錄)等

性能和穩定性工具—MONKEY

是安卓sdk自帶的小的壓力測試工具,可以模擬出一些隨機事件,可以對真機或者虛擬機產生相應的隨機性操作,這種壓力工具一定不是針對後端性能,而是針對單一手機性能而做的一些工具
目標是爲了保證手機運行app的穩定性,不會因爲這個app的使用當機等

◆Monkey是android sdk中自帶的工具
◆運行在模擬設備中,並生成用戶事件的僞隨機流,例如點擊,觸摸,或手勢,以及若干系統級事件。
◆Monkey測試,所有的事件都是隨機產生的,不帶任何人的主觀性。可使用Monkey進行壓力測試

那麼目前說的都是對於單機進行測試,那如果想測試服務器,比如說支付寶。
就需要接口測試,是後端的,需要用loadrunner測試,
所以手機app的測試需要分爲前端和後端測試,前端用monkey,後端用LR

環境配置和安裝

◆JDK安裝配置
◆Android SDK安裝配置
◆電腦adb連接手機或虛擬設備
adb是安卓的一個工具,打開手機的開發者模式,調成允許調試
adb連接夜神模擬器,保證夜神模擬器和本身的安卓sdk的adb版本是一致的

1.用夜神模擬器下載好手機淘寶,使用過monkey來進行壓力測試:
在這裏插入圖片描述
2.查看是否裝好安卓的sdk
在這裏插入圖片描述
3.將adb鏈接到夜神模擬器上:
在這裏插入圖片描述
4.要知道用adb發包,用monkey進行壓測的時候,需要知道夜神模擬器相應我要進行壓測的軟件的包名,所以要查一下淘寶在夜神模擬器中的包名,可以查看一下所有的包名,找taobao即可:
在這裏插入圖片描述
如果不確定的話可以加上-f,可以告訴你是哪一個apk:
在這裏插入圖片描述
在這裏插入圖片描述
依託adb應用到monkey的工具 -p 包的名字 日誌等級(三個v說明是最詳盡的日誌) 隨機事件流(1000說明是產生1000個隨機事件) > report.txt(將我們的命令打到這個文件中去)
在這裏插入圖片描述

點擊回車以後,夜神模擬器會自己隨機模擬一千次事件,包括滑動,點擊,等等

在這裏插入圖片描述
完成後打開report文件,查看日誌:

在這裏插入圖片描述
monkey有一個參數可以把seed號傳入,這樣下次執行的時候它的隨機事件流和這一個的事件流是完全一致的,這就幫助我們去進行各種操作,比如穩定性,這次沒通過要回歸的話,用上次沒通過的事件流是不是更好呢。
在這裏插入圖片描述
用真機的話可以用usb鏈接真機,進行操作

雲測試平臺

衆測平臺,畢竟不是每個公司都能把所有手機機型都採購一遍

在這裏插入圖片描述在這裏插入圖片描述
有大大的雲端 就像客戶一樣做一些操作

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