為什麼要寫這種文章呢,當然是怕自己老了忘記,到時想分享時,都無法完整將自己的經驗及想法分享出來。當然我也發覺學校都只教如何寫程式,但對於如何確保軟體品質都沒有相關教學及課程而憂心。
自己從事軟體測試這行業大概有10年了吧,但實際上真正覺得自己是在做軟體測試,大概是這幾個月吧。前幾年做的軟體測試,大概就是最基本的以人數量確保軟體品質的工作,對於相關領域的自我成長實在有限,我非常感謝上天的安排讓我有機會出去溜一溜,不過也讓我了解一家企業在資遣這檔事,底下的人也並非完全很理性依照公司的利益去執行,讓我感覺個人利益比公司利益還重要,在這就不談了。
先從我在友笙資訊工作開始吧,我在友笙資訊待了四年左右,前二年擔任 MIS 工作,負責電腦管理及開發WEB 介面的進銷存系統,後來公司轉型變成Pocket PC 的軟體開發商,開發相簿及一些工具,這時我也因應公司轉型,從MIS 轉變成軟體測試。老實說,那時我什麼都不懂什麼叫做測試,都是一些前輩耐心的教學,慢慢了解測試的重要性,但都是以手動測試為主,在這主要學到測試時需要準備相關的 Test Sample,後來因應需要也自行開發簡易的Web 介面的 Issue Tracking System。
後來被HTC併購之後,也從事軟體測試工作,在被HTC資遣前,從事軟體測試工作就是這樣 Test plan、Test Case、Test Execution、Test sample、Test report 等,在這期間學到重要的一點是"如何溝通"真的很重要,尤其要跨 Team 合作的時候,不過我覺得最重要一件事,每個人工作都侷限於自己一開始從事的領域,不管你工作多久,這會造成幾個問題, 如以下
第一會造成人員工作倦待
第二會造成跨 Team 溝通的困難,都沒辦法以對方想法,然後達成一定的共識
第三會造成人力嚴重分配不均的現象
應該適時讓人員在各 Team 流動,尤其 Team Manager 一定要有跨Team 經驗,這樣子跨Team 溝通時,才能有效達成共識,思維也會有很大的改變,人員分配也有比較大的基數可以運用。不過這不是在這的重點,因為一個部門太多東西需要上軌道了,部門才能運作正常,所以部門改善並不只有這件事。
被HTC資遣後,在外面流浪將近10個月,其間有到一個工業用智慧型手機公司工作,但不是很順利,之後有機會再說吧。然後終於前同事看不下去,拉拔一把又回到HTC了,哈哈^^。
回到HTC,這次職務讓我更接近開發人員,當然做的還是跟之前 QA 的工作,不過內容還是有點不同,因為這職務也是開發的一員,並不是只是一個單純QA,我需要開發工具讓軟體品質更堅固,我並不認為目前的工作是做QA 的工作,我把自己定位為與開發人員共同確保產品品質的伙伴, 我是屬於開發的一員,所以要一起與開發人員討論如何改進品質,如何幫助軟體研發人員縮短研發時間。以前QA工作是負責找出問題,但產品品質好與不好並沒有太大的關連,只要把 Issue(Bug) 找出來就好,並且把重大問題Highlight 出來,產品做不好就是開發人員的問題,跟我們沒關係。
當然,HTC 是一家手機公司,有時消費環境變化很大,並不是所有項目都可以靠自動化測試可以解決的,有時手動測試會在某些時候是最佳方案,但對於一個QA人員來說,這樣的工作只要待個1 年流程大概就熟悉了,只要公司產品變化不大,手動測試對於一個QA 來說,並沒有很大的 Value,因為可以投入這行業的人太多人,門檻並不高。 也會造成公司對於QA人員都不會很重視,當然公司制度及教育訓練及經理人的能力或許有些問題,但最大問題還是從事QA人員如何看待自己的工作內容及自己的生涯規劃。
但要與軟體研發人員溝通,並且進一步確保軟體品質,最重要一點也是要會寫程式。對,我就是研發的一員,我在資遣之後,時間變多了,所以學寫幾個 Android APPs,但為了加速適應我在HTC的新工作,我踫了 N年沒踫的 Linux,也開始學寫 Python ,也要懂 Java,也要懂得軟體設計概念,並且現在也正在學 HTML5 及 Javascript ,也學著如何使用Open source tool,需要學的東西很多,因為環境變化太快,有時候今年學的明年就派不上用場,明年還是需要學新的程式語言或技術。
所以軟體測試也是一門學問,也是需要重視的一環,但在台灣軟體測試始終並沒有受到很大的重視。但最重要的是測試人員如何看待自己的工作內容,如果自己都看低本身職務,又如何讓外界看重這職務呢。
是否公司名稱用匿名比較好?
回覆刪除可否說明原因?
回覆刪除