介紹了一下測試的必要性,再回過頭來繼續說開發與測試的“矛盾”,其實這個矛盾從本質上來說是由於績效管理時過分強調了開發人員造成的Bug,而這個“過分強調”又必須是測試人員一定要強調的。所以呢,矛盾就開始產生了,開發說,這個不是Bug,或者說我不能重現,還說,你幹嘛老是提Bug,是不是對我有啥不滿的。久而久之,“矛盾”產生了,激化了,產品品質下降了。。。。。。
從領導層角度來說,他們當然也希望開發做出來產品是沒有Bug的,這樣子我連測試人員都不用配了,成本下降很多了。當然,大多數領導也知道這個是不可能的,與其由於產品品質下降造成產品不好賣,還不如配幾個測試人員了。配了測試人員,又出現“矛盾”了,我想許多公司的領導已經處理得很好了,不過我還是想簡單介紹一下我們公司的處理方案:
1. 把產品的銷售業績與開發、測試綁定,也就是說銷售得好,獎金就多,當然要銷售得好,產品品質也得好,那就得開發與測試相互合作了。現在許多公司其實開發與測試工資與獎金比較固定,不會因為業績好而增加獎金之類的。我們公司有明確規定,這個產品利潤的百分之幾是歸開發,百分之幾歸測試,從而從制度上就讓開發與測試有了定心丸,去好好把產品品質搞好。
2. 在對於各個銷售人員的績效考核上,增加其他考核項,把每千行Bug的產生量權重降低,增加諸如,Bug修複成功率,類似功能再次出現Bug的百分比,與測試人員合作效率等考核項,這樣子的話,開發人員就會開始很重視和測試人員的交流,因為他們開始知道跟測試人員的合作好壞決定了他們能拿到的Money。(剛才有人問怎麼拿到這些類似Bug 修複成功率這種值,一般好一點的 Bug 管理工具裡都能拿到,我們在 DevSuite 系統裡自動產生的)
3. 當然對測試人員也需要增加一些新的考核項,比如是Bug的描述是否能讓開發一次看清楚等。
通過這些措施,開發與測試的效率提高很多,從而使得產品品質也提高很多。哲學上說,矛盾是事物發展的動力,學會利用這種矛盾來讓公司健康穩健地發展是每個成功公司需要學會的,我們公司現在來說不能算特別成功,但是我們在這個方向上前進著。
後序:有個朋友評論說:(以下是原話)
軟體測試部門是輔助軟體開發部門將產品做好!
他們不是對立的關係,而是互相協助的關係。
現實中,經常看到研發部門看不起測試部門,而測試部門則叫板研發部門,說產品存在如何多的問題。。。
牢記產品是做出來的,不是測試出來!
測試團隊一定要擺正自己的位置,是協助研發團隊將產品做好,提高產品品質!發現問題,跟蹤解決問題!一定不要將與研發人員的關係搞僵!
時刻牢記:大家是一個團隊!大家有一個共同的目標:將產品做好!開發與測試應該認識到大家是一個團隊,一個整體,只有緊密合作才能把產品做好出來。
其實大方向我還是比較認同的,確實,開發與測試需要緊密合作,發揮團隊精神才能把產品做好,這樣子產品才能有機會賣好,公司也才能發展,所以這個朋友評論的話,我覺得可以認為是一種理想的開發與測試關係。但是要實現這個理想的關係,光靠這兩個部門自身是無法徹底實現的,我們需要在整個公司層面制定合理的制度,從根本上解決問題。假設我給開發的考核中代碼品質(也就是每千行出得Bug數)權重很大,而給測試人員考核時每日發現Bug數權重很大,勢必會造成開發與測試之間的某種矛盾加劇,其實他們也知道要合作,不能有矛盾,但是自己是出來打工的,你給我提這麼多Bug,我錢就會少拿;我不給你提這麼多Bug,我錢也少拿。
所以我寫這篇文章的目的,其實是怎麼讓開發與測試達到一個理想的關係,而不是說開發與測試應該達到一個怎麼樣的關係。