最近公司可能要招聘測(cè)試了,老大讓我出幾個(gè)面試題,網(wǎng)上搜到了一些,還有自己想了幾個(gè),如下:
一、開(kāi)場(chǎng)問(wèn)題:(自由發(fā)揮)
1、請(qǐng)自我介紹一下;
2、為什么離開(kāi)上一個(gè)公司呢?
3、做測(cè)試多久了?以前做過(guò)哪些項(xiàng)目?你們以前測(cè)試的流程是怎樣的?用過(guò)哪些測(cè)試工具?
4、你覺(jué)得為什么要在一個(gè)團(tuán)隊(duì)中開(kāi)展軟件測(cè)試工作,測(cè)試的價(jià)值提現(xiàn)在哪里?
二、技術(shù)方面:
1、代碼能力:
1.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); }
1.2、針對(duì)數(shù)十個(gè)安卓應(yīng)用市場(chǎng)渠道包,請(qǐng)問(wèn)如何進(jìn)行大體的功能驗(yàn)證,簡(jiǎn)單敘述一下思路?
參考答案:可以自動(dòng)化遍歷某個(gè)目錄下面的所有渠道包apk,然后循環(huán):安裝——》登錄——》**操作——》退出——卸載
2、測(cè)試思路:
2.1、給你一個(gè)模塊,比如注冊(cè)模塊,你會(huì)怎么樣設(shè)計(jì)與執(zhí)行測(cè)試?
參考答案:數(shù)據(jù)——》從哪里來(lái)(入口)——》到哪里去(出口)——》數(shù)據(jù)庫(kù)(檢驗(yàn)數(shù)據(jù)的正確性)
2.2、請(qǐng)說(shuō)一下你以前公司功能測(cè)試通過(guò)的標(biāo)準(zhǔn)?(自由發(fā)揮)
2.3、你認(rèn)為app測(cè)試過(guò)程中,相對(duì)于web,要更多注意哪些測(cè)試點(diǎn)?或者說(shuō)app測(cè)試和web測(cè)試有哪些不同之處?
參考答案:
1、“點(diǎn)擊加載更多”的分頁(yè)處理技術(shù),是否有重復(fù)的數(shù)據(jù),數(shù)據(jù)顯示是否完整,到達(dá)最后一頁(yè)后是否還有數(shù)據(jù)進(jìn)行顯示;
2、數(shù)據(jù)的排序方式;
2、界面跳轉(zhuǎn)是否正確;
3、出現(xiàn)異常情況是否有提示,是否跳轉(zhuǎn)到已經(jīng)設(shè)定好的默認(rèn)頁(yè)面,如斷網(wǎng)情況下,顯示網(wǎng)絡(luò)未連接,數(shù)據(jù)加載失敗,或者如果此頁(yè)面沒(méi)有數(shù)據(jù)顯示,顯示友好提示信息;
4、圖片處理的地方,是否容易出現(xiàn)程序崩潰現(xiàn)象,主要是圖片壓縮機(jī)制;
5、前臺(tái)展示的數(shù)據(jù),后臺(tái)進(jìn)行變動(dòng)(增、刪、改),是否是實(shí)時(shí)更新還是app一開(kāi)始運(yùn)行再進(jìn)行加載;
6、前臺(tái)主動(dòng)發(fā)出請(qǐng)求,后臺(tái)數(shù)據(jù)庫(kù)中是否存在相應(yīng)的數(shù)據(jù)同時(shí)包括數(shù)據(jù)的關(guān)聯(lián)性(商家的會(huì)員進(jìn)行下訂單,數(shù)據(jù)庫(kù)中生成一條訂單的記錄的同時(shí),生成一條積分記錄,該會(huì)員的積分進(jìn)行相應(yīng)的變化);
7、手機(jī)app網(wǎng)絡(luò)環(huán)境測(cè)試重點(diǎn):主要是針對(duì)2G、3G、4G、wifi三種網(wǎng)絡(luò)環(huán)境進(jìn)行測(cè)試 ;
8、手機(jī)app兼容性測(cè)試:主要是針對(duì)android各個(gè)系統(tǒng)版本進(jìn)行測(cè)試,及測(cè)試屏幕分辨率進(jìn)行測(cè)試;
3、測(cè)試技術(shù):
3.1、說(shuō)說(shuō)會(huì)用哪些抓包工具?怎么用的?
參考答案:比如fiddler,主要用來(lái)做app抓包使用,先在fiddler客戶(hù)端做好各項(xiàng)配置,端口設(shè)置為8888,然后在手機(jī)上設(shè)置代理,就可以抓包了,主要看的是服務(wù)器返回的值、還能夠修改傳入?yún)?shù)、傳出的參數(shù)、模擬網(wǎng)絡(luò)延時(shí),去構(gòu)造不同場(chǎng)景。
3.2、什么是alpha測(cè)試和beta測(cè)試?
alpha測(cè)試:在公司場(chǎng)地,由員工主導(dǎo)的測(cè)試行為;beta測(cè)試:在客戶(hù)場(chǎng)地,由客戶(hù)主導(dǎo)進(jìn)行的測(cè)試。
3.3、請(qǐng)寫(xiě)出一個(gè)SQL來(lái)查詢(xún)分?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;
3.4、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命令:文本編輯
3.5、請(qǐng)說(shuō)明Android手機(jī)和IOS手機(jī),系統(tǒng)有什么區(qū)別?
1、兩者運(yùn)行機(jī)制不同:IOS采用的是沙盒運(yùn)行機(jī)制,安卓采用的是虛擬機(jī)運(yùn)行機(jī)制。
2、兩者后臺(tái)制度不同:IOS中任何第三方程序都不能在后臺(tái)運(yùn)行;安卓中任何程序都能在后臺(tái)運(yùn)行,直到?jīng)]有內(nèi)存才會(huì)關(guān)閉。
3、IOS中用于UI指令權(quán)限最高,安卓中數(shù)據(jù)處理指令權(quán)限最高。
3.6、請(qǐng)簡(jiǎn)要介紹一下安卓系統(tǒng)四層架構(gòu)?
從上到下,依次是:應(yīng)用程序?qū)印窇?yīng)用程序框架層——》系統(tǒng)運(yùn)行庫(kù)層——》Linux核心層
3.7、簡(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ī)的用戶(hù)事件流(如按鍵輸入、觸摸屏輸入、手勢(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的全稱(chēng)為Android Debug Bridge,就是起到調(diào)試橋的作用。通過(guò)ADB我們可以在Eclipse中方面通過(guò)DDMS來(lái)調(diào)試Android程序,就是debug工具。
3.8、常用的adb命令有哪些?請(qǐng)隨便寫(xiě)一個(gè)monkey腳本,并解釋其中參數(shù)的含義?
參考答案:
(1)、adb devices、adb install、adb uninstall、adb shell pm **、adb shell am **,
更多adb命令可參考:http://www.itdecent.cn/p/a010d34c8fb8
(2)、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盤(pán),并命名為:xnonline-monkey-test1.txt
3.9、測(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ù)。
3.10、請(qǐng)說(shuō)一下以往工作中都曾具體做過(guò)哪些工作?其中最擅長(zhǎng)哪部分工作(功能,自動(dòng)化(UI和接口),性能)?這部分你是怎么做的?(自由發(fā)揮)
3.11、請(qǐng)簡(jiǎn)單介紹一下實(shí)用過(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)行操作。
3.12、你覺(jué)得app的性能測(cè)試,即專(zhuān)項(xiàng)測(cè)試,需要重點(diǎn)關(guān)注那些方面?
參考答案:內(nèi)存、cpu占用、耗電量、流量、流暢度等
4、技術(shù)熱情:(考察個(gè)人潛力,自由發(fā)揮)
4.1、你為什么來(lái)選擇做測(cè)試?
4.2、你認(rèn)為理想的測(cè)試流程是什么樣子?
4.3、你認(rèn)為如何提高個(gè)人的軟件測(cè)試技術(shù)?
4.4、談?wù)勡浖y(cè)試職業(yè)發(fā)展,以及個(gè)人未來(lái)的打算?
三、技術(shù)之外:(考察軟實(shí)力,自由發(fā)揮)
1、溝通能力;
2、團(tuán)隊(duì)合作;
3、執(zhí)行力;
4、容易相處;