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