App知識點(持續更新......)

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對於不穩定偶然出現ANRCrash時候你是怎麼處理的?

抓個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

相關文章
相關標籤/搜索