對于軟件測試與軟件開發(fā)之間的關(guān)系,一直以來都很微妙,大型、制度健全的公司或許不那樣明顯但在中小型、制度尚不健全的公司,則變成為了老大難的問題。

  軟件需求、軟件開發(fā)、軟件測試是軟件公司技術(shù)部門的三大主力,我們要說的是軟件開發(fā)與軟件測試。

  軟件開發(fā)與軟件測試即是一個統(tǒng)一體,也是一個矛盾體。

  為什么說他們是一個統(tǒng)一體?因為他們有著同一個目標:產(chǎn)品或項目的質(zhì)量、用戶的滿意度、公司的利益。

  為什么說他們是一個矛盾體?因為表面上他們的工作內(nèi)容是相互對立的,在心理上,往往呈現(xiàn)出這樣一個現(xiàn)象:如果一方做得好,則很大程度上顯示出另一方做的不好。

  我覺得問題產(chǎn)生的原因在以下幾個方面:

  首先,公司的制度、團隊的風氣很重要

  不能否認,現(xiàn)在仍然有許多公司以缺陷的多少、重要級別來作為衡量一個軟件開發(fā)人員或測試人員的工作成績的主要標準,如此大錯特錯的方式卻仍然在許多公司存在。不是說不可以作為衡量標準,缺陷可以作為衡量軟件開發(fā)人員或測試人員工作成績的一個方面,但這應該只是很小的一個方面,僅供參考,而不應該是主要評價標準!更有甚者與員工的薪水掛鉤,這樣的標準一旦施行,必然使軟件開發(fā)人員與測試人員陷入一種勢不兩立的局勢。記住,惟一衡量這一切的標準是產(chǎn)品或項目后的使用質(zhì)量。

  像當年的國共合作,表面一致,實際卻各有算盤,兩個敵人之間除了相互猜疑、相互攻擊,能有多少合作的份量?團隊之前的默契如何培養(yǎng)?感情如何維系?

  公司的制度同時也會直接影響到團隊成員之間的關(guān)系。因為某個測試人員或開發(fā)人員的工作“”,導致某個開發(fā)個員或測試人員的工作“失職”。如此,情何以堪?

  然后,開發(fā)人員、測試人員的職業(yè)修養(yǎng)很重要

  開發(fā)人員、測試人員在工作中要有的職業(yè)道德作為準則,工作中對事不對人,至少應該努力去這樣做。

  在其位,謀其職,遇事冷靜,得饒人處且饒人。

  開發(fā)人員:寫好自己的Code,認真對待測試人員提出的每一個Bug,即是一種對自己負責任,也是對公司負責任的一種體現(xiàn)。謂之,在其位,謀其職;遇到不是自己的Code導致的Bug,冷靜的分給相應的開發(fā)人員或打回給測試人員,并詳細的寫明備注,遇到誤報的缺陷,冷靜的思考、討論。若確實屬于誤報,無需動怒,誰不犯錯,冷靜的打回缺陷,備注中注明原因。謂之,遇事冷靜,得饒人處且饒人。

  測試人員:認真測試開發(fā)人員寫的每一行Code、每一個功能,仔細確認每一個即將上報的Bug,同樣是對自己、對公司負責任的一種體現(xiàn)。謂之,在其位,謀其職;遇到低級錯誤、重復或多次打開的Bug,無需不爽,這是你的工作,冷靜的報告給相應的開發(fā)人員,備注中注明原因。遇到某個開發(fā)人員寫的功能缺陷比較多,詳細測試找出其中每一個缺陷并報告給他,其他什么也不要做。謂之,遇事冷靜,得饒人處且饒人。

  其次,團隊之間的溝通很重要

  很多時候誤會的產(chǎn)生,只是因為一句話沒有說完,半句話沒有聽懂。

  在軟件行業(yè)團隊成員之間的溝通也顯得尤為重要:通過周例會、月度例會、時不時的十分鐘短會、頭腦風暴、各種評審會議等等,都是團隊之間溝通的方式。

  要及時表達自己的想法和理解,如及時溝通需求、表達自己對需求理解、對實現(xiàn)的設(shè)想等,保證開發(fā)人與測試人員之間需求理解的一致性,避免出現(xiàn)各種不必要的誤會。

  再次,團隊之間的相互理解很重要

  要能理解各自工作的性質(zhì),站在對方的角度想問題。

  測試人員要理解開發(fā)人員,他們每天有很多的Code的寫,他們的壓力也很大,孰能無過焉?

  開發(fā)人員要理解測試人員,找出你們程序中的缺陷是他們的工作,他們的工作量很大,錯誤尚難避免。

  后,個人素養(yǎng)很重要

  應該感謝那些找出你程序中缺陷的人,因為他們使你在不斷進步,不斷完善。

  如果你還在為測試人員找出你程序中的缺陷而對某個測試人員耿耿于懷,不能虛心接收他人的意見,那么你只會被你的缺陷所牽制。

  不必為沒有找到缺陷而心煩,因為即使是這樣你的價值也已經(jīng)體現(xiàn);更不必為每天要報告大量的缺陷而苦惱、煩躁,因為這是你的工作。

  以上觀點僅代表我的個人觀點,若有失言之處,請指正。

  希望大家都能有一個和諧、高效的研發(fā)團隊!