iT邦幫忙

2022 iThome 鐵人賽

DAY 20
1
Software Development

QA工程師的美麗與哀愁系列 第 20

第十九卷 - 什麼是遙測資料?客戶問題的照妖鏡,軟體維運團隊必備!

  • 分享至 

  • xImage
  •  

上一篇講述了在客戶環境瞎子摸象找問題的慘痛經驗

之後團隊在記取經驗後實做出又酷又好用的東西:遙測資料(Telemetry Data)

把Telemetry拆開,Tele-是遠端(remote),-metry是測量(measure)

所以利用遠端測量的技術,可以幫助我們收取到什麼資料呢?


遙測資料的目的

我看到對遙測資料最容易懂的定義如下:

Telemetry is the automated communication processes from multiple data sources.

中文可以翻成:遙測是透過自動化流程多個來源收集資料的方法

所以像是手動遠端登入客戶環境收log不算是收集遙測資料XD

而遙測資料的目的可以用收集資料的種類來看,一般可以簡單分成:

  • 可用性與效能
  • 應用功能與使用狀況
  • 安全性與日誌類

下面就簡單舉幾個例子來說明各個類型:


可用性與效能 (Availability & Performance)

這個應該是最常見的遙測資料類型,以伺服器的使用來說

維運團隊(Ops)很需要像是CPU, 記憶體, 硬碟空間, 網路的使用量資料

為了就是能夠在一個儀表板上面看到所有伺服器的狀態,以確保產品實時在線

還有可能需要知道產品使用尖峰時期最大量,來準備應對不同流量級別的解決方案

也可以針對效能跟成本做一個最適合的評估跟伺服器配置。


應用功能與使用狀況 (Application health and feature usage)

這個類型除了產品功能是否正常的監控之外,還有跟行銷業務相關的資料分析

舉個簡單的例子:運動手錶

當你帶著運動的時候,手錶會記錄你的心率,消耗的卡路里,做的運動種類

使用期間有沒有記錄到什麼錯誤報告,有沒有出問題到需要重開手錶

同時這些資料也能夠被手錶製造商拿來做資料分析,分析使用者的使用情境

哪些功能是使用者很喜歡用的,哪些功能幾乎沒在用,是否符合業務預期?

哪些年齡層的客戶喜歡跑步,一次跑多少公里?每次都跑多久?

藉由很細部的去切分出目前產品使用的客群,來修正未來產品改善的目標等


安全性與日誌類 (Security & Auditing log)

安全性類型通常是會紀錄像伺服器主機登入狀態,還有紀錄跟伺服器相關任何動作

以確保不會有未經授權的登入者(如駭客或外部人員),進入到伺服器中

一般來說通常內部稽核或是要取得外部機構認證的時候,這點就要做得更確實

包含內部人員的權限管控更要嚴格列舉並記錄,確保任何動作都能夠被記錄且查詢。


遙測資料對QA工程師的意義

上述一大串聽起來就是資料收集與分析,但對開發測試維運團隊有什麼幫助呢?

我覺得遙測資料對QA來說最重要的意義是:「真實記錄當下發生的狀況。」

很多時候客戶報一個問題,又說是偶而發生的效能問題

當下可能也不會收log或是錯誤報告,那就會很容易變成一個羅生門的case

身為QA,最頭痛的就是沒辦法重現客戶的問題,而必須要做遠端視訊來解決

而遙測資料對於「判斷過去特定狀態」有極大好處,因為資料都含日期時間

資料處理過後可以尋找特定時間內的狀態,就能驗證客戶說的是不是對的XD


回憶一下上篇的例子,我在客戶的生產環境中測試我們的debug build的時候

其實沒想過他的環境裡面裝了多個防毒軟體,備份軟體,會計軟體等等

所以容易造成軟體產品運行上會不時有效能問題,因為只有在特定時間才會運行。

如果我們有辦法持續蒐集客戶環境上的系統效能,就有辦法更容易找出蛛絲馬跡

更進一步,如果可以知道客戶環境中是否有安裝已知有相容性問題的軟體時

就能從遙測資料中提前反應出這個環境可能已經有確定的問題。


下篇我們來接續講把遙測資料的應用方法

資料可視化(Data Visualization)與儀表板(Dashboard)


上一篇
第十八卷 - 第一次在公司看日出只是為了把一個白金客戶的問題驗完!?
下一篇
第二十卷 - 讓老闆也看得懂遙測資料:監控指標(Monitoring metrics)
系列文
QA工程師的美麗與哀愁30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言