張 鋼 鄧 鑫
摘要:軟件可用性是衡量用戶使用某種軟件執(zhí)行指定任務(wù)難易程度的重要指標(biāo)。軟件可用性測試能夠評估和測試軟件設(shè)計(jì)方案或者軟件產(chǎn)品的可用性水平。構(gòu)建功能完善的可用性測試實(shí)驗(yàn)室需要比較大的空間和比較大的資金投入。本文設(shè)計(jì)了一種比較簡單的基于C/S結(jié)構(gòu)的可用性測試實(shí)驗(yàn)環(huán)境,系統(tǒng)包含程序控制系統(tǒng)、鍵鼠記錄系統(tǒng)、圖像記錄系統(tǒng)和數(shù)據(jù)傳輸系統(tǒng),能夠滿足學(xué)生進(jìn)行軟件可用性測試實(shí)驗(yàn)教學(xué)的基本要求。
關(guān)鍵詞:可用性測試;用戶界面;實(shí)驗(yàn)
中圖分類號:G642 文獻(xiàn)標(biāo)識碼:B
1背景介紹
軟件可用性是軟件質(zhì)量的一種度量,是衡量用戶使用某種軟件執(zhí)行指定任務(wù)難易程度的重要指標(biāo)。軟件可用性測試能夠評估和測試軟件設(shè)計(jì)方案或者軟件產(chǎn)品的可用性水平。通過軟件可用性測試可以了解用戶在沒有幫助的情況下完成任務(wù)的比例,完成任務(wù)所用的時間,用戶尋求幫助的次數(shù)等。通過軟件可用性測試也可以了解用戶或初學(xué)者在沒有幫助的情況下找到某一功能所用的時間,以及在整個使用過程中犯了多少錯誤;初學(xué)者學(xué)習(xí)某一功能所用的時間,以及在學(xué)習(xí)該功能期間犯了多少錯誤;有經(jīng)驗(yàn)的用戶使用同樣功能時所需的時間等等。軟件可用性已經(jīng)成為用戶界面設(shè)計(jì)的重要理念,是衡量軟件系統(tǒng)和用戶界面優(yōu)劣的重要指標(biāo),軟件可用性測試也逐步成為商品化軟件不可缺少的重要測試內(nèi)容。
軟件可用性測試的方法與傳統(tǒng)的軟件測試方法(比如:黑盒法和白盒法)有很大不同。首先,可用性測試一定是有用戶參與的測試;其次,可用性測試通常需要在可用性測試實(shí)驗(yàn)室中進(jìn)行;第三,可用性測試的是通過觀察和分析用戶操作過程發(fā)現(xiàn)軟件存在的可用性問題。
天津大學(xué)軟件學(xué)院從2005年開設(shè)“用戶界面設(shè)計(jì)”選修課,用戶界面可用性是課程中的重要內(nèi)容,也是需要學(xué)生實(shí)際操作的內(nèi)容。為了能夠在課程中為學(xué)生開設(shè)軟件可用性測試實(shí)驗(yàn),在Windows操作系統(tǒng)平臺上設(shè)計(jì)開發(fā)了一個比較簡單的基于C/S結(jié)構(gòu)的軟件可用性測試實(shí)驗(yàn)環(huán)境。
2相關(guān)工作
可用性測試實(shí)驗(yàn)室通常包括測試室和觀察室,兩者之間用單向反光玻璃隔開,一般可用性測試實(shí)驗(yàn)室的布局如圖1所示。測試室中安裝了多個攝像頭和麥克風(fēng)用于記錄受試者在使用軟件系統(tǒng)和其它產(chǎn)品時的動作、表情和聲音,還有喇叭用于傳送測試人員的指令。觀察室中裝配有多種可用性測試設(shè)備,測試人員可以控制測試室中的攝像頭,可以將多個攝像機(jī)的圖像同時顯示在計(jì)算機(jī)屏幕上,可以通過麥克風(fēng)向受試者傳送指令,攝像機(jī)視頻圖像壓縮后存入計(jì)算機(jī)系統(tǒng)。微軟、IBM、西門子等一些企業(yè)建立的可用性測試實(shí)驗(yàn)室基本上都是屬于這種類型。
構(gòu)建這樣的可用性測試實(shí)驗(yàn)室需要比較大的空間和比較大的資金投入,顯然這樣的可用性測試實(shí)驗(yàn)室并不適合于本科生教學(xué)的需要。
3可用性測試實(shí)驗(yàn)教學(xué)環(huán)境總體框架
設(shè)計(jì)開發(fā)可用性測試實(shí)驗(yàn)教學(xué)環(huán)境的基本思想是充分利用學(xué)院計(jì)算機(jī)機(jī)房的現(xiàn)有計(jì)算機(jī)系統(tǒng)和網(wǎng)絡(luò)設(shè)備,在滿足數(shù)據(jù)采集快速準(zhǔn)確和系統(tǒng)運(yùn)行穩(wěn)定的前提下,盡量做到低成本,以便可以為更多的學(xué)生提供進(jìn)行軟件可用性測試實(shí)驗(yàn)的條件,使更多的學(xué)生能夠親身經(jīng)歷和體驗(yàn)測試過程,從而加深對軟件可用性的理解。
3.1系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)
本系統(tǒng)采用了C/S結(jié)構(gòu)的分布式設(shè)計(jì),系統(tǒng)中設(shè)置了一個主控制計(jì)算機(jī)(主控制臺)、兩個圖像采集計(jì)算機(jī)(配有USB攝像頭)和一個測試用計(jì)算機(jī),其系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示。
采用C/S結(jié)構(gòu)把各項(xiàng)工作分布到不同的計(jì)算機(jī)上完成,可以增加系統(tǒng)的靈活性,同時可以避免不同程序之間可能存在的沖突。主控制臺控制其他所有子程序端,記錄測試過程中的視頻信息、鍵盤和鼠標(biāo)操作信息,實(shí)時顯示子程序反饋給主控制臺的各種測試信息。兩個圖像采集計(jì)算機(jī)分別從不同的角度記錄用戶(受試者)在參與可用性測試過程中的表情和動作。測試用計(jì)算機(jī)除了運(yùn)行待測試軟件系統(tǒng)外,還負(fù)責(zé)記錄用戶(受試者)在參與可用性測試過程中的所有鍵盤操作和鼠標(biāo)操作。
3.2系統(tǒng)功能結(jié)構(gòu)
本系統(tǒng)從功能結(jié)構(gòu)上分為四部分:程序控制系統(tǒng)、鍵鼠記錄系統(tǒng)、圖像記錄系統(tǒng)和數(shù)據(jù)傳輸系統(tǒng),如圖3所示。程序控制系統(tǒng)負(fù)責(zé)程序的開始、停止和創(chuàng)建記錄等功能;鍵鼠記錄系統(tǒng)負(fù)責(zé)記錄測試人員的鍵盤與鼠標(biāo)活動;圖像記錄系統(tǒng)負(fù)責(zé)記錄測試過程中的視頻信息;數(shù)據(jù)傳輸系統(tǒng)負(fù)責(zé)各子系統(tǒng)間的數(shù)據(jù)傳送。
4系統(tǒng)功能設(shè)計(jì)
4.1程序控制系統(tǒng)設(shè)計(jì)
程序控制系統(tǒng)是整個程序的控制部分,主持測試的測試人員進(jìn)行系統(tǒng)設(shè)置和觀察測試過程的界面。程序控制系統(tǒng)根據(jù)測試人員輸入的IP地址分別與鍵鼠記錄系統(tǒng)和圖像記錄系統(tǒng)連接;根據(jù)測試人員輸入的項(xiàng)目名稱和保存地址建立測試項(xiàng)目文件夾以保存相應(yīng)的記錄文件。程序控制系統(tǒng)的初始用戶界面如圖4所示。
4.2鍵鼠記錄程序
鍵鼠記錄程序記錄用戶鍵盤操作與鼠標(biāo)操作的具體信息。鍵鼠記錄程序根據(jù)控制端的命令進(jìn)行工作,根據(jù)控制端傳送的文件地址保存記錄的信息,并及時反饋運(yùn)行信息給控制端,鍵鼠記錄程序的顯示界面如圖5所示。
鍵鼠記錄程序要與控制端建立穩(wěn)定高速的連接,要準(zhǔn)確迅速的記錄并保存用戶操作信息,并且要具備較好的容錯能力。數(shù)據(jù)保存為TXT格式文件,系統(tǒng)記錄了鍵盤操作、鼠標(biāo)點(diǎn)擊時間以及此時鼠標(biāo)的坐標(biāo)位置等。
4.3圖像記錄程序
圖像記錄程序記錄用戶操作過程的圖像信息。圖像記錄程序根據(jù)控制端的命令進(jìn)行工作,根據(jù)控制端傳送的文件地址保存記錄的信息,并及時反饋運(yùn)行信息給控制端。
圖像記錄程序要與控制端建立穩(wěn)定高速的連接,可以容忍一定的延遲,但要準(zhǔn)確迅速的記錄并保存用戶操作信息,并且要具備較好的容錯能力,同時應(yīng)盡量保證兩個圖像記錄端的同步性。圖像的顯示、采集和記錄工作使用VFW(Video for Windows)軟件,圖像以AVI文件標(biāo)準(zhǔn)保存到磁盤上。
5總結(jié)
由于本系統(tǒng)對硬件系統(tǒng)和實(shí)驗(yàn)室環(huán)境沒有特殊要求,一般的計(jì)算機(jī)機(jī)房都能滿足運(yùn)行要求。在配置實(shí)驗(yàn)環(huán)境時,應(yīng)該把相鄰近的4臺計(jì)算機(jī)配置為一組,前面安排測試計(jì)算機(jī)和圖像采集計(jì)算機(jī),后面安排主控制計(jì)算機(jī),以便形成類似無人指導(dǎo)測試的環(huán)境。天津大學(xué)軟件學(xué)院在“用戶界面設(shè)計(jì)”課程中,利用軟件可用性測試實(shí)驗(yàn)環(huán)境開設(shè)用戶界面可用性測試實(shí)驗(yàn),給學(xué)生提供了實(shí)踐可用性測試的基本條件,取得了比較好的效果。本文的工作得到天津大學(xué)“本科實(shí)驗(yàn)教學(xué)改革與研究”項(xiàng)目的支持,在此表示感謝。
參考文獻(xiàn):
[1] Larry L. Constantine, Lucy A. D. Lockwood. Software for Use[M]. 北京:機(jī)械工業(yè)出版社,2003.
[2] Jakob Nielsen. 可用性工程[M]. 劉正捷,等譯. 北京:機(jī)械工業(yè)出版社,2004.