【訪談】QA 工作老實說

前言

大家好,「LINE 工程團隊的訪談」是一個新的系列活動,裡面包括了許多團隊的成員的分享。我們希望藉由這個活動,可以讓外部的夥伴可能夠了解在身為開發團隊在 LINE 台灣的生活狀況,會有許多有趣的小故事或是分享在相關的訪談中。 上個月【訪談】TECH FRESH 工作老實說 – 後續花絮與相關資訊整理 我們邀請了兩位技術新星實習生 (LINE TECH FRESH) 來談談實習生的有趣生活。

經常在許多社群聚會 (Test Corner) 上經常有夥伴好奇跑來問,聽說 LINE 的服務上線的是幾百萬,幾千萬人用。那這樣 QA 會很累嗎? 聽說 LINE 有跑敏捷開發, QA 在敏捷開發之中扮演著什麼角色呢? 這一次很開心邀請到負責全球化共用模組產品的 QA Lead – Yvonne Wang ,還有負責過 LINE SPOT 與目前要參與 Live Commerce 的 QA Lead – Johnny Wu 一起來談談 LINE 台灣開發團隊有趣的分享。

直播影片:

講者自我介紹

Live Commerce 的 QA Lead – Johnny Wu

(按下去直接跳到該片段)

Johnny Wu 有了十二年的從業經驗,在 LINE 台灣也有五年左右的工作經驗。算是對於整體工作流程相當的熟悉的管理人員。主要工作角色有兩個:

  • 身為 Service QA: 撰寫準備測試計畫,籌劃好產品服務的自動化測試,壓力測試與整個 Release Management 有參與。
  • 身為 QA Lead: 身為 QA Lead 主要工作在於人力資源的調配,相關的資訊跟員工訓練,設定目標與招募等等。

而 LIVE Commerce 更是近幾個月才剛上市的新功能,大家可以參考「 LINE 購物直播+1 喊單功能上線,最有趣的互動式購物等你來 」的介紹。 直播主透過 LIVE Commerce 的購物直撥平台可以透過影音直播的方式,快速將商品讓參與的人來了解,一起透過 「 +1 」來快速購買。 相關直播內容可以看 LINE 購物 超級直播天團 來了解。

Global Product 的 QA Lead – Yvonne Wang

(按下去直接跳到該片段)

第二位 Global Product 的 QA Lead – Yvonne Wang 則是有著相當有趣的經歷,曾經有當過工程師的她,目前在 QA 團隊中擔任 Global Products 團隊 Lead 。

而 Global Product 團隊負責的是許多產品或是服務中共用的模組,因為許多跨國的模組都需要重複的使用,並且希望可以在各個服務快速導入。 所以 Global Product 團隊對於產品的研發跟測試上有著許多特別的測試方式。

關於 Scrum 導入 QA 團隊的狀況

(按下去直接跳到該片段)

過往許多環境下都會等到產品做出來之後才請測試人員 (QA) 來驗證內容是否正確,但隨著時空環境逐漸改變的狀態下,就會開始有測試左移的方式出現,希望讓測試這件事情及早發生,接著就會提到 CI/CD 的狀態,也就希望有個中心化的工具來管理相關的內容,以及相關需求面的內容已經讓 QA 進來一起協調討論相關架構的問題,讓測試可以有相對應的策略可以應對,在更早的階段就跟著一起釐清需求,一起把更多的內容考慮進來,讓團隊成員更了解整個 Story 得清楚並大家一起切分每個 Story。

以上的內容也就是更希望讓整個團隊更加敏捷,讓這個良性循環更加地滾動下去。

平常如何與 PM 開發人員合作呢?

(按下去直接跳到該片段)

因為是 Global Product 的部分,因此做出來的產品內容需要符合通用性,讓每個平台使用 (不客製化),與所有的團隊成員 (Developer, Planner, QA) 一起釐清需求內容,之後會在 QA 團隊在不同的角色之間互相溝通安排測試 (計畫、自動化…),若做的過程中有發現有效能上的問題,則會再額外安排 Performance test 來確保產品效能。

此外在做的過程中若發現有相關的 Risk 可能造成 Release 無法如期交付,則會在與 Developer 以及 Planner 去討論是否要相關的解決方案讓內容來上到正式環境上,因此在協同合作上的工作就會相當重要。

QA Engineer: 內部俗稱 Service QA (SQA),主要負責溝通協調,與 Tester 一同規劃整個專案的測試內容,平常也會負責到 Release management、風險評估等等的內容。

Automation Engineer (俗稱 AE):大多在執行自動化相關開發,當然若有性能相關議題也就會涉及到 Performance test,相對來說自學能力也會要求較高 (廣泛找適合的工具),並很密切的跟 Developer 合作,讓 Automation 的部分可以更有效率且有品質的被拿出來測試 (當然也是要很多溝通)

當然想法上都可以直接提出,不會因為你的職責內容 (R&R) 就只能限定工作內容是什麼,內部都非常鼓勵大家踴躍提出問題,除了讓問題有更好的方式被解決之外,也希望透過溝通讓彼此的想法可以被有效交流,碰撞出更多對產品有益的火花。

常見問題:

1. 許多人以為 QA 都在最後才驗證

在 LINE 中 QA 有個很重要的工作就是 release management,需要評估 task 的優先權,需要跟 developer 溝通協調每個工作項目時間,讓整體的工作時程可以更有效地被控制,當然也有像是前期架構規劃、每個 Sprint 的規劃等等內容,若在最後才測試會遇到可能今天測沒過明天不能上版的問題,因此許多時程若可以更早被執行也能降低產品所遇到的風險。

2. 開發時程被壓縮時,專案 Delay 後該如何控管?

題目為已發生的項目,當下就剩下有限的選項能選擇,而在 LINE 中很注重的內容就是 – Retrospective,

  • 為什麼會發生這件事?
  • 我們之後要如何改善?

當中的回顧會議中都需要提出來改善此次遇到的問題,讓下次的專案控管上可以更有效地被控制,也讓相關的利益者 (stakeholders) 都知道整個 Delay 狀態,而別讓事情重蹈覆徹來避免風險產生,讓這樣的健康文化持續下去發酵。

3. QA 在整個專案團隊中是不是比較弱勢?

要在你提出的建議與問題看到你發現的問題是不是真的對團隊有幫助,且對於團隊的幫助有多少,能否讓團隊更加進步等等,相信在任何一個地方的團隊都會希望成員是可以更有效地提出問題解法。

4. QA 比較有成就感的地方?

Yvonne 希望自己用的東西是每天都是別人在用的,且 User 基底很大,很容易瞬間流量很大,因此「風平浪靜」就是一個分常有成就感的地方。

此外有很多內容也不是只有驗證,甚至參與的到整個產品的走向,而產品都是大家會用的內容,因此想要你的產品很多人用,來 LINE 就對了!

5. 合作中時出現類似「你不需要懂那麼多」時,該如何應對?

遇到相關的問題需要先了解一下自己的技能是不是沒有達到對方的期望,當你無法跟對方在同一個水平討論時,你需要花更多的時間去了解整個專案 / 技術 / 流程上的溝通內容,試著從你的角度切入提出一個能真正解決問題的方式,當方式被提出時就能了解你對這個領域熟不熟悉,因此把相關的 Domain Knowledge 補充起來,如此一來大家才能在同一個水平上溝通更多的內容。

團隊學習與分享

怎麼分享學習成果?

「在這邊分享已經不是選填,而是你的一個責任」,透過每週分享讓團隊成員可以學到彼此的所見所聞,隨著團隊越來越大之後可能輪一次講到就會很久之後,因此就會分配大家到不同的讀書會群裡面,督促大家持續「學習」與「分享」。

同時因為團隊越來越大,許多時候也需要做到橫向溝通讓負責不同產品的同仁也可以吸收到相關的知識,在往後遇到類似的問題時除了有人可以問,甚至也能自己解決問題。

當然除了技術領域之外,也可以分享非技術的領域,讓大家除了在工作上溝通合作之外,也可以了解到彼此的興趣與關注的議題,間接的提升團隊氣氛並且讓合作更加融洽!

最快樂跟最痛苦的一天?

去年在 COVID-19 的疫情下剛好 g0v 有開放口罩地圖的 API,讓大家都可以串接來查詢口罩改買藥局的相關資訊,剛好 LINE SPOT 本身的 location-based 屬性與口罩地圖不謀而合,這邊分享到團隊成員間的快速合作 (跨部門),使用 24 小時的時間就把整個功能做完並且等待 release 到正式環境上,這件事最有印象的地方,就是因為在有規模的公司下通常執行專案都需要有時程上的考量、資安、法律以及許多因素,才能兼顧到所有的內容,而此次大家目標一致讓有意義的事情並主動地讓專案可以快速被交付出來,讓團隊成員都對此次的行動非常驕傲。

痛苦的時候一定也會有,這邊分享 18 年的過年刮刮卡事件,此專案時程非常趕,沒有意料到瞬間流量非常大,許多不在預期內的錯誤都出來了,盤根末節的底層內容測試並沒有全盤考慮到的東西,過年的除夕大家都在吃飯卻自己在書桌上面監控、Trouble Shooting,讓整個過年都非常難過 (笑)。

也是因為 User 基底數量非常大,許多內容都無法預期使用者的數量。

另一個經驗分享則是在 Member get Member 的雙十一活動內容,台灣兩千三百萬就發了一億多張的抽獎卷,發生了效能上的問題,從問題發生的當下到暫時減緩問題已經大約處理完成,而當天晚上本來預計的慶功宴也在與 Dev 同仁討論如何繼續整修相關的內容,也讓 Yvonne 有一個非常特別的經驗 (沒辦法好好吃飯)。

求職相關的部分,給應徵者的一句話

參與者的相關詢問:

1. 有 35-40 歲,由 software RD 轉職 QA 成功的案例嗎? 這樣轉會是 Junior 還是 Senior 呢?

A: 什麼職位要看主管能交付怎樣的工作內容給面試者,還是要知道能否獨立且完整的處理專案相關內容,並間接地提出改善計畫等等,畢竟 RD 與 QA 實際上使用的技術與工作項目都差不多,只是面向的內容不同,因此在評估您適合哪種層級時大家需要先對自己評估一下。

2. 想問一下自動化測試工具基本上會用到哪些?Selenium?Postman?Jmeter?

A: 這些都會用到,當然還會依照不同的團隊會有相對應需要使用的工具 (Client, Frontend, Backend…),進來時不用十八般武藝全會,但需要您對於相關背景有一定的熟悉度。

想投履歷

> 小建議:別在履歷上放上太流水帳的東西,需要你陳述對任何你做過的內容要有熱情,這樣才會想讓產品的品質做更好,而不是只有做驗證的工作。

> 小建議 2: 上一個在你手上的案子的 biz model,怎麼完成 user story、系統架構、資料流等等的架構問題,讓你在測試上怎麼分類以及 break down 這些內容,把時間軸的管理讓面試官更簡單了解你,同時也因為跨國關係也都需要用英文,因此英文能力在 LINE 中也是很必要的能力,要能做到工作上的溝通

關於 LINE 開發者官方社群

立即加入「LINE 開發者官方社群」官方帳號,就能收到第一手 Meetup 活動,或與開發者計畫有關的最新消息的推播通知。▼

「LINE 開發者官方社群」官方帳號 ID:@line_tw_dev

關於「LINE 開發社群計畫」

LINE 今年年初在台灣啟動「LINE 開發社群計畫」,將長期投入人力與資源在台灣舉辦對內對外、線上線下的開發者社群聚會、徵才日、開發者大會等,已經舉辦 30 場以上的活動。歡迎讀者們能夠持續回來察看最新的狀況。詳情請看: