LY Corporation Tech Blog

支持 LY Corporation 和 LY Corporation Group (LINE Plus, LINE Taiwan and LINE Vietnam) 服務,宣傳技術和開發文化。

拓展QA日常工作的邊界

前言

大家好,我是 Jackson,目前於 LINE App Client Team 擔任 QA 工程師,現在主要職責包括負責 LINE App 中的第四個新聞頁籤與 LINE TRAVEL 的測試工作。

接下來,想與大家分享作為一名 QA 工程師,我是如何拓展自己在日常工作中的邊界,以下也是與臺北大學 GDSC 企業參訪的同學分享的內容。

為什麼會來到 LINE

自學生時代起,我主要於人工智能與區塊鏈技術的研究與開發。在畢業前,我對於如何將這些技術商業化產生了濃厚的興趣,這包括了如何將它們應用於不同的產業,以及如何利用這些新興技術協助客戶產品創造加值的服務。基於這樣的動機,我加入一家新創企業做學習。隨後,我又開始思考如何在產品推向市場時,確保每一次的用戶體驗和產品品質,這促使我開始接觸到軟體測試的領域。

加入 LINE 團隊將近兩年的時間裡,我經歷了許多有趣且充滿挑戰的任務,接下來,我將逐一與大家分享這些寶貴的經歷。

作為一個QA日常要做?

我想要向大家介紹的是,關於 LINE App 中第四個新聞頁籤的測試工作,這部分主要針對服務和原生應用程式(Native App)來進行的測試內容。

新聞頁籤的內容會依據用戶所註冊的國家而變化,目前台灣、香港、澳門和泰國地區使用的是 LINE TODAY,而日本則是採用 LINE NEWS。主要的測試工作集中在應用程式本身以及與裝置的整合性上,亦即是投影片上那些被紅色框標示的部分。另外,我們還針對不同智慧型手機會提供的獨特功能(以 iOS 用戶為例,會有主畫面和鎖屏的新聞小工具)來進行測試工作。

測試工作將從多個方面來確保應用程式的正確運作,包括基本功能、通知提示、應用程式間的互動、通知圖標的變化、特殊鏈接的操作,以及在網絡連接狀態下的表現等。此外,與系統的整合性測試也是重要的一環,包括將行動裝置改為橫向使用、切換不同的主題或顯示模式等。

日常工作大致可分為四個階段:

  1. 制定測試計畫:在此階段,針對新版本和新功能,我們會制定一份測試計畫。這包括確定新功能的影響範圍、選擇適合的測試策略,以及規劃所需的資源和時間表。
  2. 準備測試案例:依據測試計畫,我們會仔細編寫測試案例,這些案例詳細說明測試條件、預期結果以及具體的操作步驟。此外,我們也會撰寫自動化測試的腳本,以提高測試效率。
  3. 執行測試:依照準備好的測試案例進行測試,期間會記錄下測試的結果,並對遇到的問題進行追蹤和回報。
  4. 測試報告:在測試結束後,我們會整理測試的結果,撰寫一份測試報告。報告中會包含新功能的開發紀錄、測試的覆蓋範圍、發現的問題以及相關的建議,並將這些結果分享給團隊成員。

測試手法

隨著版本更新與新功能的持續迭代,測試項目相對應地增加,從而對自動化測試的需求也逐漸提升。在智慧型手機應用程式的自動化測試方面,我們採用了 Appium 作為測試框架。Appium 支援 iOS 與 Android 應用的自動化測試,這意味著我們能夠使用同一套測試腳本來測試不同平台上的應用,極大地提升了測試的效率與實施的可行性。更為關鍵的是,Appium 建立在 WebDriver 的基礎之上,使其能夠利用 Selenium 的豐富功能,進一步擴展了測試的彈性。

在實際操作中,Appium 的設置相對容易。首先,它支援虛擬機和實體機運行測試,這為測試提供了靈活性。其次,通過使用 Appium Inspector,我們可以輕鬆地檢查應用程式的元素,這對於撰寫和調試測試腳本至關重要。

我們也將自動化的測試結果整合到 Grafana 上做進一步的監控和分析,讓團隊能夠即時追蹤測試案例的執行時間、成功率、錯誤類型等關鍵指標,更能幫助我們量化測試的效率和效果。

此外,結合 Grafana 的警報系統,可以設置特定的觸發條件,一旦測試結果出現異常,相關人員將立即收到通知。這樣的機制大大縮短了問題發現到解決的時間,提高了問題處理的效率

除了日常工作之外

以上是平常在專案中 QA 的工作內容,接下來和各位介紹除了 QA 工作之外,我還參加了內部所舉辦的黑客松競賽。公司鼓勵各跨部門的合作,共同參與創意的發想,進一步實作出新的解決方案或產品原型,以解決業務上的挑戰或創新。

在競賽中,我們開發名為 ADFixer 的工具,其主要目的是對數位廣告的點擊率進行預測。廣告投放已成為各大廠商的曝光的管道,如果能夠根據平台的用戶興趣進行精準投放,並創作引人注目的廣告內容,將大大提升廣告的效果。

為了達到這一目的,我們建構 AI 模型來分析廣告內容,包括文字、物件、人像以及圖像的色彩分佈,從而評估素材的品質。這種方法不僅能夠優化廣告的點擊率成效,還能預測用戶的點擊意願,並提出相應的修改建議,進一步提升廣告主的廣告效益。

對於 AIGC 我想說...

這幾年時下流行的 AIGC 技術所創造出來的應用,逐漸出現在你我的生活中,但對於這些技術所產生的服務,仍然還有許多品質上的問題和疑慮,針對創建一個能夠撰寫廣告文案的 AIGC 助手,以確保初步產生的文案品質達到需求,從測試的角度我們可以採取以下幾個策略:

  1. 明確文案品質要求:首先,需要定義什麼樣的廣告文案是成功的。這可能包括文案的吸引力、說服力、創意性、語法正確性、品牌一致性等。這些標準將作為後續測試和評估的基礎。

  2. 設計多樣化的測試 Prompt:根據目標市場和產品類型,設計一系列多樣化的 Prompt,涵蓋不同的文案風格、長度和目的。這可以包括簡短的標語、長篇的產品介紹、針對特定人群的廣告文案等。這樣可以確保 AIGC 助手在各種情況下都能產生高品質的文案。

  3. 實施迭代測試和反饋循環:使用設計好的 Prompt 進行測試,並對生成的文案進行評估。評估可以通過人工審核,也可以結合自動化工具,例如使用自然語言處理(NLP)技術來評估語法正確性、情感分析等。這一過程應該是迭代的,直到文案的品質達到滿意的水平。

  4. 字數限制和風格一致性:在 Prompt 設計時,明確指定字數限制和風格要求。這有助於確保生成的文案符合特定的格式和風格指導,並避免生成過長或風格不一的文案。

  5. 利用A/B測試和用戶反饋:在實際應用中,進行A/B測試,將 AIGC 生成的文案與人工撰寫的文案進行比較,看哪一種文案在轉化率、用戶參與度等方面表現更好。此外,收集用戶對於文案的反饋,這些反饋可以作為進一步改進 AIGC 助手的重要依據。

  6. 持續監控和優化:即使 AIGC 助手達到了初步的品質要求,也需要持續監控其性能,並根據市場變化、用戶偏好的變化進行及時的調整和優化。

在真實情境下,LLM 產生出來的內容是難以預測的,對測試來說相對上也會困難很多,假設要測試文案是否帶有言論歧視的情況,這裡提供一個測試方案,我們可以利用另一個 LLM 搭配 Prompt 來為文案結果進行測試,並且同時設定條件,更能為測試產生可控的結果。

結論

最後,我想與大家分享賈伯斯在史丹佛大學的畢業演講中的一段話,他說:“你無法預先將你所經歷的、所做的點點滴滴串連起來,唯有在未來回顧時,你才會明白這些事情是如何被串連起來的。”

我從未預料到自己會在 LINE 中從事測試工作,更沒有想到我會將過去所學及所經歷的知識和經驗應用於公司中發揮作用。

正如賈伯斯因對文字藝術的興趣,最終讓我們在電腦上看到了各種精美的字體一樣,我期望大家都能追求自己感興趣的事物,相信總有一天,這些經歷和知識會在你的人生中被串連起來,展現其價值。