如何學習軟件測試?How to study software testing?

        北京博測科技(www.beyondtest.com)旗下----------徐老師的博客

    在多年的軟件職業測試培訓中,我感到有很多學員都比較茫然。一個是不知道軟件測試到底是做什麼的,二是不知道學完後的職業發展方向。

 

    軟件測試的發展,是伴隨着軟件開發技術的進步,以及軟件質量管理觀念的形成。現代軟件企業,軟件開發技術從傳統的字符界面發展到圖形界面,從面向過程思想過渡到面向對象開發思想,歷經了近70年的時間。在漫長的軟件開發與使用當中,人們發現軟件裏面有很多的問題或缺陷,而要完全解決軟件中的問題真是難上加難。這樣在軟件開發團隊裏就有一部分人開始進行編碼的錯誤檢查,這是早期的軟件測試人員,但他們的職責卻是軟件開發。通過人工或自動的做法,找出源代碼中的問題,按目前的講法叫做軟件自動缺陷預防AEPAutomated Error Prevention)。

    軟件的廣泛應用,使得人們對軟件質量的要求就越來越高。就像微軟公司的Windows產品,從1.0版本到目前的Win 7,每個版本用了不到18個月就被衆多的客戶投訴,有無數個缺陷與漏洞。微軟公司爲此而蒙受的損失是巨大的。當質量管理的理念引入到軟件企業的時候,人們才發現必須有一種找出問題的手段或方法,才能在最大程度上降低軟件產品的問題或缺陷,獲得客戶的高度認同。

軟件測試是從軟件質量保證過渡而來,軟件測試的職位從傳統的白盒測試逐漸演變到黑盒測試,從單一的測試崗位發展到衆多的測試崗位,如:WEB測試、數據庫測試、安全測試、手機測試。

 

軟件測試行業的職業發展路線按現在的現狀,走四條路線:

第一條:軟件測試技術路線

從初級測試工程師到中級測試工程師、高級測試工程師、資深測試工程師

第二條:軟件測試管理路線

初級測試工程師、測試組長、測試經理、項目經理、項目總監

第三條:軟件質量保證路線

初級測試工程師、質量保證人員、質量管理人員

第四條:軟件開發技術路線

    初級測試工程師、中級測試工程師、高級測試開發工程師

 

    現在談談怎麼學習軟件測試技術。軟件測試實際上是一種邏輯思維的方法或手段,因爲事物總是一分爲二的,這是自然規律,也是科學依據。軟件產品的功能可以實現,就有可能有些功能實現不了或實現不全面,或沒有滿足客戶的需要。軟件測試人員往往關注的是軟件產品的缺陷,他們拿着大號的放大鏡在軟件裏面找問題,很像治病救人的醫生。

 

 

軟件測試人員就像萬金油,需要各種軟件開發技術、測試技術、質量管理、數據庫、計算機網絡都需要懂一些,最好精通一門或多門。軟件產品開發的語言和工具很多,不能面面俱到,所以要學會程序設計語言的精髓,像C++/C#/JAVA,其實程序設計語言的基本結構是一樣的。數據庫有MS SQL ServerOracleMySQL;計算機網絡的協議和組建也是必須的,網絡社會的到來要求軟件從業人員必須具備網絡知識,因爲所有的軟件產品都趨向於網絡環境了。

對於軟件測試技術的掌握,一是重點概念,現在有很多同學說概念或理論自己看書就能解決,主要是沒有實際工作經驗,其實老師在講解概念或理論的同時,也在不斷灌輸軟件測試的實質,沒有理論上的掌握,你就無法理解一個軟件產品怎麼測試,爲什麼這麼測試,怎麼去考慮測試的方法或策略,軟件測試術語是怎麼引申來的,其實都在啓發你的邏輯思維能力;也在不斷的講授和上機練習中體驗軟件測試的流程,軟件測試的過程,由無形到有形,從無序的知識點到有序的系統的知識體系。很多東西是要由講師潛移默化把他的經驗傳遞給學生。如果都是自己看書能看明白的,培訓也就沒有存在的必要了;二是要有統籌兼顧,全盤考慮的思想,做測試工作不是一個孤立、片面的工作,很多同學都曾說過以前的學哥學姐都傳授過經驗,測試就那麼回事,等到了工作單位,每天就那點活,老是機械式的重複,這些都是我們沒有看到或沒有意識到的,目前的軟件開發與軟件測試已不再是小作坊式的規模了,它需要大量的人力來協同工作,每個人的工作都是必不可少的一部分,所以需要在全局上把握,從宏觀上考慮,這就是軟件測試策略的由來,但是具體測試工作還是微觀上的,還需要掌握軟件測試的各種方法,另外還要站在項目管理的層面上,從時間上、成本上、效率上、人員分工上、測試團隊的能力上、風險上等諸多方面來統籌考慮,要做到從事軟件測試工作要從宏觀到微觀、從全面到局部去認識,不能再盲人摸象或者摸石頭過河,要從認識論昇華到方法論上;三是要多上機實踐,多思考,會思考,找出疑難與不解,要從軟件測試實踐中總結出測試理論,再用測試理論去指導實踐,這是個循環往復的過程,只有當你的認識達到一定的高度,你就深刻理解了什麼是軟件測試,你纔會發現原來軟件測試是那麼的有意思、那麼有動力、那麼具有挑戰性,以後還有很多未知的迷團需要你去破解,還有更多的知識需要你去掌握。軟件測試技術到目前爲止,還是一門新興學科,還沒有形成固定的理論體系,還需要很多人的努力,最終將這門藝術變成一種科學。

 

現在,參加軟件測試工程師職業培訓的同學有幾個誤區:

一、交錢買工作

如果抱着交錢就能買到工作的話,我建議你趁早拿着你的學費回家玩去。如果沒有一種正確的就業觀念的話,如果沒有抱着刻苦學習和鑽研的勁頭的話,你還是找不到工作,錢不是萬能的。

二、測試工程師入職門檻低

現在的軟件測試崗位,對人才的需求很旺盛,很多人就誤認爲入職門檻低。但是很多企業人力資源專員也老說沒有軟件測試人才,老說找不到人,其實真正企業需要的人,適合企業的人卻是很少。軟件測試崗位對一個從業人員的綜合素質的要求是很高的,不僅要有高的素質,還要有過硬的專業技術和良好的邏輯思維能力。

三、測試只是個工作而已

        如果只把軟件測試當作一種用以謀生的工作的話,你從事這份工作無論多長時間,你永遠都是最初級的測試人員,永遠無法走到你事業的頂峯。要把軟件測試當作你畢生的事業的話,你就會學無止境,你就會在軟件測試中找到人生的樂趣。

 

相信聰明的同學們都能明白一個道理:如果成功爲一百分的話,那麼99分的汗水加上1分的堅持,你就會成爲有用的人才。

 

成功=99%汗水+1%堅持!

 

成功的道路上沒有捷徑!

發佈了78 篇原創文章 · 獲贊 10 · 訪問量 20萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章