軟體測試工程師  IC設計|軟體開發部 | 【小礦工】

年度工作目標
   黃色   軟體驗證測試(50%)
橘色   建立軟體品質保證計畫(20%)
紅色   客戶支援(20%)
綠色   內部討論(10%)

SQA Engineer,正式的名稱應該是軟體品質保證工程師。軟體測試工程師的主要任務是幫助開發人員找出程式碼的盲點,擬定測試策略與測試排程,及早發現問題,維護軟體的品質。從unit testing逐步到system testing,我們必須確保自己的驗證工作能涵蓋到全域,不讓bug有逃脫的空間。

雖處在軟體開發環節中的末端,但仍須具備對專案全局掌握的能力,除去基本的自動化測試外,舉凡測試時程的管控、測試環境的建置、品質文件的撰寫、錯誤報告的產出與追蹤、或是客訴的處理,在這整個過程中,業務往往略顯繁雜,也會有不少paper work,因此最好具備謹慎與耐心的特質,才能有效統合,完成好自己份內的工作。

IC設計公司為了搭配販售的IC,必須提供IC驅動程式,像一般軟體一樣安裝在作業系統之上。所以,也必須配置SQL工程師。

職場

績效評核

軟體驗證測試(50%):軟體品質的維護、驗證測試、版本控制,早一步發現issue甚至root cause(問題發生的根本原因),協同相關人員修正,以期專案的順利。衡量標準為發現問題與解決問題的能力。

建立軟體品質保證計畫(20%):讓大家有依循的標準,已對測試流程有所掌握,知道該如何用精確的文字呈現。衡量標準為文字敘述能力與英文能力。

客戶支援(20%):若中途遇到問題,要讓客戶充分理解delay的原因,並再度確認客戶需求。衡量標準為溝通技巧。

內部討論(10%):與內部人員進行討論,確認驗證的範圍。衡量標準為情緒管控、快速理解問題能力。

日常工時分佈
   黃色   環境架設與bugs釐清(40%)
橘色   客戶支援(20%)
紅色   內部討論(20%)
綠色   工作文件撰寫(20%)

日常工作

客戶支援(20%):客戶mail回覆,與客戶討論issue狀況,發生時的作業環境與操作情況,協助其釐清問題,或是商借機器事宜。

內部討論(20%):與RD、UI討論具體規格,想要呈現的樣子或是欲完成的目標,來決定驗證的範圍與時間掌控與人力配置。

工作文件撰寫(20%):Test Plan、Test case、issue report等工作文件的撰寫,bugs的追蹤與紀錄。

  • Test Case:測試案例,為某種特定情境下設計的一連串操作路徑(ex:特定操作下會出現bug),若跑完符合我們的預期即為pass。
  • Test Plan:一本完整的測試計畫書,涵蓋軟體所該有的測試,測試環境,測試時程,綜合性的目標等,方向大。

環境架設與bugs釐清(40%):自動化測試、人工測試、實驗環境機器架設、bugs的釐清,因為有時不見得會是程式的問題,有可能是使用的作業系統太新,然而第三方廠商還未推出patch修補。

崗位關係

上級:直接主管可能是軟體部門經理,在大公司中,職稱結構較多的,也可能是測試主任/Leader,必須將測試結果直接彙報給他,主管才能進一步評估測試在專案中需要佔據的時程,他也會安排我們測試任務中的主要區塊。

同儕:負責軟體介面的UI部門,程式開發的RD部門,負責電路的HW部門皆是,通常我們所有的人都會接觸到,因為不知道下一個問題要出在哪裡,確認問題後,也必須要協助他們複製問題,重現issue發生時情況,並請相關人員做出相應的更新。軟體的部分會由各部門匯聚成一包package,確認各部門的code都有進去後,我們才開始展開驗證工作。

部屬:若有新進人員,通常由資深的軟體測試工程師帶領認識其他同仁,也會先給予工作文件請新人研讀,幫助他盡快步上軌道,適應工作環境,此時也會有公司端安排的教育訓練。或為專案性的需求,也可能會另外聘請臨時性的助理工程師協助。

任職要求

教育程度/經驗

  • 學歷:一般而言,以專科或大學資訊工程、資訊管理相關科系畢業為主,因為在學時,相關軟體的應用上已經稍有接觸,也較具備邏輯的概念,能取代人工的測試就讓程式來代勞,可為日後的工作節省下許多時間。非相關科系亦可,前提是對SQA已經有所了解。
  • 經驗:1年左右經驗即可,若是剛畢業的新鮮人,在學時有擅長的資訊學科,在履歷表上展現企圖心也會有很大機會,比方說熟悉作業系統、資料結構等等。

特別知識和技能

  • 溝通技巧:會直接對RD,或是HW AE,在部分公司,有可能也會直接面對客戶,還是免不了人際關係的部分,因此有效率的溝通十分重要。
  • 程式語言:C或C#,或是會一些基本的Script腳本語言,可以避免會耗掉大量時間的routine job,像是需要反覆開機100次之類的issue.
  • 工具應用能力:有些時候,一開始拿到的code通常是基於新需求而開發,還處在實驗的階段,也許埋了許多bugs,然而我們還必須驗證它的相容性,像是微軟Visual Studio、Ghost備份技巧或建置VMware虛擬化運算環境,都能有效幫助我們快速切換不同的作業系統,以及幫助我們完成測試。

職涯發展

薪資成長:依公司規模與薪資政策而定,多數情況,新人軟體測試工程師起薪約在3萬~4萬元不等,隨著經歷的累積,若能逐步凸顯自己在公司的價值,有4到5年資歷,待遇6萬以上並非難事。

工作機會:資深的軟體測試工程師有機會可以晉升為QA Leader、測試經理。若已經很熟悉軟體開發的流程,也可以轉型當PM,或對code已經很上手,亦可以轉RD,甚至是業界中的sales,當然,自己要能夠熟悉自家與競爭廠商的產品。