不懂業務基礎,做手動測試就是瞎做。自動化測試也是如此。
隨著測試在軟件開發周期中越來越受到重視,BAT大部分開始取消了測試工程師職位,全部變成了測試開發職位。需要在具有測試能力的基礎上兼備開發能力;另一方面自動化測試成為趨勢,利用開發的技巧解決測試中的問題以提高測試效率,降低QA與RD的人力比。
潛意識里面測試的技術含量沒有開發高。客觀地說,在軟件編碼方面測試開發的技術含量確實不如純正的開發職位,更不用說測試職位了。如果希望在測試的職業生涯上有所發展的人,先參與幾年的研發工作,畢竟那才是軟件工程中的主體,然后在開發過程中培養測試意識,這也是程序員的職業素養。現在許多測試理論,無論白盒測試還是黑盒測試,無論單元測試、集成測試還是系統測試,大部分的方法論都是開發人員提出來的。再一次證明,不參與軟件主體的研發工作是不可能深入理解測試的。
測試開發工程在公司一般有兩種,一種是單純為測試團隊開發測試工具或者系統。另一種就是在測試過程中發揮主觀能動,利用自動化把重復勞動降至最低,比如開發適用于特定場景的測試工具、測試腳本和測試用例。
測試可以涵蓋的方面很多,但人的精力畢竟有限,測試開發工程師也必須擁有自己的核心競爭力,選定一個方向是個不錯的做法,致力成為某方面的專家,比如單元測試(不要認為是開發人員做的,很多開發人員沒有單測意識和技巧)、性能測試、安全測試。
測試開發工程師需要培養自己的大局觀,這個是在職業過程中有意培養的,公司現階段的任務是什么?側重點是什么?在大公司需要順勢而為,QA的本職工作是保證質量,需要借助與流程、工具和其他外部資源,所以在工作的時候盡量與大方向契合。比如公司去年是QA內部水平提高的一年,需要QA具備單元測試、Code Review方面的能力,今年是保證質量的前提下,提高軟件發布周期,主推持續集成。
2V(Validation和Verification)是QA的基本職責,即保證兩點:Validation,軟件按照既定的需求開發,沒有偏離產品方向;Verification,軟件在滿足需求的基礎上保證其正確性,從功能、性能、安全等各個方面驗證。
軟件背后是人,是PM制定的需求,是RD進行開發的, 那測試背后實際上測的是人而不是軟件。人總是可能存在思維漏洞的,人總是可能犯錯誤的,所以永遠會有bug,但有些人心細,有些人負責,自己開發完后會自己進行單測、功能測試,以致后續能發現他的bug已經很少了。
無論在大公司還是小公司,大家都有壓力,都要發展,心態就很重要了,以創業者而不是打工者的心態來工作看待很多問題就截然不同了。
自動化測試的技能塔:
核心驅動是創新意識
平臺架構能力是調試能力,框架設計能力和設計模式
再下一層是代碼,數據結構和算法基礎
再下一層是測試能力,設計,執行,流程和業務
最底下一層是細心,責任心,溝通和學習能力
學過的東西或解決過的問題,要善于經常性地把它總結和記錄下來,否則時間久了就忘了。
高質量的自動化測試腳本所必備的能力。
良好的代碼功底、數據結構和算法,可以開發出高質量的自動化腳本,這會極大地減少后期自動化腳本的維護成本。
應屆工作3年:打測試基礎,學腳本編程
換1份工作堅持2年:中級升級到高級的關鍵時期
再換1份工作堅持3年:解決更難問題
再換1份工作堅持3年:深入鉆研技術
也就是10年磨一劍,養成一個牛X的測試開發工程師。
-
工程師
+關注
關注
59文章
1569瀏覽量
68510
發布評論請先 登錄
相關推薦
評論