- 相關(guān)推薦
軟件測(cè)試工程師面試分享
到達(dá)面試地點(diǎn),面試官很友好的領(lǐng)我去了會(huì)議室,坐下自我介紹的同時(shí),也就開始了正式的面試,這場(chǎng)面試我很開心,不是因?yàn)闆]有面試算法,而是這位面試官不僅僅在于面試,更多的是聊簡(jiǎn)歷中寫出來的內(nèi)容,都是自己做過的,要說起來,自然順暢得多,而遇到不懂的內(nèi)容,他會(huì)很善意的給出引導(dǎo),我所要做的,無非就是順著他的引導(dǎo)拓展自己的思維,之后給出他想要我思考的內(nèi)容的答案,這種方式的面試,對(duì)我來說,其實(shí)相對(duì)還是比較游刃有余的,畢竟不管做什么,我最喜歡的就是有人稍微提點(diǎn)一下,以至于我不容易走偏。
面試過程中,首先問我工作中怎么開展某項(xiàng)測(cè)試,這里他問的是兼容性,會(huì)考慮到哪幾個(gè)方面,對(duì)于Web或者win32之間兼容性的考慮點(diǎn)的區(qū)別,對(duì)于兼容性測(cè)試與其他測(cè)試的區(qū)別,在做兼容性測(cè)試的時(shí)候,遇到最大的困難是什么?對(duì)于這個(gè)問題的回答他可能不是很滿意,我說,兼容性測(cè)試中遇到最大的困難是跨平臺(tái)遇到問題該如何找到問題所在,他說這個(gè)其實(shí)和其他的測(cè)試也一樣,當(dāng)你發(fā)現(xiàn)問題的時(shí)候,你必須排除是系統(tǒng)問題,是配置問題還是產(chǎn)品本身問題,所以他示意我再想想,我稍作沉思,告訴他,我之前在兼容性測(cè)試的過程中主要測(cè)試的是產(chǎn)品的補(bǔ)丁包,所以最大的困難是補(bǔ)丁包對(duì)向下兼容的問題,他似乎稍微滿意了一些,微微笑了笑。
緊接著,看到我在簡(jiǎn)歷中寫出了對(duì)項(xiàng)目管理有一定的理解,于是話題轉(zhuǎn)變到了項(xiàng)目管理上,先問了我自己如何對(duì)自己進(jìn)行管理的,諸如一堆的tasks在手上,你會(huì)怎么安排?然后問,如果你手上有一個(gè)P1的task,但是這個(gè)task需要等某人完成一定的操作后你才能進(jìn)行你的工作,不過,這個(gè)task在那個(gè)人手里是P3,這時(shí)候你該怎么辦?最后問如果你是test leader,你的team members的手上已經(jīng)有很多任務(wù)了,但是你又接到了更多的任務(wù),你該怎么做分配?其實(shí)無非是考慮如何有效完成所有的任務(wù),說實(shí)話,我不知道這些問題的答案是不是有哪本書會(huì)教大家怎么做,也不知道這些問題是不是有唯一的答案,我只是憑著自己對(duì)任務(wù)安排的理解在做資源的協(xié)調(diào)和分配。
緊接著,也不知道是不是還算管理的問題,反正與測(cè)試有關(guān),他先給我描述了一個(gè)三層結(jié)構(gòu)的系統(tǒng),讓我從test scope的角度去描述應(yīng)該怎么測(cè), 由于描述了三層的結(jié)構(gòu),我第一反應(yīng)可能和代碼邏輯有關(guān),結(jié)果他反問我,你覺得代碼方面的測(cè)試是開發(fā)做還是測(cè)試做,我不是十分明確,但還是給了他肯定的答案,開發(fā)做,于是他點(diǎn)了點(diǎn)頭,說,那你現(xiàn)在可以撇開誰做這樣的底層思維,繼續(xù)向上一層思考這個(gè)問題,這個(gè)時(shí)候我才知道他在問什么,其實(shí)他想聽到的答案是系統(tǒng)測(cè)試,集成測(cè)試等等寬泛而抽象的頂層概念,回答完后,又一一引導(dǎo)我分別對(duì)這些測(cè)試測(cè)什么做了提問,可以說,每個(gè)問題我都會(huì)選擇沉思一下再做回答,沉思的時(shí)候可能腦子一片空白,但其實(shí)也是在努力搜尋頭腦里的埋藏的知識(shí)。
在接下來的繼續(xù)細(xì)化提問前,他一再問了關(guān)于數(shù)據(jù)庫的知識(shí),諸如同樣要查詢一個(gè)表的其中幾個(gè)字段,視圖和存儲(chǔ)過程如何做出選擇,視圖、存儲(chǔ)過程和方法呢?說真的,其實(shí)就是在考這幾個(gè)的區(qū)別,但是我真的已經(jīng)遺忘了。ok,繼續(xù)細(xì)化測(cè)試,對(duì)于數(shù)據(jù)庫層如何測(cè)試,對(duì)于logic層如何測(cè)試,對(duì)于呈現(xiàn)層又如何進(jìn)行測(cè)試。其中,問數(shù)據(jù)庫層如何測(cè)試的時(shí)候,我回答得最為完善,但是也可以說是沒有思考完全,因?yàn)樗釂柫诉@么一個(gè)問題:現(xiàn)在我們要部署這個(gè)系統(tǒng),用批處理的方式寫代碼去部署,
這個(gè)時(shí)候,關(guān)于數(shù)據(jù)庫需要考慮哪些內(nèi)容?說白了,還是兼容性測(cè)試,不過最初我沒理解,在他的引導(dǎo)下,我才把能想到的都說了,不過當(dāng)我說到要考慮軟件的兼容時(shí),他問我哪些軟件,我只舉了一個(gè)普通軟件的例子,比如,同樣是Sql Server,如果機(jī)器上安裝了假設(shè)SQL Server 2012,而在安裝Visual Studio的時(shí)候又裝了一個(gè)Express,那么實(shí)例如何部署,他問還有什么的時(shí)候,我愣住了,軟件兼容就相當(dāng)于這個(gè)吖,難道我要考慮QQ,MSN么?就算要考慮,不是也一樣的么?頂多就是會(huì)不會(huì)出現(xiàn)沖突的現(xiàn)象吖,結(jié)果他告訴我,應(yīng)該再測(cè)殺毒軟件,因?yàn)闅⒍拒浖赡軙?huì)屏蔽數(shù)據(jù)庫端口。對(duì)啊,這個(gè)我怎么給忘記了,上回誰還在群里提到了來著。
回答得最差的應(yīng)該就是logic層的測(cè)試,對(duì)于logic層我能測(cè)什么?我沉默了很久,我弱弱地說了句接口調(diào)用,他說這個(gè)是UI層考慮的問題,這里他給出了最多的引導(dǎo),先是一個(gè)logic層的驗(yàn)證性問題,說實(shí)話,由于UI層是Web呈現(xiàn),我以為會(huì)在UI層做,結(jié)果他說,Web呈現(xiàn)不過是輕量級(jí)的驗(yàn)證,邏輯的驗(yàn)證還得再邏輯層做,之后,又提示我協(xié)議,由于我對(duì)協(xié)議完全一竅不通,他用很淺顯的話語描述了協(xié)議的意思,結(jié)果我第一反應(yīng)就是要測(cè)安全性,然后他搖頭,之前說了不考慮證書問題,這一刻才意識(shí)到,協(xié)議的安全性測(cè)試原來包含證書方面的測(cè)試,不得不說,這又是另一個(gè)收獲,以前的我根本不知道。在他的提示下,漸漸地,我回答出來一部分測(cè)試的設(shè)計(jì),當(dāng)然,更多的,可能還是沒讓他太滿意吧,沒辦法,這一塊我確實(shí)很薄弱,也沒怎么接觸過,只能靠他引導(dǎo)的那一條路努力鉆。
慶幸的是在UI層,他問的時(shí)候,因?yàn)槲覄傞_始做測(cè)試的時(shí)候就是做UI測(cè)試,這一塊回答得相對(duì)順風(fēng)順?biāo)贿^依然還是有遺漏,如同他提問完后我的沉默一樣,我在回答的時(shí)候,只要他覺得回答得還行,他就沉默著等我說下一個(gè)測(cè)試設(shè)計(jì)點(diǎn),緊跟著沉默一秒鐘到兩秒鐘,意識(shí)過來,然后我會(huì)回答下一個(gè)我想到的點(diǎn),這一秒鐘兩秒鐘,既是彼此等待對(duì)方打破沉默的優(yōu)勢(shì)談判的特點(diǎn),同時(shí),于我而言,也是表現(xiàn)我在思考的時(shí)間,對(duì)我是有百利而無一害,但是,這種沉默如果持續(xù)時(shí)間過長(zhǎng),就要當(dāng)心了,可能會(huì)由于過于安靜的空氣引起自己內(nèi)心的恐慌,當(dāng)然,我不會(huì),因?yàn)橹辽倌莻(gè)時(shí)候,我已經(jīng)知道沉默的意義,而等待超過三秒我回答不出的時(shí)候,我會(huì)選擇和他直接對(duì)視,然后告訴他,可能我只能想到這些,而此時(shí),也相當(dāng)于向他求助,他會(huì)很友好地告訴你你回答得如何,或者很友善地開始引導(dǎo)你做出更多的考慮。
他問我,對(duì)于我在上一家公司第一個(gè)項(xiàng)目的了解程度,我很誠(chéng)實(shí)地告訴他,由于那時(shí)候?qū)y(cè)試的一竅不通,也對(duì)工作相對(duì)生疏,我只對(duì)自己負(fù)責(zé)的模塊有較多的理解,并沒有去學(xué)習(xí)整個(gè)項(xiàng)目的架構(gòu),而我在該項(xiàng)目待的時(shí)間比較短,也沒有允許我考慮到去學(xué)習(xí)整個(gè)架構(gòu),于是他問我,作為UI team的工作者,有必要去熟悉了解整個(gè)架構(gòu)嗎?這個(gè)問題,說真的,我不知道,但是我不能直接這么回答,畢竟我已經(jīng)有較長(zhǎng)時(shí)間的工作經(jīng)驗(yàn)了,這個(gè)問題理所應(yīng)當(dāng)去思考。我稍微想了一會(huì)會(huì),然后說,如果對(duì)于工作內(nèi)容來說,應(yīng)該沒有太多必要,畢竟架構(gòu)了解起來可能花費(fèi)很長(zhǎng)時(shí)間,而對(duì)自己測(cè)試范圍可能幫助不太大,但是要把測(cè)試做得更好,理解整個(gè)項(xiàng)目還是很有幫助的,它可以擴(kuò)展測(cè)試的思維,讓自己的測(cè)試進(jìn)行得更加全面,而且可能會(huì)根據(jù)整個(gè)項(xiàng)目的架構(gòu),找到一些潛在的或者邊緣性的問題。他點(diǎn)點(diǎn)頭,表示對(duì)這樣的回答還算滿意。
最后,拿出一個(gè)小細(xì)節(jié)開始問測(cè)試用例的設(shè)計(jì),有一個(gè)日歷控件,選擇日期這一塊的測(cè)試怎么做,我問清楚了沒有from date to date和手動(dòng)輸入或者復(fù)制黏貼等情況之后,說實(shí)話,腦袋一片空白,這還要測(cè)什么?測(cè)2月有沒有29號(hào)?他在提問一開始就說清楚了,
這個(gè)日歷就是系統(tǒng)日歷,難道我要懷疑系統(tǒng)日歷有問題么?瘋了瘋了,這個(gè)問題究竟在考什么?能不能不選擇,以及是不是只能選擇今天,選擇未來的某天或者過去的某天是否可行?這幾個(gè)點(diǎn)說完后,我覺得我真的要徹底沉默了,因?yàn)槟X子里根本想不到任何東西了,于是他提醒我,是不是應(yīng)該考慮時(shí)區(qū)?對(duì),還必須考慮日期顯示格式,我?guī)缀趺摽诙觯苍S我的莽撞吧,他笑了,也點(diǎn)點(diǎn)頭,是的,格式,還有呢?國(guó)內(nèi)外時(shí)差的存在,是不是也讓我們需要考慮呢?在我說完了我覺得可能需要考慮的一切的時(shí)候,他突然問我,那如果時(shí)間要存儲(chǔ)在數(shù)據(jù)庫里,你覺得是統(tǒng)一存儲(chǔ)然后用代碼進(jìn)行各個(gè)國(guó)家時(shí)間的轉(zhuǎn)換還是存儲(chǔ)的時(shí)候就先轉(zhuǎn)換好?
問到這個(gè)問題,我簡(jiǎn)直要跳起來了,老三吖老三,必須謝謝你吖,你閑著沒事蛋疼地去用Convert.DateTime()將陽歷的3月29號(hào)轉(zhuǎn)換成中國(guó)的農(nóng)歷,還抱怨VS的bug,讓閑著沒事的我無聊到上網(wǎng)去搜索C#代碼怎么實(shí)現(xiàn)陰陽歷轉(zhuǎn)換。我說,應(yīng)該統(tǒng)一存儲(chǔ)然后用代碼的方式去進(jìn)行轉(zhuǎn)換,然后他問我用什么方式呢?我說,具體我方式我不記得了,不過前幾天我朋友遇到過日期轉(zhuǎn)換的問題,雖然不是各個(gè)國(guó)家,僅僅只是中國(guó)的陰陽歷轉(zhuǎn)換,上網(wǎng)的時(shí)候我有看到 VS自帶了一個(gè)dll,叫System.Globalization,雖然沒嘗試過,不過我想,可能這個(gè)方法行得通,他笑著說,很不錯(cuò),這可能是個(gè)辦法,不過,就我知道的,VS里面有一個(gè)UTC可以做到。
他看了看手機(jī)時(shí)間,一個(gè)小時(shí)多一點(diǎn)點(diǎn),他笑著說,好了,我們的面試就到這里,整體還是很不錯(cuò)的。在他送我出門的一段不長(zhǎng)的路上,我向他打聽面試的結(jié)果什么時(shí)候可以知道,他說會(huì)盡快。于是微笑著,我們告別了,不過前腳剛走不久,就接到電話,告知面試通過了。說實(shí)話,很久沒有遇到這么happy的面試了,雖然整場(chǎng)面試中說的中文不多,卻感覺是那樣的輕松。其實(shí),很多時(shí)候,很多事情,真的需要有人稍稍點(diǎn)撥一下下,稍稍作出引導(dǎo),這樣,我就會(huì)有無限的思緒涌出來。
【軟件測(cè)試工程師面試分享】相關(guān)文章:
軟件測(cè)試工程師面試題及答案分享08-08
軟件測(cè)試面試02-16
軟件測(cè)試工程師面試自我介紹03-28
軟件測(cè)試面試題11-06
軟件測(cè)試筆試題目分享07-06
軟件測(cè)試工程師簡(jiǎn)歷02-28
軟件測(cè)試工程師面試自我介紹4篇04-10
軟件測(cè)試面試自我介紹02-02