国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

一種面向移動(dòng)APP的半自動(dòng)化可用性測試方法

2022-01-27 02:47劉偉劉正捷
包裝工程 2022年2期
關(guān)鍵詞:可用性偏差頁面

劉偉,劉正捷

一種面向移動(dòng)APP的半自動(dòng)化可用性測試方法

劉偉,劉正捷

(大連海事大學(xué),大連 116026)

建立一種半自動(dòng)化可用性測試方法,為研究人員在使用傳統(tǒng)可用性測試方法識別移動(dòng)APP可用性問題時(shí)所需成本過高的問題提供一種解決思路。使用數(shù)據(jù)采集工具CAUX,在用戶執(zhí)行測試任務(wù)的過程中以屏幕錄制的方式自動(dòng)捕獲用戶行為數(shù)據(jù)。利用圖像對比技術(shù)從錄屏數(shù)據(jù)中提取實(shí)際的任務(wù)執(zhí)行序列,然后與預(yù)期的任務(wù)執(zhí)行序列進(jìn)行對比,自動(dòng)提取存在可用性問題的頁面和相關(guān)的用戶行為數(shù)據(jù),并輸出一份問題頁面報(bào)告。根據(jù)報(bào)告內(nèi)容可以快速確定可用性問題。最后以蝦米音樂作為案例進(jìn)行對比實(shí)驗(yàn)來驗(yàn)證方法的可行性。使用該方法發(fā)現(xiàn)了傳統(tǒng)方法難以發(fā)現(xiàn)的絕大多數(shù)存在可用性問題的頁面及其可用性問題。該方法通過遠(yuǎn)程自動(dòng)捕獲和半自動(dòng)分析用戶執(zhí)行測試任務(wù)時(shí)的錄屏數(shù)據(jù),可以有效發(fā)現(xiàn)APP在日常使用環(huán)境中存在的可用性問題,從而降低了可用性測試成本,有助于新手研究人員的使用,并很好地推動(dòng)產(chǎn)品的快速迭代。

可用性測試;移動(dòng)APP;用戶行為分析;人機(jī)交互;用戶體驗(yàn);屏幕錄制

可用性在ISO 9241-11中被定義為“特定用戶在特定環(huán)境中使用產(chǎn)品以達(dá)到其有效性、效率和滿意度的特定目標(biāo)的程度”[1],它是決定軟件產(chǎn)品成敗的關(guān)鍵因素[2]。隨著智能手機(jī)的普及,移動(dòng)APP逐漸覆蓋到生活中各個(gè)場景,因此提高APP可用性的需求不斷增加[3]??捎眯詼y試是在實(shí)踐中為了提高產(chǎn)品可用性而最常使用的方法之一[4]。但是可用性測試是一項(xiàng)復(fù)雜且昂貴的任務(wù),在可用性測試期間,研究人員會觀察用戶的行為,測量各種指標(biāo),聽取用戶的評論,并根據(jù)收集到的材料來確定可用性問題[5-7]??捎眯詥栴}的發(fā)現(xiàn)取決于研究人員的經(jīng)驗(yàn),其過程沒有明確的指導(dǎo),并且需要花費(fèi)大量的時(shí)間來進(jìn)行人工的數(shù)據(jù)收集和分析,這些約束是軟件開發(fā)人員在提高軟件可用性時(shí)面臨的最重要的挑戰(zhàn)。另外可用性測試并不是一次性的過程,而是需要在軟件迭代設(shè)計(jì)中不斷重復(fù)該過程,因此在先前的研究中已經(jīng)提出了輕量化分析的需求[4]。在本項(xiàng)研究中,通過自動(dòng)采集和分析用戶在目標(biāo)APP中執(zhí)行測試任務(wù)時(shí)的錄屏視頻,來提取存在的可用性問題,從而幫助研究人員快速識別這些問題,提高可用性測試的效率。

1 研究現(xiàn)狀

通過對可用性測試中的用戶數(shù)據(jù)進(jìn)行自動(dòng)化采集或處理,可以有效降低可用性測試的成本。根據(jù)數(shù)據(jù)來源的不同可以將現(xiàn)有工作方法分為兩類,分別是基于日志和基于視頻的方法。基于日志的方法需要采集用戶在執(zhí)行測試任務(wù)時(shí)的埋點(diǎn)日志,通過挖掘異常行為模式[8-9]或?qū)⑿袨槁窂娇梢暬痆10]來觀察和發(fā)現(xiàn)存在可用性問題的地方。由于大多數(shù)移動(dòng)APP無法獲取其源代碼,不能像web應(yīng)用一樣通過向頁面插入腳本代碼的方式來獲取日志數(shù)據(jù),所以基于日志的方法常應(yīng)用于web應(yīng)用。在人機(jī)交互領(lǐng)域,通過錄屏視頻和屏幕截圖來分析用戶交互和APP可用性是一種常見的方法[11-12]。為了方便研究人員分析錄屏視頻,Weichbroth等人[13]開發(fā)出回顧性視頻數(shù)據(jù)分析工具RVDA,研究人員可以使用該工具對視頻中的交互事件和可用性問題進(jìn)行人工注釋,工具會自動(dòng)為注釋的事件標(biāo)記時(shí)間戳并以CSV文檔的形式導(dǎo)出,方便研究人員進(jìn)行后續(xù)的分析而無需重復(fù)觀看視頻,但手動(dòng)注釋視頻是一個(gè)費(fèi)時(shí)的過程。Jeong等人[14]提出一種用戶行為可視化方法,利用圖像對比去除錄屏視頻中重復(fù)的幀,并將剩余的屏幕圖片以時(shí)間軸的形式呈現(xiàn)出來,使研究人員可以通過查看這些圖片序列來分析用戶行為,并發(fā)現(xiàn)其中的可用性問題。此方法可以使研究人員直觀地分析用戶行為,提高了分析效率,但仍需要人工查看并分析每一個(gè)圖片序列。

相關(guān)研究工作表明,通過采集和分析用戶執(zhí)行測試任務(wù)時(shí)的日志或錄屏數(shù)據(jù),可以以較低的成本發(fā)現(xiàn)可用性問題。但是基于日志的方法需要研究人員具有一定的代碼基礎(chǔ),且無法接觸大多數(shù)移動(dòng)APP的源代碼,因此不能適用于所有APP?;谝曨l的方法雖然解決了這一問題,但已有的方法仍需要較高的人工成本來分析數(shù)據(jù)。目前缺少一種輕量化可用性的測試方法,對移動(dòng)APP普遍適用并能自動(dòng)識別存在的可用性問題。為解決上述問題,本文基于一款數(shù)據(jù)采集工具CAUX,以屏幕錄制的方式自動(dòng)捕獲用戶執(zhí)行測試任務(wù)時(shí)的行為數(shù)據(jù),然后采用圖像對比技術(shù)和序列對比算法對數(shù)據(jù)進(jìn)行分析,自動(dòng)提取出存在可用性問題的頁面和相關(guān)的用戶行為數(shù)據(jù),并將結(jié)果生成一份問題頁面報(bào)告。研究人員根據(jù)報(bào)告內(nèi)容可以快速識別出可用性問題。

2 半自動(dòng)化可用性測試方法

本文提出方法共分為4個(gè)步驟:預(yù)期任務(wù)序列及基準(zhǔn)圖片定義、用戶行為捕獲、用戶行為序列提取和可用性問題檢測。首先,研究人員根據(jù)完成每個(gè)測試任務(wù)所必須經(jīng)過的頁面名稱定義預(yù)期的任務(wù)執(zhí)行序列,并截取APP中的關(guān)鍵頁面圖片作為基準(zhǔn)圖片集;其次,使用CAUX工具自動(dòng)采集用戶執(zhí)行每個(gè)測試任務(wù)時(shí)的錄屏視頻;再次,利用圖像對比技術(shù)將錄屏視頻中的幀圖片與基準(zhǔn)圖片集進(jìn)行對比,提取出由基準(zhǔn)圖片名稱表示的用戶實(shí)際執(zhí)行任務(wù)的行為序列;最后,根據(jù)所提出的偏差計(jì)算方法對每個(gè)任務(wù)的用戶行為序列和預(yù)期任務(wù)序列進(jìn)行對比分析,自動(dòng)提取出與可用性問題相關(guān)的頁面和用戶行為數(shù)據(jù),并形成問題頁面報(bào)告,研究人員根據(jù)報(bào)告內(nèi)容可以確定可用性問題,見圖1。

圖1 方法的體系結(jié)構(gòu)

圖2 可用性測試任務(wù)示例

圖3 存儲預(yù)期任務(wù)序列的文件示例

2.1 預(yù)期任務(wù)序列及基準(zhǔn)圖片定義

預(yù)期任務(wù)序列由2部分組成,即完成任務(wù)所必須經(jīng)過的任務(wù)頁面名稱(如圖2中的頁面A,B和C)和預(yù)期用戶在每個(gè)任務(wù)頁面中停留時(shí)長的基準(zhǔn)值,見圖2。頁面的預(yù)期停留時(shí)長由研究人員根據(jù)在頁面中用戶需要執(zhí)行的操作和常見頁面類型的一般規(guī)則來定義,例如人為因素指南規(guī)定了頁面響應(yīng)時(shí)間的上限,以避免用戶失去耐心[15]。最后將定義好的預(yù)期任務(wù)序列寫在一個(gè)txt文件中,每一行由任務(wù)頁面的“預(yù)期停留時(shí)長(秒)+頁面名稱”組成,文件命名為“task+任務(wù)編號”,見圖3。

通過將錄屏視頻和基準(zhǔn)圖片集進(jìn)行對比,可以提取出由基準(zhǔn)圖片標(biāo)識的用戶行為序列?;鶞?zhǔn)圖片較為集中的圖片包括以下2類頁面的截屏:(1)預(yù)期任務(wù)序列中的任務(wù)頁面;(2)在每個(gè)任務(wù)頁面中用戶可能會直接進(jìn)入的非任務(wù)頁面,例如圖2中的頁面D、E和F。截取的基準(zhǔn)圖片為進(jìn)入上述頁面后第一個(gè)狀態(tài)的屏幕截圖。由于頁面中的部分內(nèi)容會經(jīng)常發(fā)生變化,所以為了提高用戶行為識別的準(zhǔn)確度,需要為每張基準(zhǔn)圖片定義唯一代表該頁面的矩形固定區(qū)域(每次進(jìn)入該頁面,該區(qū)域的元素固定不變),在進(jìn)行圖像對比時(shí),只對圖片中的固定區(qū)域進(jìn)行對比,見圖4。

2.2 用戶行為捕獲

CAUX是一種數(shù)據(jù)采集工具,由客戶端和服務(wù)器端2部分組成[16]??蛻舳税惭b運(yùn)行在用戶手機(jī)上,但當(dāng)前所能采集的數(shù)據(jù)僅包括網(wǎng)絡(luò)狀態(tài)、光照強(qiáng)度等情境數(shù)據(jù),為CAUX增加了錄屏功能,從而使其可以采集APP中的用戶行為數(shù)據(jù)。使用CAUX采集用戶數(shù)據(jù)可以分為4個(gè)步驟,見圖5。

圖4 基準(zhǔn)圖片及固定區(qū)域示例

1)研究人員設(shè)置指令。研究人員將APP名稱和要采集的數(shù)據(jù)類型寫進(jìn)指令文件,然后將指令文件上傳到服務(wù)器。每條指令包含觸發(fā)條件和采集動(dòng)作。以蝦米音樂為例,一條指令可以設(shè)置觸發(fā)條件為蝦米音樂前臺運(yùn)行,采集動(dòng)作為開啟錄屏和采集電量信息。

2)用戶查看并執(zhí)行任務(wù)。用戶查看測試任務(wù),在CAUX中輸入自己的編號并啟動(dòng)CAUX,進(jìn)入目標(biāo)APP執(zhí)行任務(wù)。

3)CAUX客戶端解析指令文件,自動(dòng)采集數(shù)據(jù)。CAUX啟動(dòng)后會從服務(wù)器下載并解析指令文件,循環(huán)監(jiān)聽情境信息,若滿足指令文件中的觸發(fā)條件,則執(zhí)行采集動(dòng)作。

4)數(shù)據(jù)上傳。采集到的錄屏視頻和情境數(shù)據(jù)文件均以用戶編號和時(shí)間戳命名,并暫存在本地存儲器中。當(dāng)用戶確認(rèn)數(shù)據(jù)未涉及隱私后則通過CAUX通信模塊上傳至服務(wù)器。

圖5 使用CAUX采集用戶數(shù)據(jù)的流程

2.3 用戶行為序列提取

為了從錄屏視頻中提取用戶行為序列,利用圖像對比技術(shù)將視頻的幀序列與基準(zhǔn)圖片集中進(jìn)行對比,映射為由基準(zhǔn)圖片標(biāo)識的用戶行為序列。每個(gè)視頻的處理過程分為3個(gè)步驟:

1)預(yù)處理。首先將視頻讀取為幀序列,并依次將前后兩幀進(jìn)行整張圖片的對比,去除相鄰且重復(fù)的幀,每一組重復(fù)幀只保留第一幀。

2)匹配基準(zhǔn)圖片,并生成用戶行為序列。將剩余的每一幀圖片與基準(zhǔn)圖片集中的圖片進(jìn)行固定區(qū)域的對比(對比時(shí)先獲取基準(zhǔn)圖片中固定區(qū)域的對角坐標(biāo),然后按坐標(biāo)值截取兩張圖片中的對應(yīng)區(qū)域進(jìn)行對比),匹配到與該幀相同的基準(zhǔn)圖片后,保存該幀的時(shí)間戳和對應(yīng)基準(zhǔn)圖片的名稱,并輸出到日志文件中。

3)日志去重。最后由于某些頁面中存在部分動(dòng)態(tài)變化的元素(如動(dòng)圖),導(dǎo)致用戶即使一直停留在這些頁面未進(jìn)行操作,視頻中該頁面的幀圖片也會一直變化。因此第一步的預(yù)處理工作無法篩除掉這部分圖片,再經(jīng)過固定區(qū)域的對比,會導(dǎo)致生成的日志文件中有同一頁面重復(fù)出現(xiàn)多條日志的情況,因此僅保留第一條最早的日志。

其中,使用的圖像對比算法為感知哈希算法。由于視頻名中包含該視頻的時(shí)間戳,先將視頻的時(shí)間戳賦值給第一幀,然后通過計(jì)算每一幀在視頻中經(jīng)過的毫秒值,可以獲得每一幀圖片的時(shí)間戳。

每個(gè)任務(wù)視頻經(jīng)過圖像對比都會生成一個(gè)txt格式的日志文件,并以“task+任務(wù)編號+用戶編號”進(jìn)行命名。日志文件中的每條日志由“進(jìn)入某個(gè)頁面時(shí)的時(shí)間戳+該頁面的名稱”組成,這些日志條目構(gòu)成了用戶執(zhí)行該任務(wù)的行為序列,見圖6。

圖6 存儲用戶行為序列的文件示例

2.4 可用性問題檢測

由于可用性問題的存在,導(dǎo)致用戶實(shí)際執(zhí)行任務(wù)時(shí)無法按照預(yù)期的任務(wù)路徑和任務(wù)時(shí)間來完成該任務(wù),可能會出現(xiàn)邏輯和時(shí)間上的偏差。本文提出2種偏差計(jì)算方法來對用戶行為序列和預(yù)期任務(wù)序列進(jìn)行對比和計(jì)算,識別出用戶行為序列中的2種偏差,并提取相關(guān)的問題頁面和操作數(shù)據(jù)。最后將計(jì)算的結(jié)果生成一份問題頁面報(bào)告,研究人員通過報(bào)告可以較為容易地發(fā)現(xiàn)其中的可用性問題。

2.4.1 提取問題頁面

邏輯偏差計(jì)算。將用戶在任務(wù)頁面中執(zhí)行的每個(gè)不符合預(yù)期的頁面跳轉(zhuǎn)視為一次邏輯偏差。在某個(gè)任務(wù)頁面中,將所有用戶出現(xiàn)的邏輯偏差總數(shù)定義為該頁面的邏輯偏差值。同時(shí)將統(tǒng)計(jì)每個(gè)任務(wù)頁面中出現(xiàn)邏輯偏差的人數(shù)、進(jìn)入的非任務(wù)頁面及進(jìn)入的次數(shù)。通過邏輯偏差計(jì)算來提取所有出現(xiàn)邏輯偏差的頁面和相關(guān)數(shù)據(jù)。每個(gè)任務(wù)的邏輯偏差計(jì)算算法見算法1。

算法1:邏輯偏差計(jì)算算法。

輸入:某任務(wù)預(yù)期任務(wù)序列文件路徑path1,存儲該任務(wù)所有用戶行為序列文件的文件夾路徑path2。

輸出:存儲該任務(wù)邏輯偏差對象的集合LDS。

步驟1:讀取預(yù)期任務(wù)的序列文件,為文件的每一行創(chuàng)建一個(gè)頁面對象,用來保存該行中的頁面名稱和預(yù)期停留時(shí)長,并創(chuàng)建集合S來存儲這些頁面對象,然后進(jìn)入步驟2。

步驟2:從S中獲取前兩個(gè)頁面對象pre和next,并創(chuàng)建一個(gè)邏輯偏差對象logicDev,將pre賦值給logicDev的問題頁面變量,然后進(jìn)入步驟3。

步驟3:按順序讀取一個(gè)用戶行為序列文件,如果讀取成功,則為文件的每一行創(chuàng)建一個(gè)頁面對象,用來保存該行中的頁面名稱和時(shí)間戳,并創(chuàng)建集合U來存儲這些頁面對象,然后進(jìn)入步驟4;否則進(jìn)入步驟5。

步驟4:從U中獲取與pre相鄰的下一個(gè)頁面對象,如果獲取成功,將非next的頁面添加到logicDev的非任務(wù)頁面變量中,使logicDev的邏輯偏差用戶數(shù)變量+1,然后銷毀集合U,進(jìn)入步驟3;否則直接銷毀集合U,進(jìn)入步驟3。

步驟5:如果logicDev的邏輯偏差用戶數(shù)大于0,則將其添加到集合LDS中;否則清空logicDev對象,進(jìn)入步驟6。

步驟6:從S中獲取下一個(gè)頁面對象,如果獲取成功則將該頁面對象作為新的next,并將原來的next作為pre,然后進(jìn)入步驟3;否則結(jié)束運(yùn)算。

其中將logicDev定義為一個(gè)邏輯偏差對象,其包含4個(gè)成員變量:出現(xiàn)邏輯偏差的頁面、該頁面中出現(xiàn)邏輯偏差的人數(shù)、邏輯偏差值及用戶從該頁面進(jìn)入的非任務(wù)頁面集合。

計(jì)算邏輯偏差的示例,見圖7。頁面A中的3名用戶執(zhí)行的跳轉(zhuǎn)操作全都符合預(yù)期路徑,未出現(xiàn)邏輯偏差;頁面B中有2名用戶出現(xiàn)了3次錯(cuò)誤操作,因此頁面B存在邏輯偏差,出現(xiàn)偏差的用戶數(shù)為2,邏輯偏差值為3,進(jìn)入的錯(cuò)誤頁面為D和E。

時(shí)間偏差計(jì)算。如果用戶從一個(gè)任務(wù)頁面進(jìn)入到下一個(gè)任務(wù)頁面所經(jīng)歷的時(shí)間超過了為前一個(gè)頁面定義的預(yù)期停留時(shí)長,則視為一次時(shí)間偏差,見圖8。

對于一個(gè)存在時(shí)間偏差的任務(wù)頁面,應(yīng)統(tǒng)計(jì)在該頁面出現(xiàn)時(shí)間偏差的用戶數(shù),并計(jì)算這些用戶進(jìn)入下一個(gè)任務(wù)頁面的平均跳轉(zhuǎn)時(shí)長,將平均跳轉(zhuǎn)時(shí)長與預(yù)期停留時(shí)長的差值定義為時(shí)間偏差值。通過時(shí)間偏差計(jì)算,來提取所有出現(xiàn)時(shí)間偏差的頁面和相關(guān)數(shù)據(jù)。每個(gè)任務(wù)的時(shí)間偏差計(jì)算過程見算法2。

算法2:時(shí)間偏差計(jì)算算法。

輸入:某任務(wù)預(yù)期任務(wù)序列文件路徑path1,存儲該任務(wù)所有的用戶行為序列文件的文件夾路徑path2。

輸出:存儲該任務(wù)時(shí)間偏差對象的集合TDS。

步驟1:讀取預(yù)期任務(wù)序列文件,為文件的每一行創(chuàng)建一個(gè)頁面對象,用來保存該行中的頁面名稱和預(yù)期停留時(shí)長,并創(chuàng)建集合S來存儲這些頁面對象,然后進(jìn)入步驟2。

步驟2:遍歷S,為S中每個(gè)頁面對象創(chuàng)建一個(gè)時(shí)間偏差對象timeDev,并使timeDev的問題頁面變量存儲對應(yīng)的頁面對象,將所有timeDev存儲到集合TDS中,然后進(jìn)入步驟3。

步驟3:按順序讀取一個(gè)用戶行為序列文件,如果讀取成功,為文件的每一行創(chuàng)建一個(gè)頁面對象,用來保存該行中的頁面名稱和時(shí)間戳,并創(chuàng)建集合U來存儲這些頁面對象,然后進(jìn)入步驟4;否則進(jìn)入步驟9。

圖7 邏輯偏差計(jì)算結(jié)果示例

圖8 用戶在任務(wù)頁面間的跳轉(zhuǎn)時(shí)長示例

步驟4:從S中獲取前兩個(gè)頁面對象pre和next,令mark=–1,然后進(jìn)入步驟5。

步驟5:如果pre的預(yù)期停留時(shí)長大于0,進(jìn)入步驟6;否則進(jìn)入步驟8。

步驟6:在U中從元素序號mark+1開始,按順序查找第一次出現(xiàn)且與pre和next頁面名稱相同的頁面對象,如果兩者都找到,則將兩個(gè)頁面對象的時(shí)間戳賦值給Time1和Time2,并將與next頁面名稱相同的頁面對象的元素序號賦值給mark,并進(jìn)入步驟7;否則進(jìn)入步驟8。

步驟7:計(jì)算Time2-Time1的值,如果大于pre的預(yù)期停留時(shí)長,則按照pre在S中的元素序號從TDS中找到相同序號的timeDev,并對其進(jìn)行如下操作。將出現(xiàn)時(shí)間偏差的人數(shù)加1;將頁面跳轉(zhuǎn)的總時(shí)長加上Time2-Time1的值,然后進(jìn)入步驟8;否則直接進(jìn)入步驟8。

步驟8:從S中獲取下一個(gè)頁面對象,如果獲取成功則將該頁面對象作為新的next,將原來的next作為pre,并進(jìn)入步驟5;否則銷毀集合U,進(jìn)入步驟3。

步驟9:遍歷TDS中每個(gè)timeDev,如果timeDev的出現(xiàn)偏差用戶數(shù)大于0,則將其頁面跳轉(zhuǎn)總時(shí)間除以出現(xiàn)時(shí)間偏差人數(shù)的值作為平均跳轉(zhuǎn)時(shí)長,并將時(shí)間偏差值賦值為平均跳轉(zhuǎn)時(shí)長減問題頁面的預(yù)期停留時(shí)長;否則刪除這個(gè)timeDev。

將timeDev定義為一個(gè)時(shí)間偏差對象,其包含4個(gè)成員變量:問題頁面、該頁面出現(xiàn)時(shí)間偏差的用戶數(shù)、出現(xiàn)時(shí)間偏差的用戶在該頁面的跳轉(zhuǎn)總時(shí)長及時(shí)間偏差值。

計(jì)算時(shí)間偏差的示例:用戶從頁面C進(jìn)入頁面F的過程中未出現(xiàn)時(shí)間偏差;從頁面F進(jìn)入頁面G的過程中,有6名用戶超出了頁面F的預(yù)期停留時(shí)長,則認(rèn)為這6名用戶的操作出現(xiàn)了時(shí)間偏差,并統(tǒng)計(jì)他們的總耗時(shí)為90 s,從而計(jì)算出平均跳轉(zhuǎn)時(shí)長為15 s,時(shí)間偏差值為平均跳轉(zhuǎn)時(shí)長減預(yù)期停留時(shí)長,即為9,見圖9。

問題頁面報(bào)告。將偏差計(jì)算的結(jié)果形成一份HTML文檔格式的問題頁面報(bào)告,便于研究人員查看和分析其中的可用性問題。報(bào)告中每一行都顯示一個(gè)存在可用性問題的頁面,將可用性問題表示為“存在可用性問題的頁面和對應(yīng)頁面圖片+存在的偏差類型+出現(xiàn)偏差的用戶數(shù)+偏差值+問題描述”,并允許按任務(wù)號或偏差類型對問題進(jìn)行篩選,見圖10。

圖9 時(shí)間偏差計(jì)算結(jié)果示例

圖10 問題頁面報(bào)告示例

2.4.2 確認(rèn)可用性問題

通過兩種偏差計(jì)算方法提取出來的頁面,表示其存在用戶操作錯(cuò)誤和操作時(shí)間過長的問題,會影響用戶完成任務(wù)的有效性和效率[17],預(yù)示著可用性問題的存在。

通過查看報(bào)告中的問題描述,可以大致判斷問題頁面中出現(xiàn)可用性問題的部分。因此可以借助一些公認(rèn)的可用性準(zhǔn)則(比如Nilsen十大可用性準(zhǔn)則[18])來仔細(xì)分析整個(gè)問題頁面,其重點(diǎn)是在問題頁面中用戶應(yīng)該進(jìn)入的下一個(gè)任務(wù)頁面和進(jìn)入的錯(cuò)誤頁面的入口,從而判斷其是否滿足可用性準(zhǔn)則,以確定可用性問題。例如對于通過計(jì)算邏輯偏差提取出來的頁面,應(yīng)該關(guān)注其頁面元素設(shè)計(jì)是否符合用戶的認(rèn)知或滿足一致性原則,尤其是所進(jìn)入的錯(cuò)誤頁面的入口,是否會誤導(dǎo)用戶或引起用戶的誤操作;通過計(jì)算時(shí)間偏差提取出來的頁面,應(yīng)該關(guān)注頁面內(nèi)容和元素的布局,判斷是否會因?yàn)轫撁鎯?nèi)容過于復(fù)雜而造成用戶的認(rèn)知負(fù)擔(dān),或由于入口不明顯導(dǎo)致用戶需要花費(fèi)較多時(shí)間去查找或嘗試,而無法順利地進(jìn)入目標(biāo)頁面。

3 案例研究

選取蝦米音樂APP作為實(shí)驗(yàn)平臺進(jìn)行了傳統(tǒng)的可用性測試。測試的同時(shí)使用CAUX工具收集數(shù)據(jù),并使用方法對數(shù)據(jù)進(jìn)行自動(dòng)分析。最后通過對比和分析來驗(yàn)證所提出方法的有效性。

3.1 用戶招募

根據(jù)艾媒咨詢2019年至2020年中國手機(jī)音樂客戶端的市場研究報(bào)告發(fā)現(xiàn),在蝦米音樂的用戶中,30歲以下的青年用戶占比超過70%,因此招募了20名年齡在16~28歲、有音樂類APP使用經(jīng)驗(yàn)的用戶參與了本次實(shí)驗(yàn),男女比例為1∶1。

3.2 可用性測試任務(wù)

實(shí)驗(yàn)開始前為蝦米音樂制定了7個(gè)測試任務(wù)并給出了每個(gè)任務(wù)的詳細(xì)描述,見表1。

3.3 傳統(tǒng)可用性測試

由于測試參與者分布在不同地區(qū),且時(shí)間難以統(tǒng)一,無法將他們邀請到實(shí)驗(yàn)室中進(jìn)行測試,因此本次實(shí)驗(yàn)通過遠(yuǎn)程視頻會議的方式來進(jìn)行可用性測試。3名測試人員分別作為主持人(1名)和觀察者(2名)參與了測試。主持人負(fù)責(zé)組織會議并給用戶發(fā)放任務(wù),觀察者需要記錄用戶任務(wù)時(shí)間,觀察用戶的行為和表情,并對發(fā)現(xiàn)的問題進(jìn)行記錄,同時(shí)也要記錄用戶的反饋意見。測試完成后,研究人員會根據(jù)觀察和記錄的情況對參與者進(jìn)行訪談,對發(fā)現(xiàn)的可用性問題進(jìn)行進(jìn)一步確認(rèn)并了解問題發(fā)生的原因。記錄了測試過程中出現(xiàn)的所有問題和反饋,并對數(shù)據(jù)進(jìn)行分析和匯總,從11個(gè)頁面中提取出12個(gè)可用性問題,見圖11。

3.4 基于屏幕錄制的可用性測試

3.4.1 任務(wù)序列和基準(zhǔn)圖片集

按照上文中的方法為7個(gè)任務(wù)定義了7個(gè)預(yù)期任務(wù)序列和69張基準(zhǔn)圖片。為了提高用戶行為識別的準(zhǔn)確度,為20名用戶出現(xiàn)的3種分辨率的手機(jī)屏幕各提供了一組基準(zhǔn)圖片集。

3.4.2 數(shù)據(jù)采集

實(shí)驗(yàn)開始前,需要遠(yuǎn)程指導(dǎo)用戶完成CAUX的安裝和使用,并為每位用戶分配一個(gè)用戶ID。規(guī)定用戶每完成一個(gè)任務(wù),需要關(guān)閉蝦米音樂,然后再執(zhí)行下一個(gè)任務(wù)。當(dāng)用戶進(jìn)入蝦米音樂時(shí),CAUX會在后臺根據(jù)編寫的指令采集數(shù)據(jù),見表2。采集的數(shù)據(jù)會暫存在本地存儲器,當(dāng)用戶完成所有任務(wù)且確認(rèn)內(nèi)容不涉及隱私后,再將數(shù)據(jù)通過CAUX的通信模塊上傳至服務(wù)器。

3.4.3 數(shù)據(jù)分析

本次實(shí)驗(yàn)共收集到20名用戶執(zhí)行測試任務(wù)時(shí)的140段錄屏視頻。采用基于圖片對比的自動(dòng)化數(shù)據(jù)分析方法對視頻進(jìn)行分析,分析步驟如下。

第一步:用戶行為序列提取。根據(jù)視頻文件名中的任務(wù)編號將視頻分組,基于圖像對比算法將錄屏視頻與基準(zhǔn)圖片集進(jìn)行對比,得到140個(gè)用戶行為序列文件。

表1 可用性測試任務(wù)

圖11 傳統(tǒng)方法發(fā)現(xiàn)的可用性問題

表2 數(shù)據(jù)采集指令

第二步:識別問題頁面。對比每個(gè)任務(wù)的預(yù)期任務(wù)序列和用戶行為序列,利用上文中提出的兩種偏差計(jì)算算法,計(jì)算每個(gè)任務(wù)頁面的偏差值。篩選掉個(gè)別用戶出現(xiàn)偏差的頁面,提取出10個(gè)存在邏輯偏差和7個(gè)存在時(shí)間偏差的問題頁面,見表3—4。完成偏差計(jì)算后,為問題頁面匹配相應(yīng)的頁面圖片,并輸出HTML格式的問題頁面報(bào)告。

第三步:確定可用性問題。根據(jù)上文提出的方法,進(jìn)一步分析問題頁面報(bào)告中的偏差計(jì)算結(jié)果,以識別可用性問題。

通過上述三步,來完成用戶數(shù)據(jù)分析,最終在頁面中發(fā)現(xiàn)了10個(gè)可用性問題,見圖12。

3.5 實(shí)驗(yàn)結(jié)果分析

從提取的問題頁面及可用性問題、偏差值與可用性問題嚴(yán)重性的關(guān)系、研究成本這3個(gè)方面對實(shí)驗(yàn)結(jié)果進(jìn)行分析,以驗(yàn)證所提出方法的有效性。

3.5.1 問題頁面及可用性問題

由上文可知,使用傳統(tǒng)方法共發(fā)現(xiàn)11個(gè)頁面中的12個(gè)可用性問題,而使用本文提出的方法識別出了10個(gè)頁面中的10個(gè)可用性問題,并且在本文所提出的方法中,用戶進(jìn)入的錯(cuò)誤頁面和操作時(shí)長也都在可用性問題報(bào)告中,并提到了導(dǎo)致出現(xiàn)可用性問題的原因。傳統(tǒng)方法發(fā)現(xiàn)的另外2個(gè)可用性問題為問題2和10,是用戶主動(dòng)反饋的與滿意度相關(guān)的可用性問題,由于本文提出的方法目前無法采集和分析主觀的數(shù)據(jù),所以未發(fā)現(xiàn)這兩個(gè)問題。

由此可知,本文所提出的方法可以有效地提取存在可用性問題的頁面,并且根據(jù)本文給出的問題頁面報(bào)告可以看出,對存在可用性問題的頁面進(jìn)行分析,可以識別出除了與滿意度相關(guān)問題之外的大多數(shù)可用性問題。

3.5.2 偏差值與可用性問題的嚴(yán)重性

邀請3名可用性領(lǐng)域的專家,根據(jù)廣泛使用的Dumas提出的嚴(yán)重性等級來劃分標(biāo)準(zhǔn)[19],將使用本文提出的方法所得出的可用性問題分為一般、中等、重要和嚴(yán)重4個(gè)等級,然后列出問題頁面的偏差用戶數(shù)和偏差值,見表5。

通過表中列出的數(shù)據(jù)可以明顯發(fā)現(xiàn),隨著在頁面中出現(xiàn)偏差的用戶數(shù)和偏差值的增加,問題的嚴(yán)重性等級也逐漸升高。因此可以根據(jù)出現(xiàn)偏差的用戶數(shù)和偏差值的大小來大致判斷頁面中可用性問題的嚴(yán)重性等級。

3.5.3 研究成本

時(shí)間成本:統(tǒng)計(jì)研究人員在實(shí)驗(yàn)中的用時(shí),見圖13。傳統(tǒng)方法需要研究人員參加每一場測試且每場測

試只允許1名用戶參加,此外需要人工對數(shù)據(jù)進(jìn)行記錄和分析,共耗時(shí)45.5 h。CAUX工具采用C/S模式,支持多用戶同時(shí)參與測試,并可以對所采集的數(shù)據(jù)進(jìn)行半自動(dòng)化的分析,共耗時(shí)33 h,比傳統(tǒng)方法節(jié)約28%的時(shí)間。另外每增加一名用戶,使用傳統(tǒng)方法的研究人員都需要平均花費(fèi)1.9 h去參與測試和分析數(shù)據(jù),而使用本文提出的方法,研究人員僅需要平均花費(fèi)1.1 h來進(jìn)行測試前指導(dǎo)和半自動(dòng)化的數(shù)據(jù)分析工作即可。因此,對于用戶和任務(wù)數(shù)量較多的可用性測試,本方法較傳統(tǒng)方法可以有效地降低時(shí)間成本。但由于使用本方法在對一款A(yù)PP進(jìn)行可用性測試前,必須花費(fèi)時(shí)間進(jìn)行基準(zhǔn)圖片的采集和工具安裝調(diào)試等準(zhǔn)備工作,所以對于用戶和任務(wù)數(shù)量較少的小規(guī)模可用性測試,本方法不具備時(shí)間成本的優(yōu)勢。

表3 邏輯偏差計(jì)算結(jié)果

表5 可用性問題的嚴(yán)重性等級分類

圖13 研究人員在兩種方法中的用時(shí)對比

人力和物力成本:一場傳統(tǒng)的可用性測試需要3名測試人員和1名用戶參與,如果是遠(yuǎn)程測試則需要4臺筆記本和1部智能手機(jī);若在實(shí)驗(yàn)室中進(jìn)行測試則需要1個(gè)帶有測試間和觀察間的可用性實(shí)驗(yàn)室、1~3臺電腦、1臺攝像機(jī)和1部智能手機(jī),并需要用戶抽出較多時(shí)間花費(fèi)在實(shí)驗(yàn)室中。而本方法僅需要每名用戶使用1部智能手機(jī)完成測試,以及1名測試人員使用1臺電腦進(jìn)行測試準(zhǔn)備和數(shù)據(jù)分析即可。因此本文所提出的方法有效節(jié)省了人力和物力,避免了資源浪費(fèi)。

4 結(jié)語

本文提出了一種新的面向移動(dòng)APP的輕量化可用性測試方法,基于一款情境感知工具,以屏幕錄制的方式自動(dòng)采集用戶行為數(shù)據(jù),并結(jié)合圖像對比技術(shù)和序列對比算法對數(shù)據(jù)進(jìn)行半自動(dòng)化分析,從而以較低的成本識別可用性問題。本次實(shí)驗(yàn)招募了20名用戶并使用一款真實(shí)的APP進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,本方法不僅可以準(zhǔn)確有效的識別可用性問題和劃分出問題的嚴(yán)重性等級,并且當(dāng)測試產(chǎn)生的數(shù)據(jù)量較大時(shí),本方法較傳統(tǒng)方法具有明顯的成本優(yōu)勢。此外,預(yù)期該方法會對移動(dòng)APP中的用戶行為研究工作具有一定的參考價(jià)值。

但本文工作也存在幾點(diǎn)不足:首先由于所提出的方法在可用性測試前需要進(jìn)行基準(zhǔn)圖片的采集等準(zhǔn)備工作,所以針對用戶和任務(wù)數(shù)量較少的小規(guī)模測試,本文所提出的方法較傳統(tǒng)方法花費(fèi)的時(shí)間較多;其次無法對用戶的主觀數(shù)據(jù)進(jìn)行收集,存在一定的局限性。后續(xù)將會進(jìn)一步探索實(shí)現(xiàn)該方法的自動(dòng)化。

[1] BEVAN N, CARTER J, EARTHY J, et al. New ISO Standards for Usability, Usability Reports and Usability Measures[C]. Toronto, Canada: International Conference on Human-computer Interaction. Springer, Cham, 2016.

[2] WEICHBROTH P. Delivering Usability in IT Products: Empirical Lessons from the Field[J]. International Journal of Software Engineering and Knowledge Engineering, 2018, 28(7): 1027-1045.

[3] INAL Y, HACALOGLU T. Users’ Behavioral Strategies Toward Mobile App Problems: Fight or Flight[C]. Tro-n--dheim, NORWAY: Conference on E-Business, E-Serv-ices and E-Society, Springer, Cham, 2019.

[4] FOLSTAD A, LAW E, HORNBK K. Analysis in Practical Usability Evaluation: a Survey Study[C]. Austin Texas USA: Proceedings of the SIGCHI Conference on Human Factors in Computing Systems, 2012.

[5] REEVES S. How UX Practitioners Produce Findings in Usability Testing[J]. ACM Transactions on Computer- Human Interaction (TOCHI), 2019, 26(1): 1-38.

[6] WEI Q, CHANG Z, CHENG Q. Usability Study of the Mobile Library App: An Example from Chongqing Uni-versity[J]. Library Hi Tech, 2015, 33(3): 340-355.

[7] WIDYANTI A, AINIZZAMANI S A Q. Usability Eval-u-a-tion of Online Transportation’ User Interface[C].Ba-n-dung, Indonesia: 2017 International Conference on Inf-ormation Technology Systems and Innovation (ICITSI), IEEE, 2017.

[8] DE SANTANA V F, BARANAUSKAS M C C. WELFIT: A Remote Evaluation Tool for Identifying Web Usage Patterns Through Client-side Logging[J]. International Journal of Human-Computer Studies, 2015, 76: 40-49.

[9] GRIGERA J, GARRIDO A, RIVERO J M, et al. Automatic Detection of Usability Smells in Web Applications [J]. International Journal of Human-Computer Studies, 2017, 97: 129-148.

[10] PATERNO F, SCHIAVONE A G, PITARDI P. Timelines for Mobile Web Usability Evaluation[C]. Bari Italy: Proceedings of the International Working Conference on Advanced Visual Interfaces (AVI ‘16), ACM, 2016.

[11] QIAN J, CHAPIN A, PAPOUTSAKI A, et al. Remotion: A Motion-Based Capture and Replay Platform of Mobile Device Interaction for Remote Usability Testing[J]. Proceedings of the ACM on Interactive, Mobile, Wearable and Ubiquitous Technologies, 2018, 2(2): 1-18.

[12] MCMILLAN D, MCGREGOR M, BROWN B. From in the Wild to in Vivo: Video Analysis of Mobile Device Use[C]. Copenhagen Denmark: Proceedings of the 17th International Conference on Human-Computer Interaction with Mobile Devices and Services (MobileHCI ‘15), ACM, 2015.

[13] WEICHBROTH P. A Mixed-methods Measurement and Evaluation Methodology for Mobile Application Usab-ility Studies[J]. Architecture, 2019, 43(44): 45.

[14] JEONG J, KIM N H, IN H P. GUI Information-based Interaction Logging and Visualization for Asynchronous Usability Testing[J]. Expert Systems with Applications, 2020: 113289.

[15] SHITKOVA M, HOLLER J, HEIDE T, et al. Towards Usability Guidelines for Mobile Websites and Applications[C]. Wirtschaftsinformatik, 2015.

[16] 韓立, 劉正捷. CAUXT: 幫助研究人員在感興趣的情境中采集用戶體驗(yàn)數(shù)據(jù)[J]. 計(jì)算機(jī)科學(xué), 2018, 45(7): 278-285.

HAN Li, LIU Zheng-jie. CAUXT: A Tool to Help User Experience Researchers Capture Users’ Experience Data in Context of Interest[J]. Computer Science, 2018, 45(7): 278-285.

[17] 周偉, 肖東娟, 鞏淼森. 電子病歷交互界面的可用性研究[J]. 包裝工程, 2018, 39(20): 248-252.

ZHOU Wei, XIAO Dong-juan, GONG Miao-sen. Usabi-lity of Interactive Interface of Electronic Medical Rec-ords[J]. Packaging Engineering, 2018, 39(20): 248-252.

[18] NIELSEN J. 10 Usability Heuristics for User Interface Design[J]. Nielsen Norman Group, 1995, 1(1).

[19] DU MAS J F, JOSEPH S, REDISH, et al. Evaluating Us-ability Throughout Design and Development[M]. USA Greenwood: A Practical Guide to Usability Testing, 1999.

A Semi-Automatic Usability Testing Method for Mobile APP

LIU Wei, LIU Zheng-jie

(Dalian Maritime University, Dalian 116026, China)

This paper aims to establish a semi-automated usability testing method to provide an idea for solving the problem of high cost when using traditional usability testing methods to identify the usability problems of mobile APP. The user behavior data is automatically captured in the process of users performing test tasks in the form of screen recording by a data acquisition tool CAUX. The actual task execution sequence is extracted from the recorded screen data, through image comparison technology. Then the pages and behavior data with usability problems are automatically extracted by comparing the actual and expected task execution sequence, and a report is generated. Based on the content of the report, usability problems can be quickly identified by researchers. Finally, a comparative experiment with Xiami Music as a case to verify the feasibility of the method. The results show that the majority of pages with usability problems and their usability issues that are difficult to find with traditional methods were discovered by using this method. The usability problems of APP in the daily use environment can be found by automatically capturing and semi-automatically analyzing the screen recording data when users perform test tasks, thereby reducing usability testing costs, benefiting novice researchers and promoting rapid iteration of products.

usability testing; mobile app; user behavior analysis; human-computer interaction; user experience; screen recording

TB472

A

1001-3563(2022)02-0122-10

10.19554/j.cnki.1001-3563.2022.02.016

2021-09-20

劉偉(1995—),男,濟(jì)南人,大連海事大學(xué)碩士生,主攻計(jì)算機(jī)科學(xué)與技術(shù)。

劉正捷(1958—),男,大連人,碩士,大連海事大學(xué)教授,主要研究方向?yàn)槿藱C(jī)交互。

猜你喜歡
可用性偏差頁面
50種認(rèn)知性偏差
答案
讓W(xué)ord同時(shí)擁有橫向頁和縱向頁
加固轟炸機(jī)
真相
三大MOOC平臺Coursera、EdX和Udacity的可用性比較研究
驅(qū)動(dòng)器頁面文件大小的總數(shù)為何總是07
投資者認(rèn)知偏差研究綜述
类乌齐县| 青田县| 广宗县| 彩票| 黄陵县| 双桥区| 达拉特旗| 米林县| 福鼎市| 宜昌市| 申扎县| 襄汾县| 胶南市| 潮州市| 嘉鱼县| 江安县| 申扎县| 镇康县| 来宾市| 洞头县| 额尔古纳市| 潢川县| 丰城市| 鄂尔多斯市| 台州市| 邢台市| 五华县| 任丘市| 湛江市| 天祝| 崇州市| 平阳县| 墨竹工卡县| 高唐县| 湖南省| 宣汉县| 金山区| 南康市| 白城市| 隆林| 巫溪县|