Home依地區亞洲從大企業到新創的走跳日誌,那些與軟體測試交戰的日子!------OnedaySoftware創辦人Howard

從大企業到新創的走跳日誌,那些與軟體測試交戰的日子!——OnedaySoftware創辦人Howard

想知道如何成為軟體測試工程師嗎?軟體測試領域未來趨勢如何呢?

本次Skyline國際機會平台專訪 OnedaySoftware 的創辦人『Howard』,將分享大企業到新創公司的職涯旅程,QA Engineer & SDET的職務與日常。

從學校到職場,十二年軟體測試經驗的濫觴

就讀長庚資訊管理的 Howard 在學校並未接觸過「軟體測試領域」,剛開始的他懵懵懂懂,無法確定未來的就業方向。正在思考未來的方向時,Howard 選擇了研發替代役的機會。決定申請研發替代役後,Howard 開始集中投遞大型公司的職缺,與一般人無異,只希望能在未來研發替代役的三年中在工作上能有穩定的發展。最終,投遞了 HTC 的軟體測試工程師的職位並且成功的取得 Offer ,開始了 Howard 的研發替代役生涯。在這三年的期間,他全心的投入軟體測試領域,即便離開了 HTC 仍持續在軟體測試領域積累,至今已有十二年的經驗。

註:研發替代役(Research and Development Substitute Services,RDSS)。研發替代役的流程是先在成功嶺完成 21 天的新訓。之後的三年期間,需要被綁定在同一間企業,從事與研發相關的工作。這段期間,等同於在當兵,不能隨意更換公司或職位。若要換單位服役,過程是相對繁瑣的。

Howard 眼中軟體測試工程師必備技能大公開!原來文組與理組準備的方向不同?!

Howard 也與我們分享軟體測試工程師該具備哪些技能、文組與理科背景不同技能的補足,與對該領域學歷的看法。

硬實力

  1. 技術能力
    • 基本的程式設計能力:雖然軟體測試工程師不需要像開發人員那樣大量的寫程式,但仍需具備基本的編程能力。理解和編寫測試程式碼,這對於理解產品和進行測試至關重要。
    • 風險識別:在每個交付階段都要能夠識別風險,檢測出不符合預期的地方,並提前規避潛在問題。
  2. 專業知識
    • 需求理解能力:能夠理解和評估需求的來源和目標,確定是否值得投入資源進行測試。
    • 參與各個環節:從需求會議到設計、開發、測試與最終的釋出並蒐集顧客反饋的每個環節,都要盡可能的參與並確保高品質的輸出。

軟實力

  1. 溝通能力
    • 跨部門協調:作為工程師和 PM 之間的溝通橋樑,能夠將技術需求和商業需求轉譯給相關人員,使雙方都能理解和配合。
    • 需求轉譯:能夠將需求轉化為技術語言,並將技術細節反饋給 PM,定義出通用語言(Ubiquitous Language)確保專案能順利進行。
  2. 專案管理
    • 品質管理:從軟體測試的角度出發,管理和提升整體產品的品質,確保每個環節的輸出都符合預期。
    • 資料整理與歸納:收集和整理資料,將「資料」轉化為有用的「資訊」並傳遞給相關人員,確保時程的管控。
  3. 用戶體驗
    • 用戶視角:從用戶體驗的角度來看需求和功能,確保產品符合使用者的期望和需求。
    • 成本與技術評估:能夠評估技術實現的可行性和成本,並在項目初期就進行風險管理。

文科生v.s.理科生

  • 理科背景
    • 需要學習更多關於用戶體驗和成本評估的知識,提升對產品的體驗理解。
  • 文科背景
    • 需要補充程式設計和技術理解方面的知識,增強技術思維和邏輯。

學歷要求

  • 大學學歷:大學學歷足以滿足軟體測試工程師的基本要求,重在學習基礎技能。
  • 碩士學歷:碩士學歷會更有優勢,尤其在資料整理、歸納和分析能力方面有更好的訓練,對於高品質的資訊傳遞和專案管理非常有幫助。

從阿里巴巴到街口支付,Howard 的台灣洄歸之路

在一次意外的裁員事件中,Howard 所服務的外商公司因資金斷鏈,整間公司無法繼續正常營運,因而被迫離職。當時,他所在的測試團隊,面對這個突如其來的變化,Howard 意識到自己需要重新思考職業方向。在此之前,Howard 已在業界積累了四、五年的經驗,但與其他資深同事擁有十五至二十年的資歷相比,他並不具備競爭優勢。正是這個契機,讓 Howard 決定向國外發展。

2016年,Howard 選擇前往中國,當時中國的互聯網行業已經發展了一段時間,經過仔細考慮,他決定加入了阿里巴巴。這段經歷讓他學到了很多,同時也面臨著極大的挑戰!

在阿里巴巴,工作環境是996,即每天早上9點上班,晚上9點下班,每週工作6天。這樣的工作節奏成為一種習慣,甚至內化為一種企業文化。他的同事大多來自北大、清華等名校,他們的努力和拼搏精神也深深影響了 Howard。每天晚上加班到九點、十點,甚至到凌晨是常有的事。然而,這樣的高壓工作環境對於長期的身心健康並不友好。

Howard 在阿里巴巴工作了一年多後,台灣的街口支付老闆胡亦嘉(Kevin Hu)在 LinkedIn 上找到了他,而 Kevin 對於阿里巴巴的企業文化非常認可,並希望能將阿里的文化帶回台灣。這個機會對於 Howard 來說,無疑是一個展示自己能力,並將所學知識應用到不同領域中的一個好機會。

在阿里巴巴工作的時間裡,Howard 學到了很多知識和技能並希望能將這些經驗帶回台灣,賦能台灣軟體測試領域。

生存與生活—兩種截然不同的工作模式

Howard 以「生存與生活」為主軸,分享了他對中國與台灣不同企業生態的觀察。在中國,較多的資源會聚集在一、二線城市,而當所有的人才匯集在大城市,很容易會造成僧多粥少的現象。若要在大城市中生存,甚至在眾多人才的市場中脫穎而出,員工勢必得時刻保持積極且高效的工作模式。在台灣,貧富差距並不如中國明顯,因此,會更加強調如何同時兼顧工作與生活,這是本質上的不同,而造就了不一樣的工作模式。

在中國,員工必須時刻保持高效率,因為一旦老闆交辦了任務,你必須立即接受並完成,否則機會可能轉瞬即逝。這種環境下,晉升通道會因為你的努力和表現而打開,但如果你無法跟上節奏,可能會在同一個位置上停滯不前,無法獲得更多資源和獎勵。因此,員工在這種高壓環境中往往不敢放慢腳步,拼搏和內捲成為常態。

相比之下,台灣的工作模式更偏向於“生活”。台灣的資源相對充足,資訊也隨手可得,讓員工有更多的選擇空間,可以打聽哪間公司更好、哪種工作模式更適合達到工作與生活的平衡。人們有餘裕去挑選適合自己的工作,不必為了生存而拼命工作。因為我們基本的生存需求已經得到滿足,每月五、六萬的收入足以讓我們生活得比較舒適。

這兩種工作模式的不同,反映了其背後根本的底層邏輯。一個是為了生存,另一個是為了生活。中國的工作文化更具“狼性”,員工為了獲得表現的機會而拼搏不懈。這也解釋了為什麼中國人在休假時會大手筆消費,因為平時的工作壓力太大,他們沒有時間消費,所以當有機會休息時,他們希望盡情享受辛苦掙來的資源。

在台灣,工作更多的是實現自我價值。當我們在工作中感到委屈或不滿時,我們會考慮是否有必要繼續在這裡工作,因為我們已經能夠生存,並且有能力選擇更能實現自我價值的地方。

這兩種不同的工作模式各有優缺點,沒有絕對的好壞之分,只是不同的文化造就了不同的工作氣氛和學習內容。如果你能接受某種文化下的工作方式,那麼就可以在這種環境中持續發展;如果無法接受,那麼這個地方可能並不適合你,純粹如此而已。

不同企業文化的洗禮,Howard的視野拓展之旅

剛開始的前三年,Howard 把重點放在學習和成長上。這段時間內,努力提升自己的專業知識和技能,並深入了解軟體測試領域的各個方面。隨著經驗的積累,Howard 在外商公司,開始將所學的知識付諸實踐,並在真實的工作環境中檢驗自己的能力。而在阿里巴巴,除了應用所學外,他發現這裡有更多值得學習的地方,特別是豐富的文獻和技術資料,這些都極大地充實了 Howard 的知識儲備。

學習和應用後,Howard希望能有一個地方能真正實踐並檢驗自己的方法論。回到台灣後,加入了街口支付,首次擔任主管,從無到有地建立了一個十四人的軟體測試團隊。在新創公司中,這樣的團隊規模是相當大的。這段經歷讓他真正感受到管理和領導團隊的挑戰與成就。

之後,Howard 進入了台積電這家龐大的企業。台積電有著深厚的文化底蘊,內部運作模式已經根深蒂固。在這裡,他遇到了不少挑戰,特別是要改變其對軟體品質的傳統認識並不容易。台積電的文化和管理模式讓 Howard 認識到,在大型企業中推動變革需要更多的時間和耐心,並且需要在經歷過挑戰後再回過頭來進行改進。

在台積電的經歷後,Howard 重新審視了自己的職業方向與初心,發現自己更喜歡2C 的產品和協作的工作模式。於是,毅然決然地加入了阿福管家,這次面對的是一個資深的測試團隊。這裡的挑戰在於如何在既有的團隊中,引入新的價值觀和方法論,並將團隊的能力重新提升。這段經歷讓 Howard 學習到更多關於管理和領導的知識,特別是在與高層管理者的對話和協作中獲益匪淺。對 Howard 而言,每個職涯都有其要學習的課題,但在每個不同的階段都獲得非凡的收穫。

QA與SDET常常混為一談?!Howard對兩角色的職責解析

在軟體測試領域中,QA( 軟體測試工程師)與 SDET(軟體測試開發工程師)兩個角色常常被混淆。然而,對於Howard而言,它們在職能上還是具有些許的差異。

QA的角色與職能

QA的首要職能是確保產品滿足用戶需求,並提供良好的用戶體驗。QA人員通常通過模擬用戶情境來驗證產品功能,確保產品符合產品經理(PM)和相關團隊的預期。QA的職責包括:

  1. 需求驗證:確認產品需求的合理性,確保它們能夠滿足用戶和業務的需求。
  2. 業務邏輯討論:與不同團隊討論業務邏輯,揭露潛在風險。
  3. 測試策略制定:根據需求和業務邏輯制定測試策略,確保測試覆蓋全面。

QA在工作中偏重於軟技能,強調溝通、協作和用戶視角。這使得QA能夠在不同團隊之間橋接需求與實現,確保產品最終能夠達到預期的效果。

SDET的角色與職能

SDET則更側重於技術能力和自動化測試。他們不僅需要具備開發技能,還要能夠將這些技能應用到測試領域。SDET的職責包括:

  1. 測試工具開發:開發和維護測試工具,以提升測試自動化的效率和效果。
  2. 程式碼品質保證:關注整個系統的程式碼品質,確保程式碼在開發過程中的穩定性和可維護性。
  3. 技術協作:與開發團隊密切合作,確保測試覆蓋全面,並能夠及時發現並解決問題。

SDET的核心是技術能力,尤其是開發和自動化技術。他們的工作不僅限於測試本身,還包括對測試環境和工具的改進,從而提升整體的測試效率和品質。

無論是QA還是SDET,它們在軟體測試領域中都有其不可或缺的作用。QA偏重用戶視角和業務邏輯的核實,SDET則側重技術能力和自動化測試。兩者的協同合作,能夠最大化地提升產品品質,並確保產品能夠滿足用戶和業務需求。

此外,Howard 認為無論從哪個角度切入軟體測試領域,專業的深耕與技能的拓展都是必不可少的。只有在專精自身職能的同時,不斷學習和應用新的技術和方法,才能在競爭激烈的市場中立於不敗之地,並且不被AI取代。這正是成為一名T型人才的重要性所在:專精於某一領域,同時具備多方面的技能和知識,從而提升自己的核心競爭力。

軟體應用場景促成中西方軟體測試方案的差異,比較中國與台灣的軟體測試方法

軟體應用的場景差異導致了中、西方測試方案的不同。從中、西方的角度來看,這種差異體現在應用程式的設計和功能上。

在中國,應用程式的設計傾向於「贏者全拿」的思維模式。他們喜歡將所有功能都集成到一個應用程式中,形成所謂的「超級應用程式」(Super App)。例如,支付寶這個應用程式,不僅可以用來付款和轉帳,還涵蓋了借款、貸款、燃油、煤氣電費、小區管理費、學費等多種支付功能。這種一站式的設計旨在讓用戶在一個應用程式內完成所有相關操作,從而最大限度地留住用戶,避免流量分流到其他應用程式。

相較之下,西方的應用程式設計更注重專注於單一功能。例如,Uber專注於叫車服務,Uber Eats則專注於外賣服務。這些應用程式通常只具備核心功能,附加功能較少,這使得應用程式更加專注和簡潔。

這種設計思維的不同也反映在軟體測試的要求上。中國的超級應用程式需要更全局的思維方式,測試人員需要了解應用程式內所有組件的交互關係,以及這些組件之間的整合和兼容性。因此,中國對軟體測試的要求非常高,測試人員需要具備開發工程師的技能,能夠提出技術解決方案,並在品質方面做出貢獻。

相反,台灣的軟體測試工程師更注重使用者體驗和使用者流程的調整。他們通常在後期設計過程中進行調整,改進存在缺陷的部分。這樣的測試方法更注重細節和使用者的直觀感受。

Howard:「這兩種不同的測試方式各有其優勢和劣勢,但如果能將兩者整合,則可以創造出一個更加全面的測試專家角色。這個角色應該具備理解需求來源、風險控制、品質管理、自動化開發和使用者體驗改進等全局的能力。」

這樣的專家角色在任何地方都將具有競爭力,無論是在中國、台灣,還是其他國家。他們不僅能夠從全局角度進行品質測試,還能通過自動化測試提升效率,並且在產品上線前通過使用者體驗的改進來確保產品品質。這樣的融合角色將是未來軟體測試領域的重要發展方向。

Howard給予新進者的工具建議!

目前業界常用的測試框架有Pytest、Selenium、Robot Framework或Cucumber等,它們都是軟體測試領域耳熟能詳的工具。這些自動化框架在軟體測試中發揮著重要作用,使測試過程更加高效和可靠。除了工具,還需要了解各種測試方法論。等價測試方法、探索型測試、敏捷測試和猴子測試(Monkey Testing)等。理解不同的測試方法論有助於我們在遇到問題時能夠對症下藥,選擇最合適的測試方法來解決問題。

這些工具和方法的應用是日常測試工作中不可或缺的一部分。無論這些工具是開源的還是非開源的,它們都有其價值所在。新進人員應該了解市場上需求的技能和工具。 Howard 表示通過查看104上的招募訊息,可以了解現在市場需要的是怎樣的能力,讓自己培養其技能。

此外,如果今天想要的是一個通用的法則或通用的解決方案。Howard 推薦大家參考中國的一站式的解決方案,從中了解他們如何將所有能力集中在一個平台上,提供綜合性的解決方案。Howard 覺得平台解決方案較少出現在台灣軟體測試領域,有可能因領域或業務不同,而導致發展的方案不同,但 Howard 建議這些方案都可以參考,後面一旦遇到問題,才能知道該用何種技能或工具解決問題。

在AI浪潮下,軟體測試工程師的職務轉型

Howard表示AI一定會部分取代軟體測試,國際數據資訊公司(IDC)的報告指出,到2028年,AI工具將能夠編寫70%的軟體測試。雖然AI無法完全取代人類的角色,但它確實能夠大幅提升測試過程的效率和準確性。

由於測試程式相對不花俏,具有一定的模式和結構,因此AI可以快速編寫這些程式碼。未來,測試工程師的主要角色可能會轉變為測試結果的審查者,而不再是繁重的程式碼編寫者。這種轉變意味著AI能夠代替大部分的測試開發工作,但人類的介入仍然是必需的,特別是在最終的品質審查和決策上。

建立一套完善的品質管理系統和衡量指標,是每個組織必須關注的重點。無論是自動化生成的測試還是人類手動撰寫的測試,最終目標都是提升產品的品質和性能。自動化測試的普及,可以大幅減少回歸測試(Regression Testing)中的人力投入,提升測試效率。

隨著AI技術的不斷進步,Howard提出了「去測試化」的概念。未來的測試流程將朝著此方向發展。這並不意味著不進行測試,而是將測試深度嵌入到開發過程中,使得每一個交付的產品或服務都有高品質的保證。這需要開發者、測試工程師和產品經理等多方的共同努力,建立起高品質交付的習慣和能力。

未來的軟體測試工程師將不再僅僅是測試程式的編寫者,而是品質管理的架構師和分析師。他們需要具備更廣泛的技能,包括理解需求、風險評估、測試策略制定和AI工具的應用。這樣的角色轉變,將使測試工程師在AI驅動的時代中依然具有競爭力。

加碼!Howard那些在軟體測試領域有趣的事…

對Howard而言,在阿里巴巴有個難忘的工作經驗,由於其軟體測試領域已相對成熟和完善。在業界,軟體開發工程師和測試工程師的比例通常是三比一或四比一,也就是說,一位測試工程師通常需要對應三到四位開發工程師的工作。然而,Howard曾經和另一位測試工程師共同負責一個三十到四十人的專案,這意味著我們的開發與測試比例達到了十五比一。這種高比例的經驗提升Howard此領域的信心。

此外,Howard經常在軟體測試時忘記時間,由於全身心地投入到確保產品品質的工作中。有時候,他早上十一點開始開會,直到意識到需要休息時,已經晚上六點了。在Howard眼中,每個產品和服務的高品質交付,都是他工作投入和熱情的體現。

Howard也分享另個特別有趣的經歷,在街口參與雙十一活動的準備和實施。這個活動是向中國電商節致敬的一次嘗試,他在街口擔任 TPM(技術項目經理)的角色,負責從品質控制和品質保證的角度,確保整個活動的順利進行。這是一次大型的專案,影響到全台灣的電商市場,也標誌著台灣電子支付行業首次參與這類大型活動。

最後,Howard想送後輩一句話,測試,從來就不是產品上線前的最後一道防線,而是迭代過程中高品質的交付。在 Howard 眼中,對他而言:「做好軟體測試是一種使命感」,使命感其實是每次將產品釋出後,持續獲取使用者信任的產物。在每次的迭代過程中,確認各環節皆有高品質的交付輸出,是確保整體專案成功的關鍵,Detail matters,也希望大家不忘初心,找到自己的使命感!

最後,Skyline很榮幸地邀請Howard到來與大家分享啦!

立馬報名6/25(二)19:00~21:30的「從大企業到新創的走跳日誌,那些與軟體測試交戰的日子!——OnedaySoftware創辦人Howard」的講座吧!

報名連結:https://www.accupass.com/event/2405200904002295582430

Skyline - 地表上最挺青年的國際機會平台
Skyline致力於幫助台灣青年與國際機會建立連結,透過海外機會的匯流和跨國人才的培育,改善台灣國際人才發展的環境。 我們相信跟世界交會的方式有很多,透過各種形式的國際參與,成為跨國人才不是遙不可及的夢想。 前往官方網站尋找國際機會→https://skyline.tw/
RELATED ARTICLES

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Most Popular