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