為什么開發(fā)不能兼任測(cè)試?普通人不知道的冷知識(shí)指南(開發(fā)人員為什么不能做測(cè)試)
有些人可能會(huì)疑惑,為什么為什么開發(fā)不能兼任測(cè)試?
其實(shí),做一個(gè)程序,程序員和測(cè)試人員扮演著不同但互補(bǔ)的角色,并不是你想象的程序員能力越強(qiáng)越好。
程序員的主要職責(zé)是編寫和實(shí)現(xiàn)軟件代碼,而測(cè)試人員則專注于驗(yàn)證和確保代碼的質(zhì)量。
首先,程序員與自己的代碼有著天然的盲點(diǎn)。就像你檢查作業(yè)時(shí)總找不到自己的錯(cuò)誤一樣,而別人一眼就能看出。
程序員構(gòu)建功能的時(shí)候,往往會(huì)基于代碼應(yīng)該如何運(yùn)行的預(yù)期來(lái)進(jìn)行測(cè)試,但測(cè)試就完全不是這樣。比如,在開發(fā)一個(gè)網(wǎng)上商城時(shí),程序員可能會(huì)著重實(shí)現(xiàn)購(gòu)物車功能的代碼邏輯正確性,但可能忽視了用戶在特定情況下遇到的異常行為,如在網(wǎng)絡(luò)不穩(wěn)定時(shí)加入購(gòu)物車的商品可能出現(xiàn)重復(fù)或消失的問(wèn)題。
其次,測(cè)試是一項(xiàng)專業(yè)工作,需要系統(tǒng)的測(cè)試計(jì)劃和用例。測(cè)試人員的專業(yè)技巧和工具更全面。如果讓程序員兼任測(cè)試工作,可能會(huì)導(dǎo)致一些極端情況被忽略,或是測(cè)試不夠徹底。比如前端開發(fā),程序員可能確保了頁(yè)面在Chrome瀏覽器上的兼容性,但專業(yè)的測(cè)試人員會(huì)考慮更多的瀏覽器兼容性問(wèn)題,包括但不限于Edge、Firefox、Safari等,這個(gè)就是很多開發(fā)者考慮不到的。
再者,從心理原因上講,你作為一個(gè)程序員,要檢查自己做的產(chǎn)品,你是不是會(huì)有意無(wú)意地避開自己的弱項(xiàng),因?yàn)橐粋€(gè)程序要是檢查出問(wèn)題了,你不得好好惡補(bǔ),但是測(cè)試員拿的工資就是來(lái)找bug的,兩者的出發(fā)目的都完全不一樣,做一件事的結(jié)果肯定是不一樣的
從經(jīng)濟(jì)和效率的角度來(lái)看,讓程序員兼任測(cè)試工作可能會(huì)降低團(tuán)隊(duì)的生產(chǎn)效率。程序員通常更擅長(zhǎng)和更傾向于開發(fā)新功能,而測(cè)試則可能會(huì)被視為次要任務(wù)。這不僅降低了測(cè)試工作的重要性,也可能導(dǎo)致程序員在測(cè)試上花費(fèi)的時(shí)間減少,從而影響到測(cè)試質(zhì)量。
對(duì)于一些復(fù)雜系統(tǒng)的開發(fā),如ERP系統(tǒng),需要大量的集成測(cè)試和回歸測(cè)試,這就不是程序員能干的了的,效率也會(huì)降低很多。
程序員和測(cè)試人員各有專長(zhǎng),就得做不同的活,這也是長(zhǎng)期實(shí)踐總結(jié)下來(lái)的結(jié)果。哪怕是在 iVX 這樣的低代碼平臺(tái)上,雖然可以自動(dòng)生成全棧代碼,大幅度降低錯(cuò)誤的可能性,但測(cè)試依然是一個(gè)不可或缺的環(huán)節(jié),還是需要專人來(lái)完成。