開發(fā)工程師應(yīng)該自己做測試嗎?
首先要說明的是,大多數(shù)開發(fā)人員并不完全測試他們自己的代碼,通常是因為他們有QA測試人員的支持。讓QA測試人員利用他們的時間來發(fā)現(xiàn)缺陷,而不是自己花時間去測試,這樣更容易。也許他們太忙了,或者公司更喜歡這種方法,喜歡讓他們的開發(fā)團隊來完成任務(wù)。還有一個潛在的傲慢的方面,因為一些開發(fā)人員認為他們的工作是沒有缺陷的,但這可能(而且已經(jīng))導(dǎo)致影響業(yè)務(wù)的嚴重問題。
隨著許多開發(fā)團隊測試他們自己的工作,不使用QA測試人員,這個話題激發(fā)了雙方的激烈辯論。我們將介紹雙方的情況,并希望能幫助你了解這兩種方法的優(yōu)點和缺點。
讓我們從基于開發(fā)者的測試開始:
大多數(shù)團隊(我相信)確實要求其開發(fā)人員進行單元測試(至少),許多人還要求進行自動化、集成的、基于代碼的測試。問題是,這確實占用了開發(fā)新功能和代碼的時間,而我們作為開發(fā)者會被下一個閃亮的東西所吸引而工作。如果測試覆蓋了整個代碼庫,那么它可以是內(nèi)置的,但這又會占用新任務(wù)的時間。在某些方面,這些開發(fā)者說測試會浪費時間是正確的,即使測試過程是自動化的。測試可以被視為減緩了開發(fā)和生產(chǎn)力。
另一個不做測試的原因,純粹是因為一些開發(fā)人員對整個應(yīng)用程序的工作原理沒有了解。或者他們不相信他們的代碼中存在錯誤,我知道很傲慢,但我們都遇到過這樣的人,在某些情況下,他們是真正的同事。
另一方面,也有許多開發(fā)人員使用編碼測試嚴格地測試他們的代碼。對自己工作的自豪感意味著他們想充分測試自己的工作,以確保其沒有缺陷,或至少確保任何QA測試人員不會在他們的代碼中發(fā)現(xiàn)故障或缺陷。應(yīng)該指出的是,驕傲被視為開發(fā)人員的罪過之一.
基于QA的測試
在QA方面,我們非常尊重QA測試,因為質(zhì)疑開發(fā)人員的工作和處理任何可能回來的防御性需要勇氣。有一些非常好的QA測試人員做得很好,但最好的測試人員在向開發(fā)團隊報告錯誤時需要自信。他們也傾向于對應(yīng)用程序的整體及其所有細微差別有更多的了解,包括回歸歷史。我認為他們也有助于確保開發(fā)人員是誠實和努力工作的,因為在某些方面,他們是在為開發(fā)經(jīng)理的測試工作做掩護,并對整個開發(fā)過程進行監(jiān)督。由于他們的工作是基于尋找故障,QA測試人員比開發(fā)人員更努力地推動一個應(yīng)用程序。一個簡單的測試和成功是不夠的,因為他們尋求創(chuàng)造性的方法來執(zhí)行開發(fā)人員可能不會想到的測試。證據(jù)就是一切,除非被證明,否則bug是不會被修復(fù)的,許多開發(fā)人員在測試他們自己的代碼時沒有走得足夠遠。當然,開發(fā)人員和QA測試人員應(yīng)該相互配合。代碼測試效果很好,但QA測試人員可以進行更多的人為測試,這些測試是出乎意料的,并確保應(yīng)用程序更加健壯。QA的另一個方面是創(chuàng)造性,我們大多數(shù)人認為測試是枯燥的重復(fù)性工作,但從與QA測試人員打交道的過程中,我意識到創(chuàng)造性是QA過程的一個重要組成部分。基于他們的知識,他們可以想出許多不同的方法來測試一個應(yīng)用程序,并與以前的測試進行比較。從測試中產(chǎn)生的文件對培訓(xùn),甚至在某些情況下對客戶的使用都是非常有用的。
基于項目管理過程
提出全員參與質(zhì)量工作,開發(fā)工程師的自測是為了后面QA測試爭取更多時間,現(xiàn)實情況是項目上沒有那么多的QA工程加入,一方面是公司人員成本考慮,另一方面是缺失沒有足夠多QA測試工程師。
研發(fā)自測落地思路與三個階段
以上是基于中小公司研發(fā)管理流程,成熟大型軟件團隊,已經(jīng)自動化測試過程。
那么,哪個更好呢?
答案是都不是,兩種方法的組合效果最好。隨著許多開發(fā)團隊不斷快速發(fā)布代碼,QA也需要發(fā)揮其作用。我明白,進入市場的速度是一個關(guān)鍵因素,但穩(wěn)定性也是成功的關(guān)鍵。我看到的另一個方面是公司將他們的QA外包,而不是讓它在內(nèi)部與開發(fā)團隊一起運行。一些新的企業(yè),如Global和Digivante,是一些外包QA或人群測試正在增長的公司。QA外包可能不是最佳的選擇,不利于質(zhì)量內(nèi)建。
今天先到這兒,希望對云原生,技術(shù)領(lǐng)導(dǎo)力, 企業(yè)管理,系統(tǒng)架構(gòu)設(shè)計與評估,團隊管理, 項目管理, 產(chǎn)品管管,團隊建設(shè) 有參考作用 , 您可能感興趣的文章:
領(lǐng)導(dǎo)人怎樣帶領(lǐng)好團隊
構(gòu)建創(chuàng)業(yè)公司突擊小團隊
國際化環(huán)境下系統(tǒng)架構(gòu)演化
微服務(wù)架構(gòu)設(shè)計
視頻直播平臺的系統(tǒng)架構(gòu)演化
微服務(wù)與Docker介紹
Docker與CI持續(xù)集成/CD
互聯(lián)網(wǎng)電商購物車架構(gòu)演變案例
互聯(lián)網(wǎng)業(yè)務(wù)場景下消息隊列架構(gòu)
互聯(lián)網(wǎng)高效研發(fā)團隊管理演進之一
消息系統(tǒng)架構(gòu)設(shè)計演進
互聯(lián)網(wǎng)電商搜索架構(gòu)演化之一
企業(yè)信息化與軟件工程的迷思
企業(yè)項目化管理介紹
軟件項目成功之要素
人際溝通風格介紹一
精益IT組織與分享式領(lǐng)導(dǎo)
學(xué)習(xí)型組織與企業(yè)
企業(yè)創(chuàng)新文化與等級觀念
組織目標與個人目標
初創(chuàng)公司人才招聘與管理
人才公司環(huán)境與企業(yè)文化
企業(yè)文化、團隊文化與知識共享
高效能的團隊建設(shè)
項目管理溝通計劃
構(gòu)建高效的研發(fā)與自動化運維
某大型電商云平臺實踐
互聯(lián)網(wǎng)數(shù)據(jù)庫架構(gòu)設(shè)計思路
IT基礎(chǔ)架構(gòu)規(guī)劃方案一(網(wǎng)絡(luò)系統(tǒng)規(guī)劃)
餐飲行業(yè)解決方案之客戶分析流程
餐飲行業(yè)解決方案之采購戰(zhàn)略制定與實施流程
餐飲行業(yè)解決方案之業(yè)務(wù)設(shè)計流程
供應(yīng)鏈需求調(diào)研CheckList
企業(yè)應(yīng)用之性能實時度量系統(tǒng)演變
如有想了解更多軟件設(shè)計與架構(gòu), 系統(tǒng)IT,企業(yè)信息化, 團隊管理 資訊,請關(guān)注我的微信訂閱號:
作者:Petter Liu
出處:http://www.rzrgm.cn/wintersun/
本文版權(quán)歸作者和博客園共有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文連接,否則保留追究法律責任的權(quán)利。
該文章也同時發(fā)布在我的獨立博客中-Petter Liu Blog。


![MegadotnetMicroMsg_thumb1_thumb1_thu[2] MegadotnetMicroMsg_thumb1_thumb1_thu[2]](http://images.cnitblog.com/blog/15172/201503/211054062506158.jpg)
浙公網(wǎng)安備 33010602011771號