測試進階之一個測試的心聲吐露,IT運維測試的小哥們聽到了嗎?

測試進階之一個測試的心聲吐露,IT運維測試的小哥們聽到了嗎?

小熊進階之一個測試的心聲吐露,IT運維測試的小哥們聽到了嗎?

測試進階之一個測試的心聲吐露,IT運維測試的小哥們聽到了嗎?

小熊進階之一個測試的心聲吐露,IT運維測試的小哥們聽到了嗎?

本人大學計算機相關專業,在工業自動化公司實習半年,機緣巧合下,讀了軟體測試培訓並順利進入到軟體測試行業中。在一家小公司廝混了1年後,有幸進入一家外資電子商務企業,在這家公司3年的時間也是我相對測試能力增長最快的3年,公司研發流程規範,並且又很注重人員技術能力的培養。作為SCAMPI親身參與cmmi5級的評級,進入後端的backend組後,全面進行白盒測試的相關工作(你沒看錯,公司是要求測試人員來主導單元測試的);第三家公司是一家赴美上市的網際網路企業,我也第一次作為測試主管帶團隊進行專案的測試工作,工作內容偏後端底層,所以和資料庫、介面及資料統計接觸較多,也是我自己管理上有很大提升的地方。第四家算是網際網路線上教育類的公司,在這家公司裡不再進行測試執行的工作,作為品質保證部總負責人,組建公司的QA/QC團隊,制定研發流程規範,定義公司級各類產品上線準出標準。4年的時間,對質量管理和部門建設有了全面的認識和實踐,從階段工作跳出,對專案總體把控有了全新的認識,也是在這4年中,漸漸從處事到處人。回省自己所從事的測試工作,也算是有了一個整體的認識。

幹測試那麼久了,都熬出了10天年假,相信很多測試從業人員在工作3到4年後快速成長期結束,都會或多或少的開始關注自己的職業發展道路了。提及國內測試人員的總體近況和現狀,相信有很多測試人員都會有很多的抱怨,測試不受重視、工作規範的問題、歸屬感榮譽感、在專案中的定義定位問題等等。甚至有人會提出,測試人員在專案中是不需要的,直接影響自己所從事工種的存在問題,怎能不讓作為測試從業者著急;那我們就來說一下是不是測試已經不再被需要了這個話題

測試進階之一個測試的心聲吐露,IT運維測試的小哥們聽到了嗎?

小熊進階之一個測試的心聲吐露,IT運維測試的小哥們聽到了嗎?

隨著現在網際網路的發展,越來越多的軟體產品以短平快的生產方式出現在我們的眼前,特別是敏捷開發的流行,傳統測試的存在感或重要性給我們的感覺是越來越小了。對於我來說,我的觀點是,測試工作當然是被需要的,軟體測試是軟體產品繞不開的一個環節。那些說不需要測試的專案並不是真的不需要進行測試,而是測試工作被其他人完成了,測試工作是一直都被需要著的;所以我們的命題應該變成了專職測試是不是被需要?

在回答這個話題前,我們來看一下,專職測試被有些人覺得沒必要存在的主要幾個原因:

1。 專職測試本來並不是產出者,本身不能產生任何效益

2。 專職測試只是產品質量的把控者,本身並不能提高軟體產品的質量,產品質量的改善仍需要研發人員去實施

3。 一般的專職測試人員國內來說,相較與其他工種替代性較強,技術門檻相對較低,替換成本不高

基本上上述這些原因導致了我們普遍認為,專職測試人員是可以被替代的或者以其他方式補充的情況下,不需要專職的測試人員。雖然不願意承認,但在一些特殊情況下,或特別專案中,專職測試人員是可以不需要的。但就我看來,如果對軟體產品質量有所要求的話,專職測試人員(或主要以測試為主的工作者)是必須的。

要把這個問題分析清楚,我們一步步推論來看;首先我們需要明確的是,一般一個軟體產品注重產品的體驗,具有迭代延續性的屬性,那測試工作必不可少;那麼測試工作不管是否由專職的測試人員來進行,它本身是不可缺少的,那麼問題就變成了專職測試人員是否可被替代?比如我們現在常見的模式,由開發人員自己來進行測試,或者在XP(極限程式設計)的模式下,由開發人員結對互為測試,以補償測試中的一個邏輯悖論:自己無法測試出自己程式碼中的bug。(就專案各階段工作來看,最有效替代測試人員工作無論從成本還是效率上來說,開發人員是最合適的)我們先撇開這種模式下開發人員的素質問題不談,我依然認為一個素質再高的開發人員無法替代一個優秀的測試人員。並不是因為覺得測試人員比開發人員優秀,而是這兩個職能工種工作屬性帶到骨子裡的基因決定了測試人員的工作開發人員無法完全替代。因為從工作邏輯上來說,這兩種人的工作方式本身就是相違背的,開發人員的工作方式是如何把功能實現出來,把問題解決,關注的是任務的達成以及產品本身的可靠性。而測試人員相反,一個優秀的測試人員一直帶著懷疑的角度來進行工作,他們總是設法證明程式是不可靠的。具體到工作處理上,開發人員是化繁為簡,把複雜的使用者需求劃分成多個小的操作方式進行解決並從程式碼層面進行實現;而測試人員的工作處理上帶有破壞性,針對簡單的功能設計出複雜的場景以來測試bug,這種工作方式往往在設計用例時是要跳出程式設計思路找到產品不在設計內的入口或邏輯漏洞,這和開發的工作思路完全是不一樣的。在日常工作中至少我很少發現同時具備這兩種工作屬性在一個人的身體出現,並且還能在工作中不停的切換(人格分裂?)。說一個具體的事例吧,以前我帶的測試團隊在做整合自動化部署時讓一個自動化測試工程師和對應的專案開發中版本控制的人對接,一起開發專案的自動提包部署釋出的工具包,兩個工作之初,我看了一下他們分工合寫的程式碼,開發人員最先定義的是主函式及獲取版本庫程式碼、編譯打包、分佈部署等主體功能的類和方法;而我們的測試人員呢,最先定義的竟然是版本庫檢查、程式碼回滾、部署非法檢查等相關類和方法。從這點上,相信大家應該理解了,開發和測試從本質上來說,就是兩種不同的生物。

測試進階之一個測試的心聲吐露,IT運維測試的小哥們聽到了嗎?

小熊進階之一個測試的心聲吐露,IT運維測試的小哥們聽到了嗎?

如果按上述說法,專職的測試人員的功用是其他一些人員所無法取代的,那麼最後一個疑問,現在的軟體是否需要專職測試人員所具有的功用,或者這樣說,現在的軟體產品是否需要較高的質量要求(專職測試人員進行測試)要對質量投入專職測試的人員成本。前面我們也提到,敏捷開發流行後,現在的軟體產品迭代週期越來越快,這和整個行業發展越來越急功近利越來越浮躁有關,但不能否認的是,一個產品如果在半年或更短的時間裡不能在市場上得到認可,那整個產品的生命週期將直接走到盡頭。這樣的現狀,不得不讓管理者評估產品的質量時間和資源成本的投入,生存問題永遠是第一要考慮的。但我們也可以發現,一個優秀的產品,或在市場上已經被認可的產品,幾乎找不到一個不重視質量的。當產品過了野蠻成長期後,有了自己的市場定位和客戶群體後成為一個成熟的產品線,質量問題永遠是你繞不開的問題;快速迭代以儘快適應使用者需求的前提永遠不可能是犧牲使用者體驗為代價的。於是如果產品能生存下去,迭代的增加帶來的系統耦合性越來越高,使用者對於質量要求和產品的認可度的趨同,是否需要專業的測試人員將是個不用回答的問題,質量越好的產品線,越需要專職的測試人員。如果拋開產品發展不說,在快節奏的軟體產品研發模式下,測試人員也可以透過改變工作方式來找到自己的新定位,測試置於軟體過程中這樣一個最瞭解產品的人,其實有很多可以開拓的空間,在一個敏捷研發團隊中,跨界工作可能是一種常態,開發做著測試工作,產品經理可能不是最終的客戶代表,TDD的工作方式下設計文件由測試人員來提供。當所有人都以全棧工程師的身份出現在這個團隊裡,測試人員又何必只關注著自己的一畝三分地呢;在這樣的團隊中,我們討論的話題可能不再是哪個工種是不可或缺的,而是哪個人是不可或缺的,一個在測試領域裡的專家般的全棧工程師,在哪個團隊中永遠都將是受歡迎的工作夥伴。

測試進階之一個測試的心聲吐露,IT運維測試的小哥們聽到了嗎?

小熊進階之一個測試的心聲吐露,IT運維測試的小哥們聽到了嗎?

歡迎大家在下方積極吐槽,小編會一一進行檢視並回復,期待你的答案哦……

如果喜歡請轉發,小小支援一下。