自動化測試軟體工程師[] / []

職業心智圖
資訊硬體自動化測試軟體工程師
自動化測試軟體工程師_職業心智圖

自動化測試軟體工程師 (電子業|資訊硬體|測試部)  電子產品的開發必須通過許多不同職務人員的分工和整合,以保證產製後的產品功能符合設計標準及規格的要求。以手機為例,機構工程師負責外殼、耳機孔造型、散熱機構等設計,硬體工程師負責電子線路設計,Layout工程師負責PCB電路板的Layout,至於手機操作介面或APP等設計工作則是由軟體工程師負責。

電子產業裡的軟體工程師依任務不同分為很多種,除了大家耳熟能詳負責撰寫作業系統、APP應用程式、網站或遊戲平台等軟體工程師的職務外,在電子工廠的產品生產線中,還有一種很特別的軟體工程師,那就是自動化測試軟體工程師,他們的任務是負責撰寫自動化測試程式,置於生產線上使用,讓產線作業人員得以快速識別生產線中的缺陷產品,進而提升產品生產良率。

在眾多3C產品之中,每種產品在製造過程中都可能因為人為疏失或處理不當而導致產品瑕疵,因此產品在量產的最後階段都必須經過測試,確認功能無誤才能出貨。自動化測試軟體工程師的主要任務就是要依據不同產品功能要求撰寫各種測試程式,提供產線使用於不同功能特性的自動化測試,協助產線人員能有效率的找到瑕疵品或發現產線的問題,確保產品生產品質和良率,進而提升公司獲利。

職場

年度工作目標
   藍色   測試軟體專案開發(55%)
紅色   技術文件撰寫(5%)
橘色   測試環境軟體開發(40%)
日常工時比重
   藍色   產品走向與測項討論(5%)
紅色   設計測試流程(5%)
橘色   測項功能程式撰寫(30%)
綠色   周邊環境開發(30%)
紫色   人機介面軟體開發(20%)
靛色   產品量產協助(10%)

績效評核

測試軟體專案開發(55%):自動化測試軟體工程師必須視專案情況,依時程規劃,完成穩定、完整且符合測試流程時間的專案測試程式,完成的專案測試程式最好具有一些通用性,可以同時測試多種不同類型的產品,降低重複開發的需求及軟體維護成本。衡量標準為開發時程、穩定度、完整性、測試時間等。

測試環境軟體開發(40%):產品測試時,可能會依環境要求而使用到機械手臂或影像視覺等功能,整合測試環境與測試項目也是軟體工程師的職責範圍。衡量標準為開發穩定度、產量增加百分比等。

技術文件撰寫(5%):當產品的測試流程專案開發完成後,自動化測試軟體工程師也必須撰寫相關技術文件並教導產線人員如何使用。衡量標準為文件完整性。

工作內容

產品走向與測項討論(5%):在產品開發之前,自動化測試軟體工程師必須不斷與PM及產品開發工程師討論產品未來走向以及測試項目,並評估測項的必要性與需求性。

設計測試流程(5%):有些產品必須循序漸進的測試,有些則沒有固定流程,因此自動化測試工程師必須規劃最符合時間成本的產品測試流程。以監視器的測試為例,倘若測試PCB時就發生問題,接下來的PCB測項就可以全部跳過,可以省下許多測試時間和成本。

測項功能程式撰寫(30%):由於不同產品的測試項目都不盡相同,因此必須依照個別產品去開發相對應的測項。然而,如果能用類似測項去曩括多項產品,則程式的應用層面也會變得較廣。以測試監視器為例,為了測試攝影機的影像品質、夜間模式、錄影記憶體等,必須開發一些程式,如果可以將這些測試程式應用到其他不同種類監視器的攝影機,程式的應用範圍也就能更為廣泛,這樣就可以節省對個別機種分別開發程式的時間。

人機介面軟體開發(20%):測試功能開發完成後,則必須撰寫人機介面,讓工廠的產線人員能夠方便及順利操作。人機介面軟體除了基本的測項功能外,還必須能夠存檔、上傳資料庫以及更換產品項目等。

周邊環境開發(30%):測試過程中如果必須使用機械手臂、單晶片、影像視覺等技術,自動化測試軟體工程師就必須設法將該技術與測項整合在一起。以機台組裝為例,由於人工組裝必須耗費大量人力與時間,失誤率也較高,如果使用機械手臂進行組裝就能有效減少失誤率,此時自動化測試軟體工程師就必須投入機械手臂開發案,協助產線的自動機械化生產。

產品量產協助(10%):當產品開始量產時,自動化測試軟體工程師必須在生產線附近待命,隨時解決量產初期發生的任何測試軟體相關問題。

崗位關係

上級:直接主管為經理,由資深的自動化測試軟體工程師擔任,主要負責管理部門事務、考核、分配工作給測試軟體工程師,並在過程中給予工程師必要的指導及協助。若是部門人數較多,經理下還會有副理協助或管理工程師。

同儕:在自動化軟體測試中,產品專案一啟動就會與開發產品的軟體工程師、硬體工程師、機構工程師與專案經理(PM)等開會討論產品走向、此產品有什麼功能、需要測試什麼項目等,以確保產品能符合客戶或公司自身要求。在產品開發的過程中,測試軟體工程師必須配合產品開發相關的工程師去設計測試的方法與流程。當產品完成開發進入量產階段前,則必須導入測試軟體。針對不同產品與不同的開發工程師進行溝通、軟體測試及驗證。通過測試驗證後,再將程式交由工廠生產線,由產線人員進行量產的測試作業。

內部客戶:對於測試軟體開發工程師來說,產線人員可以看成是內部客戶。測試軟體開發工程師所設計的程式,主要就是提供給產線人員使用。因此,如果程式出現什麼問題,或是有使用起來不順手的地方,產線人員都會直接向測試軟體開發工程師反應,此時就必須教導或討論改善程式的流程用法,改善後再提供給他們使用。

任職要求

教育程度/經驗

  • 學歷:學士以上,電子電機或資工、機械等相關科系。
  • 經驗:最好接觸過程式撰寫或是有自動化測試的相關經驗,若有韌體相關設計經驗則會增加面試分數或是跨部門合作的機會。

特別知識和技能

  • 程式語言:主要是以C#為主。有些必須使用實體設備或底層程式碼時,則需要一些C/C++的幫助。最好也有寫單晶片的經驗,像Arduino等。
  • 專業技能:自動化相關經驗都可以算是專業技能,諸如單晶片韌體撰寫、機械手臂的運動軸卡控制、運動學推導計算與設計、機械視覺影像處理相關實作,以及各式通訊介面傳輸等,都常運用在自動化系統的領域裡。

職涯發展

薪資成長:新手自動化測試軟體工程師起薪約在4萬5左右,經過2至3年歷練後,月薪有機會上看五萬元。

工作機會:資深的自動化測試軟體工程師有機會晉升為主任工程師、副理、經理。透過跨部門合作,也有許多機會轉往其他部門發展。

討論區[前往論壇]