大家好,我是狂師!
前段時(shí)間,在后臺收到一則留言:"請問一下,你覺得開發(fā)技術(shù)好,還是測試技術(shù)好,如果測試技術(shù)好,為什么不直接開發(fā),干嘛做測試?"
這是一則很有意思且大多數(shù)技術(shù)新人普遍存在的困惑,今天就以此問題,給大家統(tǒng)一解答,分享一下筆者的觀點(diǎn)。
開發(fā)技術(shù)和測試技術(shù)都是軟件工程中不可或缺的技術(shù)能力,它們各自具有獨(dú)特的價(jià)值和重要性。無法簡單地說哪個(gè)技術(shù)更好,因?yàn)樗鼈兊膬?yōu)劣取決于具體情境和需求。
開發(fā)技術(shù)專注于實(shí)現(xiàn)軟件的功能和特性,它涉及到編程語言、算法、數(shù)據(jù)結(jié)構(gòu)、設(shè)計(jì)模式等多個(gè)方面。優(yōu)秀的開發(fā)技術(shù)能夠確保軟件具有高效、穩(wěn)定、安全的性能,滿足用戶需求。
測試技術(shù)則專注于確保軟件的質(zhì)量和可靠性,它涉及到測試用例設(shè)計(jì)、自動(dòng)化測試、性能測試、安全測試等多個(gè)方面。優(yōu)秀的測試技術(shù)能夠及時(shí)發(fā)現(xiàn)軟件中的缺陷和錯(cuò)誤,為軟件開發(fā)提供質(zhì)量保障。
開發(fā)工程師則是一個(gè)更廣泛的概念,包括軟件設(shè)計(jì)人員、軟件架構(gòu)人員、軟件工程管理人員、程序員等一系列崗位。他們的主要工作是進(jìn)行軟件的開發(fā)和生產(chǎn),技術(shù)要求較為全面,包括但不限于編程語言、數(shù)據(jù)庫技術(shù)、平臺技術(shù)等多個(gè)方面。
而測試工程師,隨著近些年行業(yè)發(fā)展趨勢,大體又分為兩類:業(yè)務(wù)測試工程師、測試開發(fā)工程師。
總的來說,測試開發(fā)工程師、開發(fā)工程師和業(yè)務(wù)測試工程師在職責(zé)和技能要求上各有側(cè)重,但他們共同的目標(biāo)都是確保軟件產(chǎn)品能符合客戶、用戶需求,同時(shí)滿足質(zhì)量和可靠性要求。測試開發(fā)工程師更側(cè)重于開發(fā)和自動(dòng)化測試,開發(fā)工程師更側(cè)重于軟件的開發(fā)和生產(chǎn),而測試工程師則更專注于測試計(jì)劃和測試用例的設(shè)計(jì)和執(zhí)行。三者之間的協(xié)作對于軟件項(xiàng)目的成功至關(guān)重要。
這也符合Google測試之道一直強(qiáng)調(diào)的每個(gè)工程師都應(yīng)注重質(zhì)量,質(zhì)量是內(nèi)建的,而非僅僅是測試人員的責(zé)任。
在我之前出版的《自動(dòng)化測試實(shí)戰(zhàn)寶典》一書中,有提到: “一名優(yōu)秀的測試開發(fā)工程師應(yīng)該比開發(fā)更懂開發(fā),比產(chǎn)品更懂業(yè)務(wù),不然你如何發(fā)現(xiàn)開發(fā)和業(yè)務(wù)更深層次的問題呢?”
雖然這一觀點(diǎn),現(xiàn)實(shí)工作中,能達(dá)到的人并不多,但實(shí)際上它更多是對測試開發(fā)工程師角色的一個(gè)高度期望和要求。這種表述并不是字面上的絕對比較,而是強(qiáng)調(diào)測試開發(fā)工程師需要具備跨越開發(fā)和產(chǎn)品領(lǐng)域的綜合能力和視角。
這種跨領(lǐng)域的綜合能力使得測試開發(fā)工程師在發(fā)現(xiàn)開發(fā)和業(yè)務(wù)問題方面具有獨(dú)特的優(yōu)勢。他們可以通過深入了解開發(fā)過程和技術(shù)棧,發(fā)現(xiàn)開發(fā)人員可能忽略的潛在問題;同時(shí),通過深入理解業(yè)務(wù)邏輯和需求,發(fā)現(xiàn)產(chǎn)品可能存在的功能缺陷或不符合用戶期望的地方。
需要注意的是,這一觀點(diǎn)并不是要求測試開發(fā)工程師在所有方面都要超過開發(fā)或產(chǎn)品人員,而是強(qiáng)調(diào)他們需要具備一種綜合的視角和能力,以便更好地履行測試和開發(fā)工程師的職責(zé),確保軟件的質(zhì)量和可靠性。
在實(shí)際操作中,測試開發(fā)工程師可以通過與開發(fā)團(tuán)隊(duì)和產(chǎn)品團(tuán)隊(duì)緊密合作,積極參與項(xiàng)目討論和需求評審,不斷提升自己的業(yè)務(wù)和技術(shù)能力,從而更好地發(fā)現(xiàn)和解決開發(fā)和業(yè)務(wù)問題。同時(shí),他們也需要保持開放和學(xué)習(xí)的態(tài)度,不斷吸收新的知識和技術(shù),以適應(yīng)不斷變化的項(xiàng)目需求和技術(shù)環(huán)境。
質(zhì)量不是被測試出來的,質(zhì)量也不等于測試,同時(shí)質(zhì)量并非僅僅依賴于測試階段,而是需要在整個(gè)軟件開發(fā)過程中進(jìn)行預(yù)防和確保。測試只是其中的一環(huán),而不是質(zhì)量的唯一保障。
同時(shí)測試工程師是一個(gè)把質(zhì)量意識輸出到整個(gè)團(tuán)隊(duì)的人,是一個(gè)流程推動(dòng)者,是一個(gè)需求挖掘者,是一個(gè)質(zhì)量把關(guān)者,一方面需要通過自己的經(jīng)驗(yàn)和技術(shù)手段去挖掘更多的Bug,另外一方面,通過傳播質(zhì)量意識盡可能的去從產(chǎn)品上游去避免Bug。
開發(fā)測試比本身沒有實(shí)際任何意義,只是人員數(shù)量上的比率,如果在你的職位頭銜上有測試的字樣,你的任務(wù)就是怎么使得那些頭銜上沒有測試的人可以更好地去做測試。
本文鏈接:http://www.tebozhan.com/showinfo-26-79985-0.html干貨必讀: 測試開發(fā)既然都這么厲害了!為啥不直接轉(zhuǎn)業(yè)務(wù)開發(fā)?
聲明:本網(wǎng)頁內(nèi)容旨在傳播知識,若有侵權(quán)等問題請及時(shí)與本網(wǎng)聯(lián)系,我們將在第一時(shí)間刪除處理。郵件:2376512515@qq.com
上一篇: 高并發(fā)輕松應(yīng)對:.NET Core實(shí)戰(zhàn)解析異步配置提高并發(fā)響應(yīng)
下一篇: 美團(tuán)二面:如何設(shè)計(jì)一個(gè)訂單超時(shí)未支付關(guān)閉訂單的解決方案?我說使用Elastic-Job輪訓(xùn)判斷。