大概在五年前,我寫了一篇部落格,題目叫《軟體測試員----你的路在這裡!》,大概論述了軟體測試人員發展的幾個方向。
如果你不想轉開發,轉管理,轉產品,或自己創業買煎餅果子的話。那麼說明你是對測試是真愛。測試需要掌握的測試技術太寬泛了,所以,我們必須要選擇乙個方向。五年過去了,我想再試著寫寫對這幾個方向的認識。
自動化測試有廣義和狹義之分,廣義上一切使用工具或**來代替手工測試都可以認為是自動化測試;不過,在測試圈中,我們一般狹義的來理解自動化測試,基於ui層的自動化測試技術。
如果想做好自動化測試,我覺得測試人員應該達到一般開發人員的水平。如果是名普通的web開發人員,想做好本職工作需要掌握一門程式語言 + web框架 + 資料庫;如果一名普通web自動化測試人員,想做好本職工作需要掌握一門程式語言 + 單元測試框架 + selenium(注 :selenium已經成為了做web自動化的不二之選了)。web開發人員想進一步提公升,可能需要學習**重構,設計模式,sql設計與優化。web自動化測試人員想進一步提公升,也需要學習**重構,設計模式,基於selenium的二次封裝等。
所以,在我看來一名合格的web自動化測試基本上等同一名web開發人員的水平。只不過,後者寫的是功能**,前者寫的自動化測試**。
除此之外,還有介面自動化、移動自動化等,基本上也等同相關開發人員的水平。
效能測試,相信每個測試人員都或多或少的接觸過效能測試。表面上看,它的入門非常簡單,主流的loadrunner和jmeter都提供了錄製指令碼的功能,錄製--> 設定虛擬使用者數 --> 執行,然後乙個效能測試就完成了。筆者的首份測試工作的第二任務也完成乙個效能需求;當時磕磕絆絆的花了三四天時間搞定,效能測試報告也做的有模有樣。
但如果想做好效能測試,我覺得測試人員應該達到一般架構師的水平,至少比一般的開發人員更了解系統的整體架構。
當然,這個架構也分兩說,對於一般的專案,市場上都有成熟的方案,比如lamp,再加上nginx和redis,也有很多成熟web框架,所以,開發人員只需要根據業務需求把功能實現了就好,除非是特別新的開發新手,犯一些低階的錯誤導致效能問題,一般的效能就是驗證當前系統的能力,增加伺服器也是最便捷的手段。
另一類就是對系統的效能有極高的要求,比如**交易系統,銀行系統,網上購票系統這些,這些一般用的架構和方案就不是我們常見的了。那麼,對效能測試人員的要求也非常高。聽一朋友說,效能測試環境與線上正式環境是一模一樣的配置,單這一點,一般的小公司也玩不起。
所以,想成為乙個牛x的效能測試人員,朝著的架構師的方向努力吧!最好能到億級使用者、百萬併發的專案和團隊中磨練。
關於安全測試,我知道很少,只能簡單的談談。安全測試是主流中的非主流,「主流」指的是它是測試技術的乙個主流方向,「非主流」是指在我看來,對這個技術的研究和學習沒有什麼固定的章法,想要有所成就需要一些天資和悟性。
最近這家公司前後接觸到兩位安全測試工程師,人家基本不用工具的好麼!前者給我們演示用sql注入去拿到乙個**的後台管理員密碼,還是覺得很酷的,對了,他的python語言也用的66的。後者告訴我主要的安全手段就是**審查;你要對專案所使用的程式語言和框架裡面的某些方法/函式非常熟悉,知道某些方法/函式在怎樣使用時會存在安全隱患,單這一點我也覺得很難,這個方法我會用,我怎麼知道在什麼情況下引發漏洞?除非我遇到過。
(題外話,我跟這兩位安全工程師關係都挺好,前者一直是飯友,常常中午一起吃飯;後者旅遊時常住乙個房間,兩人能**人生到很晚,可惜未得他們身上學到半點皮毛,遺憾!)
白盒測試給測試人員去做,有利有弊,整體來說,我不太贊同由測試人員完成。
白盒測試的主要工具就是單元測試框架了,這個真沒啥難的,如果你一點程式設計基礎,我可以乙個小時把你教會。
測試人員做白盒的優勢就是具備測試思維,在設計測試用例時考慮更加全面;但難點也很明顯,和開發一樣熟悉被測**,這一點有難度,我在做介面測試的時候,曾花好幾個小時去理解開發寫的乙個介面的邏輯,明顯覺得自己智商有點不夠用。而且,你可能需要同時熟悉2~3位開發人員的**。
開發人員去寫單元測試,拋除「盲目自信」「沒時間」「懶」等因素之外,優勢非常明顯,沒有誰比自己更熟悉自己寫的**了,他們只需要掌握單元測試框架的用法和一些常用的測試方法,就可以很快的把單元測試寫完並全部執行通過,而且發現bug之後,修改起來也非常快速。
所以,我覺得我們更應該教開發人員寫單元測試,而不是幫他們去寫。
----------華麗的分割線----------
談軟體測試人員的發展方向
如果你不想轉開發,轉管理,轉產品,或自己創業買煎餅果子的話。那麼說明你是對測試是真愛。測試需要掌握的測試技術太寬泛了,所以,我們必須要選擇乙個方向。五年過去了,我想再試著寫寫對這幾個方向的認識。自動化測試 自動化測試有廣義和狹義之分,廣義上一切使用工具或 來代替手工測試都可以認為是自動化測試 不過,...
軟體測試發展方向
檢視 127 評分 1 0 從 測試工程師的職業發展來看這個問題。一般來講,測試工程師的發展方向無外乎以下幾個方面,而每個方向的要求是不一樣的,談論測試人員的技術要求,我們也需要根據個人的職業規劃和公司的發展來看這個問題。級測試工程師 剛入門擁有電腦科學學位的個人或具有一些手工測試經驗的個人。開發測...
再談效能測試的發展方向
測試的發展方向是什麼?效能對系統的架構和系統的選型起到多少的關鍵性 我當時隨性而發,也沒做過多的思考,大致寫了三個看法 今天回想起來,覺得對這個話題還是需要補充一些。我從06年開始從事效能工程的工作,當時公司也沒有專門從事效能工作的團隊,所以我們團隊成立之初叫pel performance engi...