謝邀。多數軟體企業都設立了開發與測試兩個獨立的團隊,這兩個團隊可能隸屬於一個部門,也有可能各自隸屬於兩個部門。

估計沒有人會質疑測試活動本身的價值,一方面開發團隊確認測試團隊有存在的必要性,但是另一方面,在和開發團隊打交道的過程中,測試人員通常會聽到以下的言論:

  • 你會不會用軟體呀?
  • 你使用了最BT的方法發現了用戶永遠也不可能發現的問題或者用戶根本不可能像你這樣操作
  • 由於我使用了XXX技術,YYY方法和受到了ZZZ的約束,所以只能出現這樣的問題,所以就不是Bug
  • 上次都說過了,是你們測試的問題,先保證測試用例的正確性再來測試。
  • ……

軟體測試團隊的角色通常定位為「質量守護者」。自然地,他們所發現軟體缺陷的數量和嚴重程度與其績效潛移默化地有著緊密關聯。於是乎,測試工程師為了體現其價值,希望儘可能在缺陷跟蹤系統中新建缺陷記錄。但開發工程師就不幹了,因為缺陷數量同樣可以作為考核指標以衡量其開發質量。所以通常會看到:測試工程師發現問題後,首先與開發工程師進行溝通,在徵得開發工程師的同意後再新建缺陷記錄(這個過程有時變成了一種博弈,而非真正為了工作效率);開發工程師對於測試工程師所發現的問題不是持感激態度,反而認為他們是在「找茬」。由於「質量守護者」的存在,開發工程師心安理得、堂而皇之地認為保證軟體質量是測試部門的事。於是線上如果出現了嚴重的問題,第一個被責問的對象通常會是軟體測試團隊。

「為什麼沒有測試出這個問題?」

不難發現,以上的場景都是測試和開發團隊配合不佳的表現。那怎麼能更好的改善測試團隊和開發團隊的關係呢?從測試人員的角度出發,你可以做以下的改善:

1.要耐心和細心

細心是測試工程師的一個基本素質,測試工程師是對質量負責的人,涉及到質量問題,就不能含糊,因此一定要細心,細心對待每一個可能的Bug、細心對待每一段被你檢查的代碼,細心對待每一個你撰寫的Bug報告,細心對待你發出的每一封郵件。細心是一種態度,你的態度遲早會感染和你合作的開發人員,而這往往是合作愉快的基礎。

2.要懂得尊重對方

開發是一件需要全面和綜合考慮的工作,開發工作中,由於各種原因導致程序中出現問題是很正常的現象,作為測試工程師,發現了這些問題並不值得你誇耀,也不能說明你比開發工程師聰明。一個好的測試工程師一定是懂得尊重開發工程師的人,尊重對方的技術水平,尊重對方的代碼。我接觸過的開發人員都是挺和善的,一般來說,對他們最大的尊重就是承認他的專業水平,承認他的代碼。對他們來說,代碼就像是自己的孩子一樣。因此,記得在合適的時候表達你對他的尊重,讚揚一下他代碼的精妙之處。

3.要能設身處地為對方著想

開發工程師一般都處在較大的工作壓力下,他的上司直接考核他們的指標很大程度上是已完成的代碼,所以在工作任務緊張的時候,對於測試工程師報上來的Bug會拖延解決甚至是推脫,給測試工程師的感覺就是很不合作。那麼在這個時候,就需要設身處地的為對方著想了,每個人都會為自己的工作在內心排定優先順序,如果他認為解決你發現的Bug不是重要的事情,那麼最大的可能就是你並沒有向他解釋清楚這個Bug的嚴重程度。

發現Bug是我們的責任,敦促Bug得到解決是我們更重要的責任,因此,我們可以心平氣和地和開發人員坐下來討論一下Bug的嚴重程度,和他一起排定Bug的優先順序別並確定解決的時間。

4.要有原則

不要忘記,測試工程師需要對產品的質量負責,在這一點上一定要有原則。測試工程師可以和開發工程師建立良好的個人關係,但在具體的事情上,一定要按照公司的相關流程來處理。當然,在堅持原則的同時,可以採用一些委婉的表達方式,可以在允許的情況下盡量體諒開發工程師,但請記住,一個有原則的測試工程師才能真正幫助開發工程師,才能贏得開發工程師的尊重。

5.要主動承擔

如果開發工程師要求你承擔部分不屬於你的責任,比如,定位你發現的Bug到代碼一級,或者是幫助他編寫部分文檔和代碼(不要不相信,真的有這樣的事情),那麼你會怎麼做呢?

在筆者的測試經歷中,這些事情都遇到過,原則是在可能的情況下可以多承擔一點。其實都是工作上的事情,有能力的話,多做一點也無妨。

6.要有持續學習的覺悟

這一點沒啥好說的,技術在迭代更新,身邊那麼多搶飯碗的,高額的房貸、車貸和生活壓力,有什麼理由止步不前?

網圖,侵刪。

說實話第一就是要有同理心,實際上很多Bug都是對需求理解不一樣造成的,這時候可能就要從開發的角度去看看他們為什麼這樣去理解這個需求,然後通常不要很強硬的否定它,而是解釋為什麼開發理解的需求有不足之外,希望達到的目標是什麼,根據是什麼等等,盡量爭取開發接受測試的觀點而不是強加給他們。

第二是寫Bug的時候過程,現象,重現機率,日誌等等有用的資料要提供齊全,我相信開發面對一個Bug第一件事也是會嘗試去重現,但如果測試只是寫了一句含糊的話,這麼開發怎麼去重現它?又怎麼會覺得測試報的Bug是有效的呢。

第三就不只工作方面的了,平時工作之餘大家多溝通,有機會就組織一些活動讓開發的同事與測試的同事熟悉一下,這樣子很多時候面對熟悉的人,大家在反對對方的觀點的時候會考慮一下對方的感受,只要氣氛不對立,很多事情就可以商量了。

最後說一句,測試人員要樹立好自己的定位,就是無論開發好,測試好,最終目的都是使項目可以有比較高質量的,按時的完成,大家都合作好才能完成一個項目,所以無論開發好,測試好,大家都離不開彼此的,測試人員不是為開發的工作挑刺,但也不是開發的附屬,為其擦屁股的,所以把握好自己的定位,理性處理與開發的關係也是比較重要的一環(實際上就是不故意找茬,也不跪舔,哈哈,大家都平等了,才有辦法平等地溝通)


一,把可能開發想說的說詞想好,並做好相應的準備

二,如果這個開發好說話,可以溝通一下,正常交流

三,如果這個開發不好說話,走bug管理系統,描述清楚,盡量少交流,有事找產品


1,溝通前的做好準備:問題描述,現場環境,個人的對於問題的思考

2,溝通過程中:對事不對人

3,結束後:表達感謝


推薦閱讀:
查看原文 >>
相关文章