作為測試工程師,在日常工作中接觸最多的當(dāng)然是團(tuán)隊(duì)中的開發(fā)工程師,如何和開發(fā)工程師進(jìn)行有效的交流是測試工程師面對的重要問題。一般來說,在一個(gè)團(tuán)隊(duì)中,總是有開發(fā)人員喜歡和不喜歡的測試工程師,這兩者之間的工作效率和效果都有很大的差異。當(dāng)然,不能武斷地說測試人員不 喜歡的測試工程師就一定是效率低下的測試工程師,或者說是不合格的測試工程師,但一般來說,那些容易得到開發(fā)人員認(rèn)可的工程師在測試時(shí)總能夠更好地發(fā)現(xiàn)缺陷和敦促開發(fā)人員解決缺陷。 測試工程師和開發(fā)工程師承擔(dān)的是開發(fā)工作的兩個(gè)不同方面,說得極端一點(diǎn),一個(gè)是創(chuàng)建,一個(gè)是破壞,雖然兩者的 最終目的都是一樣的,但在達(dá)成目標(biāo)的方式上卻有很大的差異。因此,在為同一個(gè)目標(biāo)奮斗的過程中,發(fā)生沖突也是難免的,但通過下面的一些建議,換個(gè)視角看看開發(fā)人員的生活和工作,可能很多的沖突就能化解于無形了。 Cem Kaner在《Testing Computer Software》書中有一段話: “The best tester is not the one who finds the most bugs or who embarrasses the most developers. The best tester is the one who gets the most bugs fixed.” (最好的測試人員不是發(fā)現(xiàn)最多BUG或是使得最多開發(fā)人員不自在的人,而是能夠[說服開發(fā)人員]修正最多BUG的人),建議大家好好理解這句話。 至于我個(gè)人,是從開發(fā)工程師轉(zhuǎn)為測試工程師的,對于開發(fā)工程師的處境和想法也曾有過切身的體會(huì),或許是這個(gè)原因,讓我在和開發(fā)工程師交流的過程中還算是比較 順利,和他們相處得也還不錯(cuò)。在我的測試經(jīng)歷中,也接觸過相當(dāng)多的開發(fā)工程師,這里我把和開發(fā)人員交流的經(jīng)驗(yàn)歸結(jié)為“五要四不要”: 1、要耐心和細(xì)心 細(xì)心是測試工程師的一個(gè)基本素質(zhì),測試工程師是對質(zhì)量負(fù)責(zé)的人,涉及到質(zhì)量問題,就不能含糊,因此一定要細(xì)心,細(xì)心對待每一個(gè)可能的BUG、細(xì)心對待每一段 被你檢查的代碼,細(xì)心對待每一個(gè)你撰寫的BUG報(bào)告,細(xì)心對待你發(fā)出的每一封郵件。細(xì)心是一種態(tài)度,你的態(tài)度遲早會(huì)感染和你合作的開發(fā)人員,而這往往是合作愉快的基礎(chǔ)。 至于說到耐心,在我的工作經(jīng)歷中,不厭其煩地向開發(fā)人員解釋一個(gè)BUG,讓他認(rèn)識(shí)到BUG的重要性是經(jīng)常的事情,其實(shí)想想也很正常,對任何人來說,被人指出自己的缺點(diǎn)和不足都不是讓人舒服的事情,因此,一點(diǎn)不耐煩的情緒就可能引起對方很大的反感,給自己的工作帶來不必要的麻煩。 2、要懂得尊重對方 開發(fā)是一件需要全面和綜合考慮的工作,開發(fā)工作中,由于各種原因?qū)е鲁绦蛑谐霈F(xiàn)問題是很正常的現(xiàn)象,作為測試工程師,發(fā)現(xiàn)了這些問題并不值得你夸耀,也不能 說明你比開發(fā)工程師聰明。一個(gè)好的測試工程師一定是懂得尊重開發(fā)工程師的人,尊重對方的技術(shù)水平,尊重對方的代碼。我接觸過的開發(fā)人員都是挺和善的,一般來說,對他們最大的尊重就是承認(rèn)他的專業(yè)水平,承認(rèn)他的代碼。對他們來說,代碼就像是自己的孩子一樣:)因此,記得在合適的時(shí)候表達(dá)你對他的尊重,贊揚(yáng)一下他代碼的精妙之處。 3、要能設(shè)身處地為對方著想 開發(fā)工程師一般都處在較大的工作壓力下,他的上司直接考核他們的指標(biāo)很大程度上是已完成的代碼,所以在工作任務(wù)緊張的時(shí)候,對于測試工程師報(bào)上來的BUG會(huì) 拖延解決甚至是推脫,給測試工程師的感覺就是很不合作。那么在這個(gè)時(shí)候,就需要設(shè)身處地的為對方著想了,每個(gè)人都會(huì)為自己的工作在內(nèi)心排定優(yōu)先級(jí),如果他 認(rèn)為解決你發(fā)現(xiàn)的BUG不是重要的事情,那么最大的可能就是你并沒有向他解釋清楚這個(gè)BUG的嚴(yán)重程度。 發(fā)現(xiàn)BUG是我們的責(zé)任,敦促BUG得到解決是我們更重要的責(zé)任,因此,我們可以心平氣和地和開發(fā)人員坐下來討論一下BUG的嚴(yán)重程度,和他一起排定BUG的優(yōu)先級(jí)別并確定解決的時(shí)間。 4、要有原則 不要忘記,測試工程師需要對產(chǎn)品的質(zhì)量負(fù)責(zé),在這一點(diǎn)上一定要有原則。測試工程師可以和開發(fā)工程師建立良好的個(gè)人關(guān)系,但在具體的事情上,一定要按照公司的 相關(guān)流程來處理。當(dāng)然,在堅(jiān)持原則的同時(shí),可以采用一些委婉的表達(dá)方式,可以在允許的情況下盡量體諒開發(fā)工程師,但請記住,一個(gè)有原則的測試工程師才能真 正幫助開發(fā)工程師,才能贏得開發(fā)工程師的尊重。