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