1.app的性能測試,即專項測試,須要重點關注那些方面?android
內存、cpu佔用、耗電量、流量、流暢度等web
2.什麼是activity?它的生命週期?數組
Activity是一個Android的應用組件,它提供屏幕進行交互,一個應用一般是由多個彼此鬆散聯繫的Activity組成,通常會指定應用中的某個Activity爲主活動,也就是說首次啓動應用時給用戶呈現的Activity。瀏覽器
生命週期:運行-暫停-中止-系統回收安全
3.Android的四大組件之一?網絡
Activity,Broadcast Receiver廣播接收器,Content Provider內容提供者,service服務併發
4.App測試和web測試有什麼不一樣?app
從流程上來講,沒有區別,都須要經歷測試計劃方案,用例設計,測試執行,缺陷管理,測試報告等相關活動。ide
從技術上來講,WEB測試和APP測試其測試類型也基本類似,都須要進行功能測試、性能測試、安全性測試、UI測試等工具
主要區別在於具體測試的細節和方法有區別,好比:
性能測試,在WEB測試只須要測試響應時間這個要素,在App測試中還須要考慮流量測試和耗電量測試。
兼容性測試:在WEB端是兼容瀏覽器,在App端兼容的是手機設備。並且相對應的兼容性測試工具也不相同,WEB由於是測試兼容瀏覽器,因此須要使用不一樣的瀏覽器進行兼容性測試(常見的是兼容IE,Chrome,火狐,edge)
若是是手機端,那麼就須要兼容不一樣品牌,不一樣分辨率,不一樣android版本甚至不一樣操做系統的兼容。(常見的兼容方式是兼容市場佔用率前N位的手機便可)。
還有,App測試基於手機設備,還有一些手機設備的專項測試:
安裝測試:App的安裝,卸載,升級
中斷事件測試:就是在操做某個軟件的時候,來電話、來短信,電量不足提示等外部事件。
操做類型測試:如橫屏測試,手勢測試
網絡測試:包含弱網和網絡切換測試。須要測試弱網所形成的用戶體驗,重點要考慮回退和刷新是否會形成二次提交。
5.App出現crash的緣由有哪些?
1.內存管理錯誤:多是可用內存太低,app所需的內存超過設備的限制,app跑不起來致使App crash。或是內存泄露,程序運行的時間越長,所佔用的內存越大,最終用盡所有內存,致使整個系統崩潰。亦或非受權的內存位置的使用也可能會致使App crash。
2.程序邏輯錯誤:數組越界、堆棧溢出、併發操做、邏輯錯誤。
e.g. app新添加一個未經測試的新功能,調用了一個已釋放的指針,運行的時候就會crash。
3.設備兼容:因爲設備多樣性,app在不一樣的設備上可能會有不一樣的表現。
4.網絡因素:多是網速欠佳,沒法達到app所需的快速響應時間,致使app crash。或者是不一樣網絡的切換也可能會影響app的穩定性。
6.App對於不穩定偶然出現ANR和Crash時候你是怎麼處理的?
抓個log,當出現偶然的crash時候,能夠把手機拿到開發那裏,手機連上他的開發代碼的環境,就能查看到錯誤日誌,也能夠本身在命令行裏開着logcat,保存日誌到電腦本地,提升優先級別的bug,並附上這log
7.日誌中通常會出現哪幾種異常?
Null Pointer Exception - 空指針引用異常
Class Cast Exception - 類型強制轉換異常。
Illegal Argument Exception - 傳遞非法參數異常。
Arithmetic Exception - 算術運算異常
Array Store Exception - 向數組中存放與聲明類型不兼容對象異常
Index Out Of Bounds Exception - 下標越界異常
Negative Array Size Exception - 建立一個大小爲負數的數組錯誤異常
Number Format Exception - 數字格式異常
Security Exception - 安全異常
Unsupported Operation Exception - 不支持的操做異常
8.Android和iOS的區別?
1.底部按鍵不一樣,Android有三個鍵,分別爲home鍵,back鍵和呼出應用列表這三個,而iOS只有一個
2.Android分辨率較多有20來鍾,而iOS較少
3.Android的手機操做系統較多,iOS的較少而且只能單向升級
4.安裝:Android應用的安裝方式較多,而iOS通常就是App store,testflight,i4, itunes