中國有句老話:磨刀不誤砍柴工。看到上面這種惡果,顯而易見,現在至少我們應該達成一種共識:軟體測試工程師也需要培養,并且需要接受正規教育訓練。教育訓練什麼?我想應至少從三個方面入手教育訓練工作。
一、入職教育訓練
軟體測試工程師初來乍到一個公司,往往興趣十足,預備全身心投入到“捉蟲”的戰鬥中。但往往不得其法,事倍功半,因為抓不到蟲子,或是即使抓到了蟲子并不重要也被開發人員視而不見。設身處地的為這些雄心勃勃的測試工程師想想,他們是多麼需要入職教育訓練。
二、在職教育訓練
injobtraining可以是正式教育訓練,也可以是非正式教育訓練。按照以往經驗,一對一式的非正規教育訓練,其教育訓練效果更容易得到保證。每經曆一個産品或是項目的測試,都将是一次在職教育訓練的極好機會。從跟随開發組開發使用者需求開始,到協助開發組并稽核開發組的功能設計,而後是測試工程師獨立的完成測試設計工作,到最後的測試執行,測試管理者始終需要指導和帶領測試工程師,教會他們在軟體開發全生命周期的各個階段,軟體測試的工作目标、工作内容和結果物是什麼。那些在入職教育訓練中剛剛建立起的一點點測試概念和技術理論,需要在實際工作中得到最大化的嘗試和實踐。在在職教育訓練過程中,測試管理者務必要花費較大的力氣去稽核測試工程師的各項工作,就如同在軟體産品中捉蟲一樣,需要盡早發現每位測試工程師的工作漏洞、工作缺陷和改進的重點方向。不能以為通過入職教育訓練,測試工程師就真的什麼都已經學會了。不要忘記軟體測試工作也是技術性很強的工作,和功能設計、代碼開發一樣,需要反複的實踐,找出其中的不足,不斷的加以改進,工作技能才能得到穩步的提高。
現在企業中定義軟體測試工作範疇,恐怕大多數情況已經不再單純是測試執行本身了。是以一批批軟體測試工程師入職企業後,企業應該按照各位工程師不同的特點和特長,在在職教育訓練過程中,為其選擇重點進行教育訓練,也就是進一步加強在職教育訓練的趨向性。比如說,有人可能擅長完成較大規模功能的測試設計工作,那就重點培養其測試設計的能力;有人可能擅長利用測試工具開發測試案例,那就重點培養其測試工具開發的能力;有人可能具有極強的耐心、探究精神和懷疑的态度,那就重點培養其測試執行的能力;還有人可能具有一兩年、兩三年的開發經驗,那就重點培養其白盒測試的能力。總之,在職教育訓練過程中,應當依照測試工程師不同的工作經驗和技術背景,為其正确選擇重點培養方向。如果面面俱到,很有可能發生投入大産出小的低價結果,而且會挫傷測試工程師的積極性,同時也會影響到測試管理者對測試工程師的客觀評價。更何況作為測試管理者,也不可能有足夠的時間和精力,逐個培養每位測試工程師的每項能力。是以基于這點考慮,在職教育訓練中加強目的性、重點性,明确教育訓練的方向和目标就顯得尤為重要了。
三、軟體測試工程師的職業生涯發展規劃
相信經過正規的入職教育訓練和有的放矢的在職教育訓練之後,我們的測試工程師在一兩年時間裡都應該能夠有一個長足的進步了。但此時新的問題發生了。做了幾年的軟體測試之後,我的發展前途在哪裡?好像我該學的我能學的都已經學會了。這時候,一系列的危險信号會陸續出現在測試工程師的身上。敷衍了事,吃老本,另謀職位找工作。哎,測試管理者發出一聲歎息:仿佛曾經的教育訓練投入都将付之東流了。要想遏制這種不良事态的發展,我們有一解:做好軟體測試工程師的職業生涯發展規劃。
勿庸置疑,誰都不想一輩子隻做一個測試工程師。更何況按照自然規律,做了兩三年測試工程師之後,一定有更好的發展前景等待測試工程師們去開拓。進階測試工程師、測試經理、測試主管;軟體品質保證工程師、進階品質保證工程師、品質保證經理、品質保證主管、品質保證總監,幾個職業發展序列都可以由測試工程師去自由選擇,而從一位普通的測試工程師發展成為品質保證總監,沒有十年八年的技術積累和經驗沉澱,也是很難實作的。
選擇适合于測試工程師自身條件的目标,并為其明确目标,并在目标基礎上為其設計呈階梯狀的職業發展規劃,也是測試管理者對測試工程師實施教育訓練工作的重要組成部分。
現代軟體企業一般都已有一套科學合理的職位序列,并每年在固定時間内為每位員工評定企業内部的職位。在此期間,測試管理者應在充分了解和掌握測試工程師實際工作水準和當年業績的情況下,評定出最新的職位水準。更為重要的是,要在此時為測試工程師仔細設計和規劃下一年度的職業發展方向。是向進階測試工程師序列發展,還是向測試經理序列發展,還是向品質保證工程師序列發展,要定義好明确的方向。一是為了便于測試工程師了解自己目前的工作狀态,以及與今後的發展目标存在的差距;二是為了加強測試工程師的工作熱情和動力,讓他們體會到企業的發展要依賴于他們個人的發展;三是為了企業能夠明确自身人才結構和知識結構的現狀,揚長避短,為今後不斷發展壯大企業,積累自身實力并增強信心。
在設計軟體測試工程師的職業生涯發展規劃時,往往會陷入到一個兩難的境地:一個工作出色的測試工程師,今後是往測試經理方向發展,還是向進階測試工程師方向發展。
從人們的傳統意識上來講,總是覺得當了測試經理好像就有了一官半職,遠遠要比進階測試工程師顯得高貴得多。是以形成了千軍萬馬想過測試經理獨木橋的現象。如何決策,一句話,要以人為本,從測試工程師的自身條件出發。很顯然,進階測試工程師主打自身的技術優勢,隻要保持技術優勢就行了。而測試經理需要從無到有大量累積管理的能力和經驗。最起碼要具備經營能力、成本控制能力、工作統籌安排能力、人員管理能力、溝通協調能力等等。也就是說,如果選擇了測試經理的發展方向,則無疑要付出更多的艱辛和努力,方可達到職位目标的要求。是以測試管理者在為測試工程師設計職業發展規劃時,務必要冷靜頭腦、全面分析,不應也不能轟轟烈烈的一擁而上,讓技術型人員去做管理工作,而擅長管理工作的人員就隻在技術單方面謀求發展。
設計職業生涯發展規劃的過程,嚴格意義上應該屬于年度教育訓練工作的開端工作,制定既定目标的工作。所謂萬事開頭難,為了一年甚至更長時間的軟體測試工作卓有成效,測試管理者在開展好職業生涯設計工作的同時,務必要與每位測試工程師做好充分的溝通,達成雙方的了解和共識,保證大家一條心,勁往一處使。在此測試管理者還可以借助外部的力量來完成溝通工作。如利用企業的人力資源部門、技術委員會的資源和力量,群策群力,優勢互補,減少設計工作中的偏差,積累設計工作的經驗和技巧。
以上隻是憑借實際的一些工作經驗,總結出來的有關軟體測試工程師教育訓練工作的一些心得。潦草幾筆,不成體系,歡迎大家批評指正。
看看現在軟體企業的發展前景,以及對測試人員、測試環境、測試工具的需求增長,我們真的要腳踏實地的做好軟體測試工程師的教育訓練工作了,抓好軟體企業的第一生産力,憑借人的智慧和才幹,提高我國軟體企業的核心競争力。
最新内容請見作者的github頁:http://qaseven.github.io/