最近針對新開發的一款app進行了埋點測試。在這個過程中想總結自己對於埋點測試的學習與理解。
正文:
一、概念
埋點測試只是數據采集的一種術語,而數據采集是提供給運營工作人員去了解手機app對於某些模塊、場景的用戶使用情況,進行的一個觸發埋點,將埋點采集到的數據到的數據進行上報的過程。采集數據只是起點,將數據進行分析、整理、匯總以及報表展示,最終得出用戶對app普遍對使用行為,從而實現app面向用戶的改良才是目的,為了產品更好符合用戶需求體驗才是終點。
以下就埋點測試的流程、技巧、方法這幾個方面說起
二、測試流程
每一個app的完成,都少不了各方人員的共同努力,各司其職。如:產品經理符合提供需求以及確認app最后展示效果,研發人員負責編碼開發app,測試人員負責測試app是否滿足需求。為了更好的解釋,我畫了一個流程圖:
三、測試技巧
1.了解開發針對不同模塊分別用什么語言編寫。若使用RN語言,則只需要測試一端即可。
現在普遍app開發是使用原生編程語言(如:ios端使用objective-C,Android端使用Java)+RN。而RN是開源的跨平台移動應用開發框架,完整封裝了各種js內置的方法,則rn編碼時是調用js處理邏輯層處理事件,而js會被轉譯成object-c和java。其實簡單來說,我們在最上層編碼開發app就能在Android和ios端使用。因為同一套代碼,針對埋點測試只需要測試一端即可,這樣就提高效率。不過因為RN組件不全,某些特殊功能就無法解決,則還是需要各自的原生語言去編碼。關於rn使用的一個大致圖提供參考:
針對RN語言的普及度,我特意去請教研發人員。研發人員說,現在普遍業務模塊都是使用RN編碼,減少代碼冗余。除非某些特殊功能,比如:驗證碼、H5頁面。
2.發現埋點缺失時,全方面去定位分析。
比如,我們測試ios端的工具使用的xcode不是非常成熟。所以若是某一端有埋點,另外一段沒有埋點,問題可能來自:a.手機版本不兼容;b. xcode版本不兼容;c.中文日志有問題。
3.若是埋點真沒有,可以自主拉取代碼去跑動代碼檢查埋點。
發現問題后,盡可能去確認是否是bug,避免是因為個人失誤,導致自己處於被動狀態,同時也不易於項目的進展。
四、測試方法
其實我們有一個數據采集系統能統計埋點數據,數據經過分析匯總的,展示非常直觀。但是,平台並不能區分是Android端或者ios端的觸發,並且數據往往不是時時更新的,所以對於測試工作來說,無法保證埋點是否完成,數據不具有考核性。所以目前大部分公司是通過手機端連接電腦,通過查看日志方式去定位埋點情況。下面我們就Android端和ios端的測試方式講述下:
Android端
1.環境搭建:搭建ddms環境,可以使用android studio,或者直接使用android sdk里帶monitor。
2.測試步驟:
1)在Android手機端安裝帶有埋點的安裝包
2)在電腦端打開Android studio,同時通過usb連接手機
3)查看埋點字段表,執行對應有埋點的操作,比如:若app登錄處埋點。則若在app上點擊登錄button,正常情況下能通過查找日志找到對應的埋點。
4)檢查埋點是否正確,出錯的情況有:
a)漏埋點。比如,若執行a步驟找到埋點a;執行b步驟,卻找不到埋點b。大概率是埋點b沒有被埋。
b)多埋點。比如,若只是操作一次,卻找到多個埋點。
c)埋點和操作類型不對應,比如,點擊的是“確認”,卻上報了“返回”
ios端
1.環境搭建:安裝xcode
2.測試步驟:
1)在Android手機端安裝帶有埋點的安裝包
2)在電腦端打開xcode,同時通過usb連接手機
3)點擊xcode的window —>devices
4)查看埋點字段表,執行對應有埋點的操作,檢查埋點的准確性。
總結:
盡管埋點測試在整個測試流程中操作相對簡單,耗時較少,但是仍然是軟件測試中不可或缺的一部分,保證埋點正常運作。通過埋點匯總后反饋的報表,可以科學有效的規划出一款APP的未來走向,更滿足用戶體驗需求。