PART 1:關於在台灣東芝國際採購股份有限公司擔任軟體品質測試工程師的工作經驗分享
進入電腦相關產業的動機
畢業於真理大學資管系的彭薰慧,笑稱自己是個「內向的阿宅」,當初因為喜愛電腦遊戲而唸資管系,但她坦言一開始對資管系所知太少,真正就讀後才發現對寫程式無半點興趣。畢業後,她仍想進入電腦相關產業就業,於是尋求不必寫程式的工作。她前後待過三間公司,曾經擔任台灣東芝(Toshiba)台北PC產品研發中心軟體品質測試工程師(Quality Assurance, QA),後來考量目前軟體品質測試工程師在台灣的處境,她決定轉職,重新學習寫程式。
台灣東芝台北PC產品研發中心
台灣東芝台北PC產品研發中心位於台北小巨蛋附近,生活機能便利,唯獨物價稍貴。東芝雖為日商,薰慧卻認為工作氣氛不似想像中嚴肅,發生重大事件時,公司會以解決問題為優先,而非先找人擔起責任。部門之間無太多利害關係,同事辦公效率高且就事論事,這讓她不必花心思處理所謂的「辦公室政治」。而公司的規模不大,組織扁平化,因此過去可能在不同部門的PM、QA、Component在台灣東芝台北PC產品研發中心裡,皆隸屬於軟體部門。PM又分為Software Project Manger與Preload Image PM,前者為對日本的窗口,負責掌控專案的流程、品質;後者為對美國的窗口,負責製作出貨用之系統,每週需與美國方報告專案進度。
軟體品質測試工程師
軟體品質測試工程師是負責在產品上市前,透過各種測試方法找出軟體潛在的瑕疵,嚴格控管軟體品質。軟體品質測試工程師首先會研究產品規格書,再進行軟體品質測試。測試又可分成幾種不同項目,如以Image測試確認驅動程式是否安裝正確,或是針對大改版的軟體寫新的測試來找瑕疵。另外,QA也會藉由測試去提出能改善使用者體驗的方法。「整間公司除QA以外,沒有人看到Bug是會開心的。」薰慧點出軟體品質測試工程師在其崗位的困難之處:對PM來說,最重要的是讓產品如期出貨,一旦軟體品質測試工程師回報瑕疵,就有可能使產品出貨時間延後。如果PM為了準時出貨而忽略瑕疵,軟體品質測試工程師就必須堅守立場,嘗試讓PM了解瑕疵的嚴重性。
工作行程
軟體品質測試工程師在一年間有固定的測試週期(Cycle),譬如開學季、聖誕節會有一波換機潮,公司便會趕在這段時間讓新機出貨。進入測試週期時,軟體品質測試工程師會先研究產品規格書,接著拿到樣品進行初步測試,最後針對出貨產品進行大量測試。測試週期結束後,便會針對測試期間發生的問題進行改善。「QA雖然是工程師,卻不能只是埋頭苦幹!」薰慧認為要能勝任這份工作,除了資訊背景能加分外,耐心與溝通力不可或缺。為了控管產品品質,軟體品質測試工程師必須有耐心地重複測試,並且能向PM傳達問題所在,以及如何解決瑕疵之道。
漫長卻不後悔的路
自動化測試會取代軟體品質測試工程師嗎?就現今產業趨勢而言,自動化測試將成為不可或缺的技能,近幾年軟體品質測試工程師職缺也多了這項應徵條件。但薰慧認為,自動化測試並不能完全取代人力,像是「使用者經驗」就必須經由人來測試以做改善。然而,這些年的工作經驗讓她深刻體會到軟體品質測試工程師在台灣的困境,多數公司並不重視軟體品質測試工程師的價值,且常與QC(Quality Control)的工作範疇混淆,這使她產生轉職的念頭。於是在部門解散後,她重新學習Ruby on Rails,即使有近十年的時間未接觸程式,中間遭遇不少挫折,但每次的挫折都使她離目標更近一步。雖然是畢業十年後才重新接觸程式,但她覺得繞了這一段路是非常值得的。