qileilove

          blog已經轉移至github,大家請訪問 http://qaseven.github.io/

          淺談軟件測試工程師的培訓工作

           國內軟件測試工程師的職位從無到有,經歷的時間還不足10年。成熟的軟件測試理論體系構建也僅有10余年的歷史。而縱觀現在如雨后春筍般蓬勃增長的計算機軟件企業,對優秀軟件測試工程師需求和渴望的現實,不禁讓我們不得不去思考一個問題:如何開展并做好軟件測試工程師的培訓工作

            對于軟件測試的重要性,很多人有些誤解。因為剛剛開始做軟件測試的人員往往是從黑盒測試做起,而黑盒測試不需要編程經驗,所以總是給人感覺測試人員不需要太多的知識,無論誰上了崗都能做,因此也就導致軟件企業不愿意、也認為不需要對軟件測試工程師開展培訓工作。一旦軟件產品發貨到用戶手中,發現質量低劣、效率低下、維護成本昂貴,又都毫不留情地罵測試人員無能,為什么測不出Bug(軟件缺陷)。

            中國有句老話:磨刀不誤砍柴工。看到上面這種惡果,顯而易見,現在至少我們應該達成一種共識:軟件測試工程師也需要培養,并且需要接受正規培訓。培訓什么?我想應至少從三個方面入手培訓工作。

            一、入職培訓

            軟件測試工程師初來乍到一個公司,往往興趣十足,預備全身心投入到“捉蟲”的戰斗中。但往往不得其法,事倍功半,因為抓不到蟲子,或是即使抓到了蟲子并不重要也被開發人員視而不見。設身處地的為這些雄心勃勃的測試工程師想想,他們是多么需要入職培訓。

            軟件測試工程師的入職培訓可以從三個方面來分頭進行。產品的培訓、測試技術的培訓和測試工具的培訓。軟件測試的工作對象即是企業開發的軟件產品,所以務必要對軟件產品有一個全面的了解和清醒的認識。作為一個測試管理者,應至少安排足夠的培訓時間,讓測試新手研習被測試軟件的內容。我們可以利用一切可利用的培訓資料。軟件產品本身、用戶手冊、開發組的需求規格說明書、技術文檔,包括熟悉產品的人員進行功能講解等等,用這些形式不拘一格的產品內容來迅速武裝起測試工程師的頭腦。光有這些培訓還不能罷休,要善于檢查測試工程師的學習情況,及時地向他們提問產品中那些最關鍵性的問題,如產品的核心概念、業務流程等。有培訓有檢查,通過一問一答的方式,既了解了初學者對產品的了解程度,同時也傳授了產品中的精髓,并且還能夠從初學者的疑問中抓到培訓工作中的漏洞,為今后更好地開展培訓奠定基礎。

            因為軟件測試工程師總是如人們所預料的一樣,來自于各行各業、五湖四海。有測試經驗的,無測試經驗的,統統匯集到企業中。所以必須的測試技術培訓一定是要有的。培訓內容主要以黑盒測試技術為主,一是因為黑盒測試技術是基礎,二為的是成本更為昂貴的白盒測試人員在需要的時候,也能夠出色的完成黑盒測試的任務。黑盒測試常用的測試方法、測試用例的設計、黑盒測試常見的測試類型、不同測試類型各自關注的主要問題等等,在入職培訓中都應有所全面接觸。同樣,方法的學習離不開實踐的過程。可以找一些具有普遍性的功能點,由測試人員嘗試設計測試用例。只有通過由易到難,由簡單到復雜,不斷反復的練習,才能慢慢建立起測試人員的測試概念、設計方法、捉蟲的敏感度,并且保證他們不會走不必要的彎路。

            在入職培訓中,測試工具的培訓已經逐漸提到議事日程上來。隨著軟件規模和復雜度的提高,純粹意義上的人工測試已經不能滿足軟件測試各個方面的要求,因此對于測試工具的使用需求應運而生。為了使大家盡早成為會使用工具的高端測試人員,所以在入職培訓中也應重視測試工具的培訓。LoadRunner、WinRunner、TestDirector,這些常用的測試工具是需要讓測試工程師盡早掌握的。網絡上匯集了這些工具的大量資料,只是看我們如何自己整合打包形成適合自身需要的培訓資料。

            二、在職培訓

            入職培訓不過是軟件測試領域的一塊敲門磚,能夠帶領初學者盡早領悟到測試工作中最精華的那部分內容。要想真正培養出一位合格的軟件測試工程師,只靠入職培訓顯然是遠遠不夠的。幾年前曾聽一位資深軟件開發工程師提到過InJobTraining的概念。意思是說,作為工程師自己要注重工作過程中的自我培訓,作為管理者更需加強在工作進程中對員工的知識灌輸和能力培養。

            InJobTraining可以是正式培訓,也可以是非正式培訓。按照以往經驗,一對一式的非正規培訓,其培訓效果更容易得到保證。每經歷一個產品或是項目的測試,都將是一次在職培訓的極好機會。從跟隨開發組開發用戶需求開始,到協助開發組并審核開發組的功能設計,而后是測試工程師獨立的完成測試設計工作,到最后的測試執行,測試管理者始終需要指導和帶領測試工程師,教會他們在軟件開發全生命周期的各個階段,軟件測試的工作目標、工作內容和結果物是什么。那些在入職培訓中剛剛建立起的一點點測試概念和技術理論,需要在實際工作中得到最大化的嘗試和實踐。在在職培訓過程中,測試管理者務必要花費較大的力氣去審核測試工程師的各項工作,就如同在軟件產品中捉蟲一樣,需要盡早發現每位測試工程師的工作漏洞、工作缺陷和改進的重點方向。不能以為通過入職培訓,測試工程師就真的什么都已經學會了。不要忘記軟件測試工作也是技術性很強的工作,和功能設計、代碼開發一樣,需要反復的實踐,找出其中的不足,不斷的加以改進,工作技能才能得到穩步的提高。

            現在企業中定義軟件測試工作范疇,恐怕大多數情況已經不再單純是測試執行本身了。所以一批批軟件測試工程師入職企業后,企業應該按照各位工程師不同的特點和特長,在在職培訓過程中,為其選擇重點進行培訓,也就是進一步加強在職培訓的趨向性。比如說,有人可能擅長完成較大規模功能的測試設計工作,那就重點培養其測試設計的能力;有人可能擅長利用測試工具開發測試案例,那就重點培養其測試工具開發的能力;有人可能具有極強的耐心、探究精神和懷疑的態度,那就重點培養其測試執行的能力;還有人可能具有一兩年、兩三年的開發經驗,那就重點培養其白盒測試的能力。總之,在職培訓過程中,應當依照測試工程師不同的工作經驗和技術背景,為其正確選擇重點培養方向。如果面面俱到,很有可能發生投入大產出小的低價結果,而且會挫傷測試工程師的積極性,同時也會影響到測試管理者對測試工程師的客觀評價。更何況作為測試管理者,也不可能有足夠的時間和精力,逐個培養每位測試工程師的每項能力。所以基于這點考慮,在職培訓中加強目的性、重點性,明確培訓的方向和目標就顯得尤為重要了。

           三、軟件測試工程師的職業生涯發展規劃

            相信經過正規的入職培訓和有的放矢的在職培訓之后,我們的測試工程師在一兩年時間里都應該能夠有一個長足的進步了。但此時新的問題發生了。做了幾年的軟件測試之后,我的發展前途在哪里?好像我該學的我能學的都已經學會了。這時候,一系列的危險信號會陸續出現在測試工程師的身上。敷衍了事,吃老本,另謀職位找工作。哎,測試管理者發出一聲嘆息:仿佛曾經的培訓投入都將付之東流了。要想遏制這種不良事態的發展,我們有一解:做好軟件測試工程師的職業生涯發展規劃。

            勿庸置疑,誰都不想一輩子只做一個測試工程師。更何況按照自然規律,做了兩三年測試工程師之后,一定有更好的發展前景等待測試工程師們去開拓。高級測試工程師、測試經理、測試主管;軟件品質保證工程師、高級品質保證工程師、品質保證經理、品質保證主管、品質保證總監,幾個職業發展序列都可以由測試工程師去自由選擇,而從一位普通的測試工程師發展成為品質保證總監,沒有十年八年的技術積累和經驗沉淀,也是很難實現的。

            選擇適合于測試工程師自身條件的目標,并為其明確目標,并在目標基礎上為其設計呈階梯狀的職業發展規劃,也是測試管理者對測試工程師實施培訓工作的重要組成部分。

            現代軟件企業一般都已有一套科學合理的職位序列,并每年在固定時間內為每位員工評定企業內部的職位。在此期間,測試管理者應在充分了解和掌握測試工程師實際工作水平和當年業績的情況下,評定出最新的職位水平。更為重要的是,要在此時為測試工程師仔細設計和規劃下一年度的職業發展方向。是向高級測試工程師序列發展,還是向測試經理序列發展,還是向品質保證工程師序列發展,要定義好明確的方向。一是為了便于測試工程師了解自己當前的工作狀態,以及與今后的發展目標存在的差距;二是為了加強測試工程師的工作熱情和動力,讓他們體會到企業的發展要依賴于他們個人的發展;三是為了企業能夠明確自身人才結構和知識結構的現狀,揚長避短,為今后不斷發展壯大企業,積累自身實力并增強信心。

            在設計軟件測試工程師的職業生涯發展規劃時,往往會陷入到一個兩難的境地:一個工作出色的測試工程師,今后是往測試經理方向發展,還是向高級測試工程師方向發展。

            從人們的傳統意識上來講,總是覺得當了測試經理好像就有了一官半職,遠遠要比高級測試工程師顯得高貴得多。所以形成了千軍萬馬想過測試經理獨木橋的現象。如何決策,一句話,要以人為本,從測試工程師的自身條件出發。很顯然,高級測試工程師主打自身的技術優勢,只要保持技術優勢就行了。而測試經理需要從無到有大量累積管理的能力和經驗。最起碼要具備經營能力、成本控制能力、工作統籌安排能力、人員管理能力、溝通協調能力等等。也就是說,如果選擇了測試經理的發展方向,則無疑要付出更多的艱辛和努力,方可達到職位目標的要求。所以測試管理者在為測試工程師設計職業發展規劃時,務必要冷靜頭腦、全面分析,不應也不能轟轟烈烈的一擁而上,讓技術型人員去做管理工作,而擅長管理工作的人員就只在技術單方面謀求發展。

            設計職業生涯發展規劃的過程,嚴格意義上應該屬于年度培訓工作的開端工作,制定既定目標的工作。所謂萬事開頭難,為了一年甚至更長時間的軟件測試工作卓有成效,測試管理者在開展好職業生涯設計工作的同時,務必要與每位測試工程師做好充分的溝通,達成雙方的理解和共識,保證大家一條心,勁往一處使。在此測試管理者還可以借助外部的力量來完成溝通工作。如利用企業的人力資源部門、技術委員會的資源和力量,群策群力,優勢互補,減少設計工作中的偏差,積累設計工作的經驗和技巧。

            以上只是憑借實際的一些工作經驗,總結出來的有關軟件測試工程師培訓工作的一些心得。潦草幾筆,不成體系,歡迎大家批評指正。

            看看現在軟件企業的發展前景,以及對測試人員、測試環境、測試工具的需求增長,我們真的要腳踏實地的做好軟件測試工程師的培訓工作了,抓好軟件企業的第一生產力,憑借人的智慧和才干,提高我國軟件企業的核心競爭力。

          版權聲明:本文出自 zhong51test 的51Testing軟件測試博客:http://www.51testing.com/?215623

          原創作品,轉載時請務必以超鏈接形式標明本文原始出處、作者信息和本聲明,否則將追究法律責任。

          posted on 2013-04-18 10:13 順其自然EVO 閱讀(264) 評論(0)  編輯  收藏


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          <2013年4月>
          31123456
          78910111213
          14151617181920
          21222324252627
          2829301234
          567891011

          導航

          統計

          常用鏈接

          留言簿(55)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          搜索

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 新建县| 康马县| 黎川县| 镶黄旗| 武威市| 龙川县| 宜城市| 长汀县| 西藏| 青阳县| 金平| 巴马| 张家港市| 汶川县| 黔西| 叶城县| 阿拉善右旗| 平果县| 龙门县| 永年县| 清涧县| 榆林市| 富民县| 兴国县| 行唐县| 贡觉县| 修武县| 濉溪县| 科技| 罗平县| 安徽省| 新龙县| 云霄县| 达孜县| 安平县| 清丰县| 炎陵县| 兴城市| 辉县市| 天等县| 丽江市|