測試工程師和想像中的不一樣:在趨勢科技的暑期實習心得

待在趨勢的兩個月雖然短暫,但學到許多,心靈層面也提升不少。 當初逛 104 學生實習的時候,發現滿多軟體公司除了招收 RD、QA 外,還有使用者經驗、UI/UX 設計相關的職缺,像是 IBM,趨勢科技。

因為自己對於前端有興趣,想說來投個 Front-End Design。可是身為研究生,好像還是要寫程式或是做資料分析的工作比較有深度,跟產生論文比較有關,也希望可以找到靈感,讓論文順利產出啊。於是申請軟體開發的職缺,經過面試的洗禮,榮幸的成為 2016 趨勢科技實習生。


歡樂開工,領取新手包

第一天既期待又興奮,要進入台灣最厲害的防毒軟體公司啦!

這個暑期實習計劃,大概招收二十幾位實習生,有一半是 RD、QA,一半則是設計相關的工作。早上報到完畢後,發給每人一包新手包,HR 帶了些破冰活動,讓大家互相認識,接著開心吃 Buffet,下午就由各部門的主管或 Mentor 帶去上工啦!

trend intern0 - 測試工程師和想像中的不一樣:在趨勢科技的暑期實習心得
破冰活動,玩賓果。圖 / 實習計畫畢業禮包

新手包內容

  • 基本文具組、趨勢筆記本
  • 趨勢室內拖鞋 (有拖鞋超酷的啊)
  • 個人名牌、逼逼卡
  • 名片一盒 (結果實習期間沒發到很多張Q)

第一天的餐點

trend intern2 - 測試工程師和想像中的不一樣:在趨勢科技的暑期實習心得
開心的 buffet 時光,可以邊吃邊和部門主管聊天。圖 / 實習計畫畢業禮包

測試工程師,不僅測試,更要重現問題

其實接到 HR 電話,通知錄取測試工程師 (QA) 的工作後,還在猶豫是否要來。當初的想法比較單純,想說 QA 不就等於 Debug,而 Debug 不就是打雜的工作嗎,未來的發展性是不是比較低?面試的時候我還一直問面試官,QA 可以學到很多東西嗎,跟 RD 有什麼差別?畢竟在學校很少接觸到軟體測試,我所知道的頂多就是中斷點Printf 還有肉眼了!

實習後才發現,測試工程師並不是想像中簡單。

與一般硬體廠的測試工程師不同,這裡的測試要寫程式做自動化,發現問題後,還必須找出發生的原因,把問題重現出來。比如提供一個重現步驟 (Reproduce Steps),或是打包一個重現環境給研發工程師去解決。這要有清楚的邏輯,有時後搞錯了就會在原地打轉,需要善用心智圖流程圖等方式來幫助理清脈絡。

好比前陣子遇到一個難解的問題,某些產品安裝在一塊後,開啟瀏覽器會造成系統當機,我就看到前輩使用一些 Debug tool 去分析 System dump,最後抽絲剝繭的發現遇到了 Dead lock,並指出是哪一個 Thread 造成問題,也提出解決方案,看似簡單,但是要能這樣分析,還是要有相當的功力阿!


軟體開發必備的自動化測試

俗話說不管黑貓白貓,能抓到老鼠的就是好貓。對於測試來說,也有黑箱白箱,不管用甚麼方法,能抓到問題最重要。

我負責的工作是使用者介面自動化測試 (UI Automation Test),屬於黑箱測試,在不知道程式碼的狀況下,要測各個按鈕功能是否正常。每當有新版本 (Build) 出現的時候,都要確保程式運作沒有問題,但因為程式太龐大,不可能手動測試,需要撰寫自動化腳本。

根據需求會使用不同的測試工具,例如 PhantomJS、AutoIt、Selenium、PywinAuto 等等,像是以前玩遊戲想作弊,會使用按鍵精靈,讓你的遊戲角色根據腳本自動練功,但這裡提到的工具,可以做更多事情,比如自動操作網頁擷取資訊,自動安裝程式,然後讓他自動找出軟體中的錯誤。

想要知道更多軟體測試工具,可以看別人的整理:Python 自動化測試開源(免費)工具集,我就不多說啦。


學思並進,挺充實的

在這個暑期實習計劃中,除了部門指派的任務外,公司有安排一系列培訓活動,包含資安的基本概念,最新的勒索病毒是什麼,軟體測試的簡介與實作,還有在學校沒聽過的專案管理 Scrum、Agile。除此之外,趨勢還有很多學習資源,透過每週的讀書會、公司內部的技術講座、Team內部累積的經驗分享文件,多學多看,都是很好的練工方式,讓自己更上一層樓。

Team 內部的報告,與最後的期末分享,則是終極的實戰演練,會發現報告方式與學校大不同。身為研究生,好像已經被那幾個英文字母洗腦,做簡報的時候一定要有 Introduction、Related work、Experiment、Evaluation、Conclusion。在學校裡,這是學習發現問題,解決問題的過程,用一個有系統化的架構進行研究,並驗證結果。可是在公司就不是這麼一回事了,重視的是能帶來多少效益。

所以開頭就該告訴大家,聽這個簡報你會獲得甚麼,那麼我們用甚麼方法可以做到甚麼事,比較瑣碎的細節則是備著,當有人發問時可以做補充。


趨勢三寶 +1,輕鬆的工作氣氛

可樂、拖鞋、牛仔褲」是趨勢的三寶,也是企業文化,讓員工能在輕鬆的氣氛下,接受工作上的各種挑戰。因為對於衣著沒有那麼限制,常常可以看到有人在公司裡面穿短褲配拖鞋,疑,好像回到交大啊,以前好多人都穿拖鞋上課 XD

trend 2 - 測試工程師和想像中的不一樣:在趨勢科技的暑期實習心得
軟墊滿軟的,不過腳跟的地方似乎有點高

很紅的寶可夢 Go (Pokemon Go),就算是第四寶了!儘管上班時間大家都在忙,可是休息時間一到,每個人都是立志要成為寶可夢大師的訓練家啊,一起分享抓到的寶貝、丟球經驗,對於整個團隊的感情維繫加分不少。透過遊戲,大家也會去思考背後的架構設計,比如系統應該是如何運作,或是尋寶程式 Poke Radar 是如何解出 API 並抓到寶可夢的位置,玩得很有意義啊。


總結來說,趨勢是個不錯的地方,氣氛良好,也有很多學習資源,可以讓自己的功力大幅提升。加上外商的緣故?(其實也是台灣人成立的啦) 工作時間比較彈性,雖然身為實習生的我,都準時離開,或許沒有看到真實全貌,但這兩個月時光,我感到很愉快,也會推薦有興趣走軟體方向的朋友來趨勢實習,了解防毒是在做什麼,體驗學校與業界的差異,讓暑假更充實!

友情連結:趨勢科技暑期實習網站
Jerry
Jerry

樂於分享的軟體工程師,曾在新創與大型科技公司實習,獲得黑客松競賽冠軍,擔任資安研討會講者。長期熱衷於資訊安全、雲端服務、網路行銷等領域,希望將科技知識分享給更多人。內容轉載請來信:jlee58tw@gmail.com

6 則留言

  1. 其實……待過很多大小公司, 都有所謂的讀書會或 Team 內部會議;
    個人還是比較傾向單開 Team 內部會議就好, 並且各自報告專案進度, 困難點與客戶合作狀況;
    光是剛提到的進度和困難點……等, 就已經相當花時間了;
    更何況各自還有身上數個 Project 還在跑 (每次開這個會, 還是下班後的時間被集合起來總質詢);
    偏偏公司或 Team 內部又有 “讀書會” 這種東西來插花, 開完有時是 20:00, 有時更晚 21:xx;
    那….底下的人事情還要不要做 ?
    麻煩以後看到這篇的路人甲乙丙, 日後當了主管後: 請勇於 Say NO……
    (當你知道碗筷一堆沒洗, 衣服一堆沒洗, 垃圾一堆沒倒, 報告 & 測試都還沒跑完;
    幸運的人, 最多去小 7 吃飯)

    要私下交流討論 & 要念書, 煩請 “各自” 開小房間好好的促膝長談……
    真不得已要例行心得報告, 也請大家 “精簡” 為要
    (小弟私人雖不太看書, 但 SPEC 已經厚到夠你翻求微乎其微的 Solution 了)
    我也曾遇過有 Guts 的 Leader, “部門會議層級” : 本 TEAM 沒有人心得報告…… 讚啦 !

    這邊, 又微微牽涉到模糊地帶的 “彈性工時”, 因為各人狀況不一, 能否準點到還真無法捉摸;
    但畢竟設計 & 找 BUG 就是要 “花時間”, Project 一下來, 會遇到相互合作的狀況;
    是的, 準點到的人, 下班前總是要被那些個晚到的人協助幫找 Solution
    (我們願意相信, 晚到的人工作到很晚, 所以隔天 “必然” 很晚到, 額外理由可能包括聚餐, 夜遊, 某人家過夜, 聊太久……etc)

    可以的話, 希望路過的 HR 斟酌斟酌: 非特殊條件下, 不應使用彈性工時;
    個人所在的幾個公司距離有 1.5 ~ 2 hr 的機車車程, 不敢說特早到 (現場已有 2~ 3個更資深 RD),
    但至少還能標準工時的前 30 分內就定位處理事情 (不論哪間公司), 前面提到的 RD 我看就不用講了;
    簡而言之, 同事雖然會相互體諒, 但也請帶一絲絲相互尊重

    個人曾看過某糾紛 (印象非常模糊, 各位純參考):
    資方和員工薪資喬不攏, 中間不清楚攻防過程, 後來資方提出員工績效不佳, 經常不在位置上,
    可能是在上班期間跑去使用健身器材……. 等等之類;
    主要看到這點, 是要提醒大家, 公司或許福利不錯, 但缺乏某方面共識時, 或許用一些奇怪的理由,
    來相互攻防, 有點……
    而什麼案例就不用來問小弟了, 我不是 HR

    當然上班就是工作, 是否四處喝下午茶或使用您的公司福利排遣時間, 就各自見仁見智吧;
    So , 有門禁的, 記得 “自己出入” 要刷卡, 至少可以當佐證 (辦公室 & 走道有攝影機更好)

    感謝版主大量, 讓小弟可以順便晾出一些相處的細節

發表回應