17道APP測(cè)試面試題分享帶參考答案

1裙犹、Android四大組件

Android四大基本組件:Activity、BroadcastReceiver廣播接收器、ContentProvider內(nèi)容提供者鸟蟹、Service服務(wù)。

Activity:

應(yīng)用程序中使兔,一個(gè)Activity就相當(dāng)于手機(jī)屏幕建钥,它是一種可以包含用戶界面的組件,主要用于和用戶進(jìn)行交互虐沥。一個(gè)應(yīng)用程序可以包含許多活動(dòng)熊经,比如事件的點(diǎn)擊,一般都會(huì)觸發(fā)一個(gè)新的Activity置蜀。

BroadcastReceiver廣播接收器:

應(yīng)用可以使用它對(duì)外部事件進(jìn)行過(guò)濾只對(duì)感興趣的外部事件(如當(dāng)電話呼入時(shí)奈搜,或者數(shù)據(jù)網(wǎng)絡(luò)可用時(shí))進(jìn)行接收并做出響應(yīng)。廣播接收器沒(méi)有用戶界面盯荤。然而馋吗,它們可以啟動(dòng)一個(gè)activity或serice 來(lái)響應(yīng)它們收到的信息,或者用NotificationManager來(lái)通知用戶秋秤。通知可以用很多種方式來(lái)吸引用戶的注意力──閃動(dòng)背燈宏粤、震動(dòng)、播放聲音等灼卢。一般來(lái)說(shuō)是在狀態(tài)欄上放一個(gè)持久的圖標(biāo)绍哎,用戶可以打開(kāi)它并獲取消息。

ContentProvider內(nèi)容提供者:

內(nèi)容提供者主要用于在不同應(yīng)用程序之間實(shí)現(xiàn)數(shù)據(jù)共享的功能鞋真,它提供了一套完整的機(jī)制崇堰,允許一個(gè)程序訪問(wèn)另一個(gè)程序中的數(shù)據(jù),同時(shí)還能保證被訪問(wèn)數(shù)據(jù)的安全性。只有需要在多個(gè)應(yīng)用程序間共享數(shù)據(jù)時(shí)才需要內(nèi)容提供者海诲。例如:通訊錄數(shù)據(jù)被多個(gè)應(yīng)用程序使用繁莹,且必須存儲(chǔ)在一個(gè)內(nèi)容提供者中。它的好處:統(tǒng)一數(shù)據(jù)訪問(wèn)方式特幔。

Service服務(wù):

是Android中實(shí)現(xiàn)程序后臺(tái)運(yùn)行的解決方案咨演,它非常適合去執(zhí)行那些不需要和用戶交互而且還要長(zhǎng)期運(yùn)行的任務(wù)(一邊打電話,后臺(tái)掛著QQ)蚯斯。服務(wù)的運(yùn)行不依賴于任何用戶界面薄风,即使程序被切換到后臺(tái),或者用戶打開(kāi)了另一個(gè)應(yīng)用程序拍嵌,服務(wù)仍然能夠保持正常運(yùn)行遭赂,不過(guò)服務(wù)并不是運(yùn)行在一個(gè)獨(dú)立的進(jìn)程當(dāng)中,而是依賴于創(chuàng)建服務(wù)時(shí)所在的應(yīng)用程序進(jìn)程撰茎。當(dāng)某個(gè)應(yīng)用程序進(jìn)程被殺掉后嵌牺,所有依賴于該進(jìn)程的服務(wù)也會(huì)停止運(yùn)行(正在聽(tīng)音樂(lè),然后把音樂(lè)程序退出)龄糊。

2逆粹、代碼能力

1、請(qǐng)用自己最擅長(zhǎng)的編程語(yǔ)言炫惩,將一個(gè)字符串反轉(zhuǎn)并輸出僻弹?

參考答案:

(1)python實(shí)現(xiàn):

方法1、使用[::-1]:

s = 'python'print s[::-1]

方法2他嚷、使用reverse()方法:

l = list(s)l.reverse()print ''.join(l)

(2)java實(shí)現(xiàn):

方法1蹋绽、使用StringBuffer,一點(diǎn)技巧也沒(méi)有:

public String reverse(String s){return new StringBuffer(s).reverse().toString();}

方法2筋蓖、靈活運(yùn)用了字符串功能:

public String reverse(String s){char[] letters=s.toCharArray();char temp;int len=letters.length;for(int i=len/2-1;i>=0;i--){temp=letters[i];letters[i]=letters[len-1-i];letters[len-1-i]=temp;}return new String(letters);}

2卸耘、針對(duì)數(shù)十個(gè)安卓應(yīng)用市場(chǎng)渠道包,請(qǐng)問(wèn)如何進(jìn)行大體的功能驗(yàn)證粘咖,簡(jiǎn)單敘述一下思路蚣抗?

參考答案:可以自動(dòng)化遍歷某個(gè)目錄下面的所有渠道包apk,然后循環(huán):安裝——》登錄——》**操作——》退出——卸載

3瓮下、測(cè)試思路

1翰铡、給你一個(gè)模塊,比如注冊(cè)模塊讽坏,你會(huì)怎么樣設(shè)計(jì)與執(zhí)行測(cè)試锭魔?

參考答案:數(shù)據(jù)——》從哪里來(lái)(入口)——》到哪里去(出口)——》數(shù)據(jù)庫(kù)(檢驗(yàn)數(shù)據(jù)的正確性)

2路呜、你認(rèn)為app測(cè)試過(guò)程中迷捧,相對(duì)于web,要更多注意哪些測(cè)試點(diǎn)漠秋?或者說(shuō)app測(cè)試和web測(cè)試有哪些不同之處?

參考答案:

他們的主要區(qū)別在于具體測(cè)試的細(xì)節(jié)和方法有區(qū)別膛堤,比如:性能測(cè)試,在WEB測(cè)試只需要測(cè)試響應(yīng)時(shí)間這個(gè)要素晌该,在App測(cè)試中還需要考慮流量測(cè)試和耗電量測(cè)試。

安裝測(cè)試:WEB測(cè)試基本上沒(méi)有客戶端層面的安裝測(cè)試朝群,但是App測(cè)試是存在客戶端層面的安裝測(cè)試,那么就具備相關(guān)的測(cè)試點(diǎn)姜胖。

交叉事件測(cè)試:就是在操作某個(gè)軟件的時(shí)候誉帅,來(lái)電話、來(lái)短信右莱,電量不足提示等外部事件蚜锨。

操作類型測(cè)試:如橫屏測(cè)試慢蜓,手勢(shì)測(cè)試

網(wǎng)絡(luò)測(cè)試:包含弱網(wǎng)和網(wǎng)絡(luò)切換測(cè)試。需要測(cè)試弱網(wǎng)所造成的用戶體驗(yàn)晨抡,重點(diǎn)要考慮回退和刷新是否會(huì)造成二次提交。弱網(wǎng)絡(luò)的模擬如捅,據(jù)說(shuō)可以用360wifi實(shí)現(xiàn)設(shè)置。主要是針對(duì)2G镜遣、3G、4G烈涮、wifi三種網(wǎng)絡(luò)環(huán)境進(jìn)行測(cè)試 ;

兼容性測(cè)試:在WEB端是兼容瀏覽器坚洽,在App端兼容的是手機(jī)設(shè)備西土。而且相對(duì)應(yīng)的兼容性測(cè)試工具也不相同讶舰,WEB因?yàn)槭菧y(cè)試兼容瀏覽器,所以需要使用不同的瀏覽器進(jìn)行兼容性測(cè)試(常見(jiàn)的是兼容IE6般甲,IE8敷存,chrome锚烦,firefox)如果是手機(jī)端帝雇,那么就需要兼容不同品牌涮俄,不同分辨率尸闸,不同android版本甚至不同操作系統(tǒng)的兼容苞尝。(常見(jiàn)的兼容方式是兼容市場(chǎng)占用率前N位的手機(jī)即可)茧痕,有時(shí)候也可以使用到兼容性測(cè)試工具野来,但WEB兼容性工具多用IETester等工具,而App兼容性測(cè)試會(huì)使用Testin這樣的商業(yè)工具也可以做測(cè)試踪旷。

4、測(cè)試技術(shù)

1舀患、說(shuō)說(shuō)會(huì)用哪些抓包工具气破?怎么用的?

參考答案:比如fiddler低匙,主要用來(lái)做app抓包使用碳锈,先在fiddler客戶端做好各項(xiàng)配置,端口設(shè)置為8888强重,然后在手機(jī)上設(shè)置代理,就可以抓包了,主要看的是服務(wù)器返回的值倘要、還能夠修改傳入?yún)?shù)召嘶、傳出的參數(shù)、模擬網(wǎng)絡(luò)延時(shí)尝苇,去構(gòu)造不同場(chǎng)景糠溜。

2非竿、0app的日志如何抓取?

adb logcat | find "com.sankuai.meituan" >d:\hello.txt

也可以用ddms抓取红柱,手機(jī)連上電腦,打開(kāi)ddms工具嘉抒,或者在Android Studio開(kāi)發(fā)工具中些侍,打開(kāi)DDMS

3蚂会、你平常會(huì)看日志嗎, 一般會(huì)出現(xiàn)哪些異常(Exception)?

這個(gè)主要是面試官考察你會(huì)不會(huì)看日志颂龙,是不是看得懂java里面拋出的異常措嵌,Exception.一般面試中java Exception(runtimeException )是必會(huì)被問(wèn)到的問(wèn)題

app崩潰的常見(jiàn)原因應(yīng)該也是這些了企巢。常見(jiàn)的異常列出四五種或听,是基本要求誉裆。

常見(jiàn)的幾種如下:

NullPointerException - 空指針引用異常

ClassCastException - 類型強(qiáng)制轉(zhuǎn)換異常足丢。

IllegalArgumentException - 傳遞非法參數(shù)異常斩跌。

ArithmeticException - 算術(shù)運(yùn)算異常

ArrayStoreException - 向數(shù)組中存放與聲明類型不兼容對(duì)象異常

IndexOutOfBoundsException - 下標(biāo)越界異常

NegativeArraySizeException - 創(chuàng)建一個(gè)大小為負(fù)數(shù)的數(shù)組錯(cuò)誤異常

NumberFormatException - 數(shù)字格式異常

SecurityException - 安全異常

UnsupportedOperationException - 不支持的操作異常

4、什么是alpha測(cè)試和beta測(cè)試袖订?

alpha測(cè)試:在公司場(chǎng)地著角,由員工主導(dǎo)的測(cè)試行為吏口;beta測(cè)試:在客戶場(chǎng)地产徊,由客戶主導(dǎo)進(jìn)行的測(cè)試。

5谆刨、請(qǐng)寫(xiě)出一個(gè)SQL來(lái)查詢分?jǐn)?shù)前五5的所有人刁岸?

mysql:select * from 分?jǐn)?shù)表 order by 分?jǐn)?shù) desc limit 5;oracle:select top 5 * from 分?jǐn)?shù)表 order by 分?jǐn)?shù) desc;

6虹曙、linux常用命令有哪些番舆?

cd命令:切換到某個(gè)目錄

ls命令:列出當(dāng)前目錄的所有文件疏哗、文件夾

pwd命令:列出當(dāng)前目錄的路徑

cp命令:復(fù)制

mv命令:剪切

grep命令:管道

find命令:查找

rm命令:刪除

ps命令:查看進(jìn)程

kill命令:殺掉某個(gè)進(jìn)程

cat命令:查看某文件

tar命令:打包

chmod命令:賦權(quán)限

chown命令:改變文件的所有者

vim命令:文本編輯

7沃斤、請(qǐng)說(shuō)明Android手機(jī)和IOS手機(jī),系統(tǒng)有什么區(qū)別?

兩者運(yùn)行機(jī)制不同:IOS采用的是沙盒運(yùn)行機(jī)制坦袍,安卓采用的是虛擬機(jī)運(yùn)行機(jī)制捂齐。

兩者后臺(tái)制度不同:IOS中任何第三方程序都不能在后臺(tái)運(yùn)行奠宜;安卓中任何程序都能在后臺(tái)運(yùn)行压真,直到?jīng)]有內(nèi)存才會(huì)關(guān)閉。

IOS中用于UI指令權(quán)限最高佃迄,安卓中數(shù)據(jù)處理指令權(quán)限最高床绪。

8作箍、請(qǐng)簡(jiǎn)要介紹一下安卓系統(tǒng)四層架構(gòu)逆趋?

從上到下萄涯,依次是:應(yīng)用程序?qū)印窇?yīng)用程序框架層——》系統(tǒng)運(yùn)行庫(kù)層——》Linux核心層

9涝影、簡(jiǎn)單介紹一下Android SDK中自帶的幾個(gè)工具/命令的功能燃逻?

參考答案:

ddms:Dalvik Debug Monitor Service,是 Android 開(kāi)發(fā)環(huán)境中的Dalvik[虛擬機(jī)]調(diào)試監(jiān)控服務(wù)姆怪。

monkey:Android中的一個(gè)命令行工具,可以運(yùn)行在模擬器里或?qū)嶋H設(shè)備中肥卡。它向系統(tǒng)發(fā)送偽隨機(jī)的用戶事件流(如按鍵輸入揪胃、觸摸屏輸入只嚣、手勢(shì)輸入等)册舞,實(shí)現(xiàn)對(duì)正在開(kāi)發(fā)的應(yīng)用程序進(jìn)行壓力測(cè)試调鲸。

uiautomator:UIAutomator是Eclipse自帶的用于UI自動(dòng)化測(cè)試工具即供,可仿真APP上的單擊逗嫡、滑動(dòng)株依、輸入文本等操作抹锄。

monitor:同uiautomator

adb:ADB的全稱為Android Debug Bridge伙单,就是起到調(diào)試橋的作用吻育。通過(guò)ADB我們可以在Eclipse中方面通過(guò)DDMS來(lái)調(diào)試Android程序,就是debug工具。

10总寻、常用的adb命令有哪些渐行?請(qǐng)隨便寫(xiě)一個(gè)monkey腳本祟印,并解釋其中參數(shù)的含義?

參考答案:

adb devices悲幅、adb install卓鹿、adb uninstall吟孙、adb shell pm 杰妓、adb shell am

adb shell monkey -p com.xiaoniu.finance -s 123 --throttle 500 --ignore-crashes --ignore-timeouts --ignore-security-exceptions -v -v -v 2000 > d:\xnonline-monkey-test1.txt

-p:app包名栋艳、

--throttle:每個(gè)操作的間隔時(shí)間吸占,單位ms

--ignore-crashes:忽略崩潰

--ignore-timeouts:忽略超時(shí)

--ignore-security-exceptions:忽略安全異常

-v -v -v:日志詳細(xì)等級(jí)矾屯,3個(gè)v代表最詳細(xì)等級(jí)的日志

d:\xnonline-monkey-test1.txt:代表將產(chǎn)生的日志,放到本地PC的D盤排作,并命名為:xnonline-monkey-test1.txt

11妄痪、測(cè)試過(guò)程中遇到app出現(xiàn)crash或者ANR衫生,你會(huì)怎么處理?

參考答案:可以先把日志過(guò)濾出來(lái):adb logcat | findstr xxxxx(過(guò)濾日志信息)?黄伊,然后再搜索其中的關(guān)鍵字西篓,比如:exception岂津、crash吮成,看看是那些方法或者異常導(dǎo)致了問(wèn)題的發(fā)送粱甫,初步定位問(wèn)題原因后危纫,可以交給開(kāi)發(fā)人員去具體查找深層原因并修復(fù)种蝶。

12螃征、請(qǐng)簡(jiǎn)單介紹一下使用過(guò)的安卓UI自動(dòng)化測(cè)試工具盯滚?

參考答案:

appium:是一個(gè)移動(dòng)端的自動(dòng)化框架魄藕,可用于測(cè)試原生應(yīng)用,移動(dòng)網(wǎng)頁(yè)應(yīng)用和混合型應(yīng)用荷荤,且是跨平臺(tái)的。

robotium:是一款國(guó)外的Android自動(dòng)化測(cè)試框架古毛,主要針對(duì)Android平臺(tái)的應(yīng)用進(jìn)行黑盒自動(dòng)化測(cè)試稻薇,它提供了模擬各種手勢(shì)操作(點(diǎn)擊塞椎、長(zhǎng)按案狠、滑動(dòng)等)吹零、查找和斷言機(jī)制的API灿椅,能夠?qū)Ω鞣N控件進(jìn)行操作。

13伸辟、你覺(jué)得app的性能測(cè)試窃蹋,即專項(xiàng)測(cè)試警没,需要重點(diǎn)關(guān)注些方面杀迹?

參考答案:內(nèi)存、cpu占用续语、耗電量滥朱、流量力试、流暢度等

還在苦惱IT學(xué)習(xí)嗎,想要2020IT各大學(xué)科學(xué)習(xí)線路圖(視頻+工具+面試題+書(shū)籍)和各學(xué)科免費(fèi)課程資源或者免費(fèi)公開(kāi)課資源請(qǐng)? bwf201901
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末民鼓,一起剝皮案震驚了整個(gè)濱河市丰嘉,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌路幸,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,122評(píng)論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砰识,死亡現(xiàn)場(chǎng)離奇詭異辫狼,居然都是意外死亡膨处,警方通過(guò)查閱死者的電腦和手機(jī)真椿,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,070評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人舟肉,你說(shuō)我怎么就攤上這事黄琼≡嗫睿” “怎么了撤师?”我有些...
    開(kāi)封第一講書(shū)人閱讀 164,491評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我积蔚,道長(zhǎng)尽爆,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,636評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮闰靴,結(jié)果婚禮上配猫,老公的妹妹穿的比我還像新娘泵肄。我一直安慰自己腐巢,他們只是感情好肉瓦,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,676評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著,像睡著了一般利虫。 火紅的嫁衣襯著肌膚如雪列吼。 梳的紋絲不亂的頭發(fā)上慌申,一...
    開(kāi)封第一講書(shū)人閱讀 51,541評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音您炉,去河邊找鬼棉胀。 笑死唁奢,一個(gè)胖子當(dāng)著我的面吹牛麻掸,可吹牛的內(nèi)容都是我干的熬北。 我是一名探鬼主播讶隐,決...
    沈念sama閱讀 40,292評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼待错,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼火俄!你這毒婦竟也來(lái)了适瓦?” 一聲冷哼從身側(cè)響起玻熙,我...
    開(kāi)封第一講書(shū)人閱讀 39,211評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎枚尼,沒(méi)想到半個(gè)月后署恍,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,655評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,846評(píng)論 3 336
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了配名。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片渠脉。...
    茶點(diǎn)故事閱讀 39,965評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡鳞青,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出习寸,到底是詐尸還是另有隱情霞溪,我是刑警寧澤鸯匹,帶...
    沈念sama閱讀 35,684評(píng)論 5 347
  • 正文 年R本政府宣布幼东,位于F島的核電站根蟹,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏尿赚。R本人自食惡果不足惜凌净,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,295評(píng)論 3 329
  • 文/蒙蒙 一须教、第九天 我趴在偏房一處隱蔽的房頂上張望乐疆。 院中可真熱鬧挤土,春花似錦仰美、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,894評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至鹰晨,卻和暖如春模蜡,著一層夾襖步出監(jiān)牢的瞬間忍疾,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,012評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工则披, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留士复,地道東北人蜓萄。 一個(gè)月前我還...
    沈念sama閱讀 48,126評(píng)論 3 370
  • 正文 我出身青樓嫉沽,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親魂毁。 傳聞我的和親對(duì)象是個(gè)殘疾皇子咬崔,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,914評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 最近公司可能要招聘測(cè)試了只祠,老大讓我出幾個(gè)面試題,網(wǎng)上搜到了一些,還有自己想了幾個(gè)晶府,如下: 一钻趋、開(kāi)場(chǎng)問(wèn)題:(自由發(fā)揮...
    kaige201314閱讀 40,037評(píng)論 11 189
  • 1. 給你一個(gè)模塊,比如注冊(cè)模塊,你會(huì)怎么樣設(shè)計(jì)與執(zhí)行測(cè)試? 我會(huì)從四個(gè)方面來(lái)設(shè)計(jì)與執(zhí)行測(cè)試 1.數(shù)據(jù)>從哪里來(lái)(...
    arvin_one閱讀 1,772評(píng)論 2 11
  • Monkey是Android SDK自帶的測(cè)試工具爷绘,在實(shí)際應(yīng)用中經(jīng)常有公司用來(lái)做一些APP的穩(wěn)定性測(cè)試书劝,由于測(cè)試事...
    CC先生之簡(jiǎn)書(shū)閱讀 8,414評(píng)論 0 21
  • Android Monkey 壓力測(cè)試 介紹 什么是Monkey Monkey測(cè)試购对,就像一只猴子,在電腦面前骡苞,亂敲...
    木七七姑娘閱讀 2,472評(píng)論 1 7
  • 15年癡狂 16年清醒 17年理智 18年保持 祝他高考復(fù)習(xí)順利,考試順利解幽,金榜題名。
    易青田閱讀 103評(píng)論 0 1