戴業(yè)偉
(四川大學(xué)計算機學(xué)院,成都 610065)
對于移動應(yīng)用程序,用戶界面(UI)是人與機器之間發(fā)生交互的地方。應(yīng)用程序開發(fā)人員設(shè)計用戶界面,幫助用戶了解其應(yīng)用程序的功能。圖形用戶界面(GUI)是大多數(shù)移動應(yīng)用程序最重要的UI 類型,其中應(yīng)用程序在屏幕上顯示內(nèi)容和可操作的小組件,用戶使用單擊,滑動和文本輸入等操作與小部件進行交互。
通過使用這些界面,終端用戶可以自娛自樂,方便地與朋友交流,從家里購買產(chǎn)品,網(wǎng)上轉(zhuǎn)賬,等等。用戶與系統(tǒng)之間的界面對用戶于系統(tǒng)的接受度,信任度和滿意度起著重要的作用[1]。為了滿足用戶的需求,軟件開發(fā)人員設(shè)計了許多用戶友好的界面[2]。最終,用戶的滿意度是必須的,因此根據(jù)不同的參數(shù)來評價用戶界面的質(zhì)量是非常重要的??捎眯詭椭覀冊u估用戶界面是否足夠有效,是否能夠輕松滿足用戶的需求[3],軟件產(chǎn)品的可用性已成為軟件質(zhì)量的關(guān)鍵因素。國際標準化組織(ISO)開發(fā)了多種模型來指定和測量軟件可用性[4]。
開發(fā)人員一般通過使用可用性評估方法和可用性測試技術(shù)來評估用戶界面。得益于深度學(xué)習(xí)技術(shù)的發(fā)展,一些研究人員將目光投向軟件可用性測試的自動化研究,根據(jù)不同的可用性評價指標和測試方法,得到的結(jié)果和測試的開銷是不同的。本文對當前可用性評價指標和可用性測試方法的相關(guān)研究進行綜述,分析了相關(guān)研究的特點和不足并指出了當前研究面臨的挑戰(zhàn)和未來的發(fā)展趨勢。
可用性的一般定義為:它關(guān)系到某事物在多大程度上成功地產(chǎn)生了期望的結(jié)果,狀態(tài)和達到結(jié)果高效程度,以及多大程度滿足個體的愿望、期望或需求,和所有關(guān)于客戶滿意度的問題[5]。
在計算機科學(xué)中,可用性一詞經(jīng)常出現(xiàn)在人機交互(HCI)領(lǐng)域。一些關(guān)于人機交互的書籍或論文提出了可用性的定義或特征。例如,Hix&Hartson[6]認為可用性與界面的有效性和效率以及用戶對界面的反應(yīng)有關(guān)。尼爾森[7-8]將可用性作為與系統(tǒng)可接受性相關(guān)的參數(shù)之一。他將五個屬性與可用性聯(lián)系起來:易于學(xué)習(xí)、能被高效使用、易于記憶、很少出錯(防止災(zāi)難性錯誤等)以及樂于使用。
Rubin[9]接受可用性包括Booth[10]概述的四個因素中的一個或多個:有用性、有效性(易用性)、易學(xué)性和用戶態(tài)度(好感度)。對于Smith 和Mayes[11]可用性集中在三個方面:易于學(xué)習(xí)、易于使用和用戶使用系統(tǒng)的滿意度。國際標準中,給出的可用性的定義是:特定的使用環(huán)境中,產(chǎn)品被指定的用戶使用以達到指定目標的有效性、效率和滿意程度(ISO/DIS 9241-11;European Usability Support Centres)。
當前針對移動應(yīng)用可用性測試的研究,主要可以分為三個方面,分別是可用性評價指標的研究,可用性測試的傳統(tǒng)方法研究,可用性測試的自動化方法研究。由于數(shù)據(jù)挖掘和人工智能領(lǐng)域在這幾年取得矚目的成就,不少研究人員投身于軟件自動測試的研究,自動測試技術(shù)相較于傳統(tǒng)方法(人來測)能夠節(jié)省大量的人力物力。由此可見,數(shù)據(jù)驅(qū)動的移動應(yīng)用可用性自動化測試技術(shù)將成為可用性測試領(lǐng)域未來的一個研究熱點。
最早被廣泛用于可用性測試的是尼爾森提出了10大可用性準則[12],系統(tǒng)可見性原則,匹配系統(tǒng)與真實世界,用戶的控制性和自由度,一致性和標準化,防錯原則,識別比記憶更好,使用靈活高效,審美和簡約的設(shè)計,幫助用戶識別判斷并從錯誤中恢復(fù),幫助文檔。Aggarwal 等人[13]在先前研究的基礎(chǔ)上,提出11 個影響軟件可用性的主要因素和16 個子因素,并根據(jù)多準則決策分析方法按照優(yōu)先級給出排序,直覺設(shè)計成為影響軟件可用性的首要因素。Nathan 等人[14]從受訪者處搜集數(shù)據(jù),通過多元線性回歸分析,給出了七個影響網(wǎng)站可用性的指標,即:顏色和字體的使用,圖形和多媒體的使用,網(wǎng)站目標的清晰性,網(wǎng)站的可信度,網(wǎng)站的交互性,網(wǎng)站導(dǎo)航的便捷性和網(wǎng)站的下載速度。部分指標之后被用于基于網(wǎng)絡(luò)的移動應(yīng)用。Kaur 等人[15]通過對大學(xué)生調(diào)研,從與先前研究不同的角度,總結(jié)了14個影響基于網(wǎng)絡(luò)的移動應(yīng)用的可用性因素。我們發(fā)現(xiàn),不同的研究從不同的角度提出影響移動應(yīng)用程序的可用性指標,但缺乏一個廣泛,全面的可用性準則和其量化指標,實施細則。
傳統(tǒng)方法是由評估人員或受測人員按照一定的流程和可用性準則對產(chǎn)品進行評估,其實現(xiàn)過程離不開人的參與。啟發(fā)式的評估方法最早是由Jakob Nielsen[16]提出,主要是讓數(shù)位可用性專家或非專家來評估界面設(shè)計是否符合一些公認的可用性準則(例如Nielsen 可用性準則)以及存在的可用性問題。啟發(fā)式評估的主要優(yōu)點是能夠在有限的資源下在短時間內(nèi)完成。這種方法非常靈活,不需要預(yù)先計劃,只要評估人員組集合起來,并且有產(chǎn)品或原型要評估,就可以執(zhí)行。但是此方法的有效性在很大程度上取決于評估者的技能和經(jīng)驗,當評估人員對產(chǎn)品領(lǐng)域沒有很好的了解時,啟發(fā)式的評估方法并不能得到很好的結(jié)果。認知走查法最早由Lewis 等人[17]提出,即從用戶的角度出發(fā),在界面上完成一些詳細的任務(wù),并檢查是否可以完成這些任務(wù),以及任務(wù)過程中存在的問題。認知走查法為在早期開發(fā)階段以相對較低的成本評估系統(tǒng)提供了一種選擇。走查法的前提是評估者需要具備認知科學(xué)術(shù)語、概念和技能的知識。如果評價者對方法的具體概念和原理不熟悉,就不能很好地進行測試。
遠程可用性測試方法[18],評估者和測試參與者不需要在同一個房間或地點,使測試更加方便。有同步和異步兩種實現(xiàn)方法,同步方法與傳統(tǒng)的實驗室方法是幾近等價的,異步方法能獲得更多的數(shù)據(jù),但是要耗費更多的時間,并且識別出的可用性問題更少。焦點小組法,是由大約6 到9 個用戶組成的會議,用戶在會上討論與系統(tǒng)有關(guān)的問題。評估者扮演主持人的角色(即詢問預(yù)先確定的問題),并從討論中收集所需的信息。這對于提高移動應(yīng)用未來版本的可用性很有價值,但是焦點小組獲得的數(shù)據(jù)的質(zhì)量與參與者的挑選和主持人提出的問題相關(guān)。情境訪談法[19],首先會詢問用戶一系列標準化的問題,然后當他們在自己的環(huán)境中工作時觀察和詢問他們。它需要研究者觀察用戶如何執(zhí)行任務(wù),并且讓他們在行動時談?wù)撍麄冋谧龅氖虑椤4朔椒ㄗ詈迷陂_發(fā)的早期階段使用,來幫助開發(fā)產(chǎn)品設(shè)計指南。
Kluth 等人[20]首次提出并實現(xiàn)了一種自動化的可行性測試方法。該方法通過已有工具,捕獲用戶與移動應(yīng)用交互的數(shù)據(jù)流,制定HCI 設(shè)計模式來檢測交互流中是否存在可用性問題。與傳統(tǒng)的可用性測試方法相比,不需要專家或受測者參與進來,減少了時間開支和人員開支等。但是研究只量化了四個指標進行測試,這是不充分的,并且在實現(xiàn)可行性測試自動化時,沒有使用GUI 界面的視覺信息。Ponce 等人[21]使用卷積神經(jīng)網(wǎng)絡(luò),根據(jù)恒溫器顯示器的視覺特點,來訓(xùn)練一個檢測網(wǎng)絡(luò),如果檢測到相應(yīng)圖案,則認為滿足系統(tǒng)狀態(tài)可見性這一可用性指標,并且用市場常用圖案來訓(xùn)練網(wǎng)絡(luò),這樣檢測到的結(jié)果可以說明其滿足,系統(tǒng)與現(xiàn)實世界匹配和一致性這兩個可用性指標。但是移動應(yīng)用界面遠比恒溫器顯示器復(fù)雜得多。Fernandez 等人[22]提出了一種數(shù)據(jù)驅(qū)動的方法,利用卷積神經(jīng)網(wǎng)絡(luò)從Web 截圖中學(xué)習(xí)復(fù)雜的模式和信息,由UX 專家標注標簽,每種啟發(fā)式方法的評分,以及表示需要改進的區(qū)域,從而訓(xùn)練一個網(wǎng)絡(luò)來評估網(wǎng)站的可用性。Swearngin 等人[23]使用眾包對一組移動應(yīng)用程序進行了大規(guī)模的界面可點擊性數(shù)據(jù)收集,并對人們用來區(qū)分可點擊元素和不可點擊元素的各種組件和符號進行了計算研究,訓(xùn)練了一個深度神經(jīng)網(wǎng)絡(luò),它可以預(yù)測用戶對界面元素的可點擊性和不可點擊性的感知程度,從而對界面元素點擊性的一些可用性問題進行自動檢測。
通過對當前軟件可用性測試研究的總結(jié),我們可以發(fā)現(xiàn)以下存在的問題:
(1)不同的可用性測試研究往往使用不同的可用性準則和評價指標,其中有相似的評價指標也有截然不同的評價指標,這樣不同的研究之間很難準確的比較孰優(yōu)孰劣。未來的研究應(yīng)該在先前基礎(chǔ)上,系統(tǒng)的分析影響移動應(yīng)用可用性的因素,給出更為合理,更加全面的可用性評價指標或準則。有了較為全面的評價指標,研究人員就可以更多的專注于測試方法,并且根據(jù)相同的指標,能夠以相同或相近的度量方式進行比較。
(2)深度學(xué)習(xí)在過去幾年一直是人工智能領(lǐng)域最熱門的話題,并且在不少領(lǐng)域都取得了非凡的成就,當前基于深度學(xué)習(xí)的可用性測試研究還很少,現(xiàn)有的研究或只選取少數(shù)可用性評價指標進行深度學(xué)習(xí)建模,或不能得到好的結(jié)果。這一研究方向仍然具有很大的潛力。