Desktop端UI測(cè)試概要

最近在做一些測(cè)試,為產(chǎn)品的順利公測(cè)做部分支持。
以下為Desktop端的測(cè)試。
第一部分:Windows程序UI設(shè)計(jì)初步
1.背景介紹
UI就是用戶界面(user-interface),就是人和工具之間的界面。在人和機(jī)器的互動(dòng)過(guò)程中,必須經(jīng)由界面。這個(gè)界面實(shí)際上是體現(xiàn)在我們生活中的每一個(gè)環(huán)節(jié)的,例如我們開(kāi)車時(shí)候方向盤和儀表盤就是這個(gè)界面,看電視的時(shí)候遙控器和屏幕就是這個(gè)界面,用電腦的時(shí)候鍵盤和顯示器就是這個(gè)界面,到了使用軟件的時(shí)候,用戶能夠通過(guò)視覺(jué)看到的都是界面。這個(gè)界面包括硬件和軟件。我們這里講的UI設(shè)計(jì)特指Windows操作系統(tǒng)下的軟件界面。
用戶界面設(shè)計(jì)有三個(gè)基本的原則:a. 置界面于用戶的控制之下;b. 減少用戶的負(fù)擔(dān);c. 保持界面的一致性。 從程序設(shè)計(jì)開(kāi)發(fā)的角度來(lái)看,界面設(shè)計(jì)可以分為結(jié)構(gòu)設(shè)計(jì)、交互設(shè)計(jì)、視覺(jué)設(shè)計(jì)三個(gè)部分。
結(jié)構(gòu)設(shè)計(jì)也稱概念設(shè)計(jì) (Conceptual Design),是界面設(shè)計(jì)的骨架,通過(guò)對(duì)用戶研究和任務(wù)分析,制定出產(chǎn)品的整體架構(gòu)。基于紙質(zhì)的的低保真原型(Paper Prototype)可提供用戶測(cè)試并進(jìn)行完善。在結(jié)構(gòu)設(shè)計(jì)中,目錄體系的邏輯分類和語(yǔ)詞定義是用戶易于理解和操作的重要前提。
交互設(shè)計(jì)是程序的神經(jīng),使用戶與軟件處理部分進(jìn)行溝通,最終目的是使產(chǎn)品讓用戶能簡(jiǎn)單使用。 任何產(chǎn)品功能的實(shí)現(xiàn)都是通過(guò)人和機(jī)器的交互來(lái)完成的。因此,人的因素應(yīng)作為設(shè)計(jì)的核心被體現(xiàn)出來(lái)。
1)有清楚的錯(cuò)誤提示。錯(cuò)誤操作后,系統(tǒng)提供有針對(duì)性的提示。
2)讓用戶控制界面?!跋乱徊健?、“完成”,面對(duì)不同層次提供多種選擇,給不同層次的用戶提供多種可能性。
3)允許兼用鼠標(biāo)和鍵盤。同一種功能,同時(shí)可以用鼠標(biāo)和鍵盤。提供多種可能性。
4)允許工作中斷。例如用手機(jī)寫新短信的時(shí)候,收到短信或電話,完成后回來(lái)仍能夠找到剛才正寫的新短信。
5)使用用戶的語(yǔ)言,而非技術(shù)的語(yǔ)言。
6)提供快速反饋。給用戶心理上的暗示,避免用戶焦急。
7)方便退出,如手機(jī)的退出,是按一個(gè)鍵完全退出,還是一層一層的退出。提供兩種可能性。
8)導(dǎo)航功能。隨時(shí)轉(zhuǎn)移功能,很容易從一個(gè)功能跳到另外一個(gè)功能。
視覺(jué)設(shè)計(jì)是在結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,參照目標(biāo)群體的心理模型和任務(wù)達(dá)成的,是程序的臉面,要達(dá)到使用戶愉悅的目的,包括色彩、字體、頁(yè)面等。視覺(jué)設(shè)計(jì)的原則如下:
1)界面清晰明了。允許用戶定制界面。
2)減少短期記憶的負(fù)擔(dān)。讓計(jì)算機(jī)幫助記憶,例:User Name,、Password、IE進(jìn)入界面地址可以讓機(jī)器記住。
3) 依賴認(rèn)知而非記憶。如打印圖標(biāo)的記憶、下拉菜單列表中的選擇。
4)提供視覺(jué)線索。圖形符號(hào)的視覺(jué)的刺激;GUI(圖形界面設(shè)計(jì)):Where, What, Next Step。
5)提供默認(rèn)(default)、撤銷(undo)、恢復(fù)(redo)的功能
6)提供界面的快捷方式。
7)盡量使用真實(shí)世界的比喻。如:電話、打印機(jī)的圖標(biāo)設(shè)計(jì),尊重用戶以往的使用經(jīng)驗(yàn)。
8)完善視覺(jué)的清晰度。條理清晰;圖片、文字的布局和隱喻不要讓用戶去猜。
9)界面的協(xié)調(diào)一致。如手機(jī)界面按鈕排放,左鍵肯定;右鍵否定;或按內(nèi)容擺放。
10)同樣功能用同樣的圖形。
11)色彩與內(nèi)容。整體軟件不超過(guò)5個(gè)色系,盡量少用紅色、綠色。近似的顏色表示近似的意思。
2. UI設(shè)計(jì)的一些原則。
對(duì)于Windows用戶來(lái)說(shuō),用戶認(rèn)識(shí)到的就是所看到的。必須看到的現(xiàn)實(shí)就是:界面是面向用戶的,用戶需要的是開(kāi)發(fā)者開(kāi)發(fā)的應(yīng)用軟件滿足其需求,并且易于使用。好的用戶界面使得用戶不用閱讀用戶手冊(cè)或接受培訓(xùn)就能使用應(yīng)用軟件。
2.1 交互設(shè)計(jì)的一些原則:
2.1.1有清楚的,針對(duì)性的操作提示。 使用訊息和標(biāo)簽措辭要適當(dāng)。屏幕上顯示的文本是用戶主要的信息源。文本措辭直接影響用戶的理解。要使用用戶的語(yǔ)言,而非技術(shù)的語(yǔ)言。訊息措辭要積極,顯示用戶處于控制之中,并提示如何正確使用軟件。如, “你輸入了錯(cuò)誤信息”還是“帳號(hào)應(yīng)為8位數(shù)”會(huì)給用戶不同的體驗(yàn)。此外,訊息措辭要一致,在屏幕上顯示的位置要一致。
2.1.2讓用戶控制界面。”下一步”、”完成”,面對(duì)不同層次提供多種選擇,給不同層次的用戶提供多種可能性。讓用戶知道自己當(dāng)前的位置,使其做出下一步行動(dòng)的決定。允許工作中斷,方便退出。整個(gè)交互過(guò)程提供快速反饋。給用戶心理上的暗示,避免用戶焦急。
2.1.3允許兼用鼠標(biāo)和鍵盤等多種輸入。同一種功能,提供多種方式。
2.1.4使用非破壞性的缺省按鈕。通常每個(gè)屏幕定義一個(gè)缺省按鈕,如果用戶按了回車鍵調(diào)用此按鈕。問(wèn)題是有時(shí)用戶會(huì)意外敲擊回車鍵,結(jié)果激活了缺省按鈕。缺省按鈕決不能有潛在的破壞性,如刪除或保存(也許用戶根本不想保存)。最好的方法是使用組合鍵來(lái)設(shè)置按鈕,更徹底的方法是去掉默認(rèn)按鈕,這違背了同時(shí)支持多種輸入的原則,但是在特定的場(chǎng)合是可以考慮的。
2.1.5在操作焦點(diǎn)處打開(kāi)窗口。當(dāng)用戶雙擊一個(gè)對(duì)象顯示其編輯/詳情屏幕,用戶的注意力亦集中于此。因而在此處而不是其它地方打開(kāi)窗口才有意義。
2.1.6彈出菜單不應(yīng)是唯一的功能來(lái)源,主要功能菜單不應(yīng)該被隱藏起來(lái)。適當(dāng)使用上下文相關(guān)菜單。根據(jù)情況提供鼠標(biāo)右鍵的這種菜單,缺少過(guò)濫都是不科學(xué)的。
2.1.7提供標(biāo)準(zhǔn)的常用功能 ,提供界面的快捷方式。如,常用的按鈕、菜單應(yīng)該有和其它同類軟件相同的快捷鍵,一般 打開(kāi)放在文件菜單下。如果一個(gè)菜單項(xiàng),按下去會(huì)彈出一個(gè)窗口,那么這個(gè)菜單項(xiàng)的文字末尾應(yīng)該有一個(gè)省略號(hào)來(lái)暗示用戶,例如 “打開(kāi)…”
2.1.8要考慮各種層次的用戶的操作水平的不均衡。
2.2視覺(jué)設(shè)計(jì)的一些原則:
2.2.1一致性。保證界面的協(xié)調(diào)一致。對(duì)于列表框來(lái)說(shuō),如果雙擊其中的項(xiàng),使得某些事件發(fā)生,那么雙擊任何其它列表框中的項(xiàng),都應(yīng)該有同樣的事件發(fā)生。所有窗口按鈕的位置要一致,標(biāo)簽和訊息的措辭要一致,顏色方案要一致。
2.2.2 界面布局很重要。人們是自左而右,從上而下閱讀,基于人們的習(xí)慣,屏幕的組織也應(yīng)當(dāng)是自左而右,從上而下。界面清晰明了,屏幕不能擁擠,擁擠的屏幕讓人難以使用。實(shí)驗(yàn)結(jié)果(Mayhew,1992年)顯示屏幕總體蓋度不應(yīng)超過(guò)40%,而分組中屏幕蓋度不應(yīng)超過(guò)62%。如果要表達(dá)的信息比較多,最好分屏顯示。 區(qū)域排列。當(dāng)屏幕有多個(gè)編輯區(qū)域,要以視覺(jué)效果和效率來(lái)組織這些區(qū)域。區(qū)域左對(duì)齊是最好的方法。與之相應(yīng)的標(biāo)簽則應(yīng)右對(duì)齊,置于編輯區(qū)域旁。這是屏幕上組織區(qū)域的一個(gè)整潔有效的方式。 數(shù)據(jù)對(duì)齊要適當(dāng)。對(duì)一列列的數(shù)據(jù),通常的作法是整浮點(diǎn)數(shù)右對(duì)齊,字符串左對(duì)齊。 有效組合。邏輯上關(guān)聯(lián)的項(xiàng)目在屏幕上應(yīng)當(dāng)加以組合,以顯示其關(guān)聯(lián)性。反之,任何相互之間毫不相關(guān)的項(xiàng)目應(yīng)當(dāng)分隔開(kāi)。在項(xiàng)目集合間用間隔對(duì)其進(jìn)行分組/或用方框也同樣可做到這一點(diǎn)。
2.2.3界面間切換很重要。如果從一個(gè)屏幕轉(zhuǎn)換到另一屏幕很困難,用戶會(huì)很快灰心并放棄。當(dāng)屏幕流程與用戶想完成的工作流程相符,此軟件對(duì)用戶才有意義。由于不同用戶工作方式不同,應(yīng)用軟件需要有足夠的靈活以支持他們不同的方式。盡可能的提供給用戶一個(gè)相對(duì)容易、自由的操作界面;
2.2.4 提供視覺(jué)線索。圖形符號(hào)的視覺(jué)的刺激遠(yuǎn)遠(yuǎn)大于文字。盡量使用真實(shí)世界的比喻。如:電話、打印機(jī)的圖標(biāo)設(shè)計(jì),同樣功能用同樣的圖形。加圖標(biāo)的目的是為了使它更醒目,更突出。但是如果不加區(qū)分的全加、濫加,反而突出不了重點(diǎn),都是重點(diǎn)就等于都不是重點(diǎn)。加圖標(biāo)要保持風(fēng)格一致,不要一個(gè)按鈕的圖標(biāo)是XP風(fēng)格的真彩圖標(biāo),下一個(gè)又成了Win95風(fēng)格的16色圖標(biāo),到下一個(gè)又成了Mac風(fēng)格的唯美圖標(biāo),這樣一個(gè)大雜燴顯得極不專業(yè),降低用戶的信賴度。
2.2.5色彩與內(nèi)容。整體軟件不超過(guò)5個(gè)色系,盡量少用紅色、綠色。近似的顏色表示近似的意思。顏色使用要適當(dāng),得一致,以使整個(gè)軟件有同樣的觀感。此外,在不同平臺(tái)上,色彩的表現(xiàn)不盡人意.在一個(gè)系統(tǒng)上看上去很好,在另一個(gè)系統(tǒng)上常??瓷先ズ茉?需要考慮軟件的運(yùn)行環(huán)境而不是開(kāi)發(fā)環(huán)境下閉門造車。顏色的使用要遵循對(duì)比原則。確保屏幕的可讀性,最好的方法是遵循對(duì)比原則:在淺色背景上使用深色文字,在深色背景上使用淺色文字。藍(lán)色文字以白色為背景很容易讀,但以紅色為背景很難辨認(rèn)。問(wèn)題出在藍(lán)色與紅色之間沒(méi)有足夠反差,而藍(lán)色與白色之間則反差很大。字體使用要適當(dāng)。要用那些可讀性好的字體,如Times Roman。節(jié)儉、有效地使用兩、三種字體的屏幕看上去遠(yuǎn)勝于使用五、六種字體的屏幕。此外,字體的使用要一致,要記住每次改變了字體的大小、風(fēng)格(粗體、斜體、下劃線,……)、樣式或顏色,都是在使用不同的字體,就表示了他們的不完全一致。顯示一定要考慮用戶所使用的輸入/輸出設(shè)備,如觸摸設(shè)備相對(duì)要大些。
2.2.6豪華界面,不適合所有的軟件。華而不實(shí)的感覺(jué)往往來(lái)自界面。一般來(lái)講,游戲類、播放器類,需要美麗的界面。
3. 用戶的操作
對(duì)于用戶來(lái)說(shuō),操作越簡(jiǎn)單越好,程序的使用思路越清晰越好。下面結(jié)合環(huán)境簡(jiǎn)單說(shuō)明一下常用控件該如何合理使用。
3.1對(duì)于較長(zhǎng)時(shí)間的運(yùn)算:
建議使用進(jìn)度條(progress bar)比如要進(jìn)行數(shù)據(jù)庫(kù)操作,需要時(shí)間長(zhǎng)的情況。使用進(jìn)度條可以讓用戶有個(gè)等待的時(shí)間,否則用戶不知道你的程序在干什么,用戶對(duì)于不明不白花費(fèi)的時(shí)間一般容易惱火。設(shè)計(jì)的時(shí)候,對(duì)自己的操作運(yùn)算時(shí)間進(jìn)行估算,確定是否需要使用。如果只有5秒鐘,用戶一般是可以忍受的,加入進(jìn)度條反而會(huì)產(chǎn)生畫蛇添足的效果。
在使用進(jìn)度條的同時(shí),可以配合使用狀態(tài)欄。StatusBar經(jīng)常被放置在窗體的下面,建議使用dock??梢栽跔顟B(tài)欄中提供多個(gè)面板(pane)來(lái)提供不同的信息。 狀態(tài)欄中,通常都會(huì)有一個(gè)面板來(lái)提示程序運(yùn)行的信息,例如顯示進(jìn)度,時(shí)間等。需要擴(kuò)展的話,需要owerndrawn屬性支持。可以添加按鈕等,如取消。一般,在長(zhǎng)時(shí)間的后臺(tái)運(yùn)算開(kāi)始時(shí),在狀態(tài)欄中設(shè)置開(kāi)始的狀態(tài)信息,在計(jì)算結(jié)束之后,清除狀態(tài)信息或?qū)顟B(tài)信息設(shè)置為停止?fàn)顟B(tài),在后臺(tái)運(yùn)行期間通過(guò)狀態(tài)欄來(lái)顯示必要的錯(cuò)誤信息,提示用戶當(dāng)前的狀態(tài)。比如,進(jìn)行一個(gè)計(jì)算時(shí),開(kāi)始顯示:正在計(jì)算,請(qǐng)耐心等待。當(dāng)運(yùn)算結(jié)束時(shí)顯示:可以結(jié)束,正確退出。
等待指針的使用,在進(jìn)行計(jì)算的時(shí)候,尤其在很難計(jì)算出這些操作的進(jìn)度的情況下,設(shè)置前臺(tái)鼠標(biāo)指針為wait cursor是對(duì)用戶一個(gè)很好的提示。如果有些操作必須是阻塞的,這時(shí)需要使用等待指針(wait cursor)也是對(duì)用戶很好的交代。同樣,光標(biāo)的形狀是非常靈活的,合理的使用能夠給用戶恰當(dāng)?shù)奶崾尽?/p>
總之,使用上面的控件,能通過(guò)可視化的方式通知用戶有一些程序正在執(zhí)行過(guò)程中,可能需要等待一定的時(shí)間。
在程序中合理使用try…finally語(yǔ)句可以達(dá)到很好的效果。保證無(wú)論遇到什么情況,是正常也還,是異常也好,反正最后都會(huì)執(zhí)行到finally。
3.2操作開(kāi)始之后,在適當(dāng)?shù)臅r(shí)候提供必要的程序開(kāi)關(guān)。
用戶應(yīng)當(dāng)能夠通過(guò)界面操作取消或終止較長(zhǎng)時(shí)間的運(yùn)算。不管你在做什么,都要給用戶一個(gè)機(jī)會(huì),因?yàn)橛脩羰浅绦虻氖褂弥?。?dāng)然,不能讓用戶,任何時(shí)間都可以插手程序的操作,比方,一個(gè)數(shù)據(jù)保存的界面,保存,關(guān)閉,取消三個(gè)按鈕,當(dāng)正在保存數(shù)據(jù)的時(shí)候,如果強(qiáng)行關(guān)閉的話,會(huì)導(dǎo)致數(shù)據(jù)的異常,在這種情況下就需要適當(dāng)?shù)膯⒂茫每丶?。?duì)于該界面來(lái)說(shuō),“保存”點(diǎn)擊后,禁用“關(guān)閉按鈕”。在保存處理完畢后,再啟用“保存按鈕”。
3.3適時(shí)合理禁用一些菜單
通過(guò)可視化的方式提示用戶在運(yùn)行某些程序的時(shí)候某些功能是被禁用的,程序結(jié)束后,重新啟用一些被禁止的菜單和控件,并通過(guò)適當(dāng)?shù)姆绞教崾居脩舨僮饕淹瓿?。同時(shí),適當(dāng)?shù)膯⒂媒貌藛慰梢允褂脩舾逦睦斫鈶?yīng)用程序的工作流程,理解應(yīng)用程序執(zhí)行的邏輯。比如用戶,一般先要看你界面上什么功能可以使用,什么需要達(dá)到一定的前提才能使用。在執(zhí)行某功能的時(shí)候,通過(guò)禁用啟用,可以知道這個(gè)不能執(zhí)行。當(dāng)執(zhí)行完畢后,用戶發(fā)現(xiàn),哦,那個(gè)按鈕亮了,可以執(zhí)行了。
3.4驗(yàn)證用戶的輸入,使用validation control。
避免因?yàn)橛脩舻氖д`,導(dǎo)致程序的失敗,意外。使用界面友好的MessageBox,注意要在提示對(duì)話框中使用適當(dāng)?shù)陌粹o和圖標(biāo),它的重載比較多,根據(jù)具體的情況選擇不同的圖標(biāo)和按鈕。比方說(shuō),如果用戶強(qiáng)行退出,可以彈出警告,這個(gè)時(shí)候就應(yīng)該告誡用戶可能產(chǎn)生的不良后果。
3.6使用適當(dāng)?shù)目丶?/p>
使用TreeView控件來(lái)顯示有層次的數(shù)據(jù),使用ListView來(lái)顯示一組具有多個(gè)列的數(shù)據(jù),使用DataGrid控件可以讓用戶改變每一個(gè)單元格中的數(shù)據(jù),使用TabControl可以將窗體中的控件按照使用邏輯進(jìn)行分類,根據(jù)具體的需要開(kāi)發(fā)復(fù)合控件,擴(kuò)展控件,自定義控件。
3.7 合理使用Splitters Docking與Anchoring屬性
當(dāng)窗體放大時(shí),你的窗體上的各種元素是否能夠按照比例放大,并且填充區(qū)域呢。
用Splitter控件來(lái)分離用戶區(qū)域,使用Dock屬性的Fill選項(xiàng)使控件能夠填充屏幕的一部分,設(shè)置Anchor可以在窗口大小變化時(shí),保證窗體中的控件與窗體的相對(duì)位置不發(fā)生變化。通過(guò)設(shè)置
3.8不同分辨率下顯示效果的自動(dòng)調(diào)整。
考慮到用戶的使用環(huán)境,程序在高分辨率下,字體,圖片,顯示需要隨著分辨率自動(dòng)調(diào)整,以滿足用戶的視覺(jué)效果。
3.9通過(guò)使用Common Dialog可以讓用戶通過(guò)熟悉的界面來(lái)實(shí)行標(biāo)準(zhǔn)的操作
ColorDialog,F(xiàn)ontDialog,OpenFileDialog等等
3.10對(duì)于較長(zhǎng)時(shí)間的操作,不要阻塞主線程,也就是UI線程
如果時(shí)間長(zhǎng)的話,建議使用多線程??梢允褂肨hreadPool.QueueUserWorkItem()來(lái)進(jìn)行異步調(diào)用。在該類中,管理線程,QueueUserWorkItem:將方法變成代理,將代理交給QueueUserWorkItem,如果沒(méi)有其他線程,則立即計(jì)算,否則需要等待,給用戶提供 取消/停止 的功能。從其它線程中更新用戶界面中的控件,需要使用BeginInvoke和delegate。Hook,當(dāng)前線程中調(diào)用的方法,獲得另外線程中的方法,在另外的線程中操作。不是用來(lái)創(chuàng)建線程,只是讓線程去執(zhí)行想執(zhí)行的方法。代理 函數(shù)指針的封裝,自己作為對(duì)象 在程序中傳遞,實(shí)現(xiàn)callback機(jī)制。在NF2中,使用輔助線程Backgroundworker
3.11關(guān)閉確認(rèn)原則。關(guān)閉需要激活原則,使權(quán)限不夠的用戶不能關(guān)閉程序。對(duì)實(shí)時(shí)軟件尤其重要。
第二部分:UI測(cè)試要點(diǎn)
一. UI測(cè)試概念
UI測(cè)試指測(cè)試用戶界面的風(fēng)格是否滿足客戶要求,文字是否正確,頁(yè)面美工是否好看,文字,圖片組合是否完美,背景是否美觀,操作是否友好等等。
用戶界面 (UI) 測(cè)試用于核實(shí)用戶與軟件之間的交互。UI 測(cè)試的目標(biāo)是確保用戶界面會(huì)通過(guò)測(cè)試對(duì)象的功能來(lái)為用戶提供相應(yīng)的訪問(wèn)或?yàn)g覽功能。另外,UI 測(cè)試還可確保 UI 中的對(duì)象按照預(yù)期的方式運(yùn)行,并符合公司或行業(yè)的標(biāo)準(zhǔn)。包括用戶友好性,人性化,易操作性測(cè)試。UI測(cè)試比較主觀,與測(cè)試人員的喜好有關(guān),比如:頁(yè)面基調(diào)顏色刺眼;用戶登入頁(yè)面比較難于找到,文字中出現(xiàn)錯(cuò)別字,頁(yè)面圖片范圍太廣等都屬于UI測(cè)試中的缺陷,但是這些缺陷都不太嚴(yán)重。
二. UI測(cè)試要點(diǎn)
1. 按功能將界面劃分局域塊,完成相同或相近功能的按鈕框起來(lái), 并要有功能說(shuō)明
2. 界面要支持按Tab鍵的自動(dòng)切換功能;Tab鍵切換是否正確; Tab鍵的順序與控件排列順序要一直,目前流行總體從上到下,同時(shí)行間從左到右的方式;
3. 默認(rèn)按鈕要支持Enter及選操作,即按Enter后自動(dòng)執(zhí)行默認(rèn)按鈕對(duì)應(yīng)操作
4. 菜單點(diǎn)擊,窗口初始化
5. 父窗體或主窗體的中心位置應(yīng)該在對(duì)角線焦點(diǎn)附近;子窗體位置應(yīng)該在主窗體的左上角或正中;多個(gè)子窗體彈出時(shí)應(yīng)該依次向右下方偏移,以顯示窗體出標(biāo)題為宜
6. 在各種分辨率下是否顯示正常
7. 前景與背景色搭配合理協(xié)調(diào),反差不宜太大,最好少用深色,如大紅、大綠等。常用色考慮使用Windows界面色調(diào)。
8. 如果窗體支持最小化和最大化或放大時(shí),窗體上的控件也要隨著窗體而縮放;對(duì)于含有按鈕的界面一般不應(yīng)該支持縮放,即右上角只有關(guān)閉功能。
9. 窗體能否多次正確關(guān)閉,打開(kāi)
10. 滾動(dòng)條是否能拖動(dòng),并可通過(guò)鍵盤自動(dòng)拖動(dòng)
11. 與正在進(jìn)行的操作無(wú)關(guān)的按鈕應(yīng)該加以屏蔽(Windows中用灰色顯示,沒(méi)法使用該按鈕)。
12. 對(duì)可能造成數(shù)據(jù)無(wú)法恢復(fù)的操作必須提供確認(rèn)信息,給用戶放棄選擇的機(jī)會(huì),如刪除確認(rèn)提示,退出前確認(rèn)是否保存
13. 可寫控件的數(shù)據(jù)類型及長(zhǎng)度,盡量在前臺(tái)進(jìn)行控制
14. 非法的輸入或操作應(yīng)有足夠的提示說(shuō)明, 讓用戶明白錯(cuò)誤出處,避免形成無(wú)限期的等待,提示、警告、或錯(cuò)誤說(shuō)明應(yīng)該清楚、明了、恰當(dāng);提示順序按Tab順序
15. 對(duì)一些特殊符號(hào)的輸入、與系統(tǒng)使用的符號(hào)相沖突的字符等進(jìn)行判斷并阻止用戶輸入該字符, 特殊字符常有;;’”><,`‘:“[”{、\|}]+=)-(_*&&^%$#@!,.。?/還有空格
16. 在讀入用戶所輸入的信息時(shí),根據(jù)需要選擇是否去掉前后空格。
三. 一般客戶端測(cè)試邏輯劃分
1. 標(biāo)題欄
a、標(biāo)題文字描述的正確性
b、標(biāo)題欄中(最大化、最小化、關(guān)閉)按鈕,根據(jù)窗口的特性,如沒(méi)有最大化或者最小化狀態(tài)的窗口,應(yīng)該不顯示最大化和最小化按鈕,或者把按鈕Disable狀態(tài)顯示。
2. 文字
(1)文字描述的準(zhǔn)確性:
a、檢查文字的描述和所對(duì)應(yīng)的功能是否一致;
b、檢查錯(cuò)別字。
(2)文字用語(yǔ)的一致性:
(菜單、界面按鈕或者Label等、ToolTip、窗口標(biāo)題)比如選項(xiàng)設(shè)置,在主界面的有按鈕可以進(jìn)入選項(xiàng)設(shè)置對(duì)話框,或者菜單中有菜單項(xiàng)可進(jìn)入選項(xiàng)設(shè)置對(duì)話框中,那么,按鈕、菜單、對(duì)話框的標(biāo)題都應(yīng)該統(tǒng)一用詞,如用“選項(xiàng)”或者“設(shè)置”,而不能又用“選項(xiàng)”,又用“設(shè)置”,或者還有其他的的用詞。
(3)為了全面的檢查所有的文字,應(yīng)該檢查程序中的所有文字資源,因?yàn)橐恍?duì)話框可能比較難在黑盒測(cè)試的時(shí)候能全部都出現(xiàn)過(guò)。
3. 控件
(1) 控件對(duì)齊:
a、 并排關(guān)系的控件間應(yīng)該左對(duì)齊,同行的控件應(yīng)該橫向?qū)R。
b、 有所屬關(guān)系的控件應(yīng)該縮進(jìn)。
(2)控件狀態(tài):
a、不能操作的的控件的狀態(tài)應(yīng)該為Disable,這樣界面也起到引導(dǎo)用戶使用操作的效果。
b、有依賴關(guān)系的控件,比如(幾個(gè)選項(xiàng)供選擇(CheckBox或者RadioBox),每個(gè)選項(xiàng)下面都有獨(dú)立的設(shè)置(其他的控件:Edit、 ComboBox、CheckBox等),那么當(dāng)所屬的選項(xiàng)沒(méi)有選中時(shí),下面的控件應(yīng)該是Disable的,相反為Enable。
(3)控件的TabOrder
控件的TabOrder應(yīng)該依次從上到下、從左到右的順序,界面中默認(rèn)的TabOrder應(yīng)該落在界面上的第一個(gè)Enable狀態(tài)的控件上面。
(4)控件的右鍵菜單支持
允許輸入的控件都應(yīng)該支持右鍵菜單,方便習(xí)慣使用右鍵菜單的用戶復(fù)制、剪切、粘貼、全選等操作。
(5)控件的操作方式
a、單行文本的Edit輸入框中,對(duì)回車符的支持:回車默認(rèn)操作是本窗口中的“確定”按鈕的功能。
b、在可操作的列表控件(List、ListView)中,鼠標(biāo)雙擊的操作、鍵盤操作都應(yīng)該有對(duì)應(yīng)的默認(rèn)操作。比如下面的圖中,雙擊列表中某一項(xiàng),默認(rèn)操作就是Modify按鈕的操作;雙擊列表中的空白處,默認(rèn)操作應(yīng)該是Add按鈕的操作;選中列表中的項(xiàng)的情況下,按下Delete鍵,默認(rèn)操作應(yīng)該是 Remove按鈕的操作。
(6)Edit控件對(duì)輸入的有效性判斷
a、類型判斷:整型、浮點(diǎn)型的數(shù)據(jù)輸入框中,不允許輸入非表示數(shù)據(jù)的其他字符串(如:abcd或者其他字符等);
b、大小判斷:數(shù)據(jù)類型的數(shù)據(jù)如有大小范圍限制的,要對(duì)輸入的大小進(jìn)行判斷(如:表示月份的輸入框中,只能允許輸入1-12的數(shù)字。
c、長(zhǎng)度判斷:如果是程序處理的字符串有長(zhǎng)度限制,但是輸入框中沒(méi)有對(duì)輸入的數(shù)據(jù)長(zhǎng)度進(jìn)行限制,將有可能會(huì)造成程序錯(cuò)誤,或者處理后的結(jié)果和輸入的不相符合。
d、正確性判斷:表示路徑的或者文件名全路徑的輸入框,要對(duì)輸入的路徑是否為有效的路徑進(jìn)行判斷,如:輸入aaaa或者 C:\\//等為不正確的輸入。
4. 圖片
圖片顯示的篇幅不要太大。
5. 界面整體的顏色搭配
6. 窗口在任務(wù)欄上的系統(tǒng)菜單
每個(gè)應(yīng)用程序,如窗口在系統(tǒng)任務(wù)欄上有縮小圖標(biāo)的,都應(yīng)該有系統(tǒng)右鍵菜單的支持(還原、最大化、最小化等),要測(cè)試右鍵菜單中各個(gè)項(xiàng)的Enable和Disable狀態(tài)的正確性以及功能的正確性。
7. 提示對(duì)話框測(cè)試
1、文字描述的正確性
2、圖標(biāo)顯示的正確性:
a、程序錯(cuò)誤、操作錯(cuò)誤、禁止操作等的提示:MB_ICONHAND, MB_ICONSTOP,MB_ICONERROR
b、詢問(wèn)的提示:MB_ICONQUESTION
c、感嘆、警告的提示:MB_ICONEXCLAMATION ,MB_ICONWARNING
d、普通信息的提示:MB_ICONASTERISK,MB_ICONINFORMATION
第三部分: UE測(cè)試概要
UE(User Experience 用戶體驗(yàn)):指的是軟件應(yīng)用和審美價(jià)值,是以用戶至上的觀點(diǎn)作為基石的。主要由以下四種因素構(gòu)成:
1、印象(感官?zèng)_擊)
2、功能性
3、使用性
4、內(nèi)容
這些因素相互關(guān)聯(lián),不可分割,共同形成正確的用戶體驗(yàn)。這些因素也是一個(gè)軟件成功必不可少的主要因素。其中“印象”也可以歸結(jié)成這個(gè)軟件塑造的一個(gè)“品牌”效應(yīng)。
用戶體驗(yàn)是一種純主觀的在用戶使用一個(gè)產(chǎn)品(服務(wù))的過(guò)程中建立起來(lái)的心理感受。因?yàn)樗羌冎饔^的,就帶有一定的不確定因素。個(gè)體差異也決定了每個(gè)用戶的真實(shí)體驗(yàn)是無(wú)法通過(guò)其他途徑來(lái)完全模擬或再現(xiàn)的。但是對(duì)于一個(gè)界定明確的用戶群體來(lái)講,其用戶體驗(yàn)的共性是能夠經(jīng)由良好設(shè)計(jì)的實(shí)驗(yàn)來(lái)認(rèn)識(shí)到。
用戶體驗(yàn)主要是來(lái)自用戶和人機(jī)界面的交互過(guò)程。在早期的軟件設(shè)計(jì)過(guò)程中,人機(jī)界面被看做僅僅是一層包裹于功能核心之外的“包裝”而沒(méi)有得到足夠的重視。其結(jié)果就是對(duì)人機(jī)界面的開(kāi)發(fā)是獨(dú)立于功能核心的開(kāi)發(fā),而且往往是在整個(gè)開(kāi)發(fā)過(guò)程的尾聲部分才開(kāi)始的。這種方式極大地限制了對(duì)人機(jī)交互的設(shè)計(jì),其結(jié)果帶有很大的風(fēng)險(xiǎn)性。因?yàn)樵谧詈箅A段再修改功能核心的設(shè)計(jì)代價(jià)巨大,犧牲人機(jī)交互界面便是唯一的出路。這種帶有猜測(cè)性和賭博性的開(kāi)發(fā)幾乎是難以獲得令人滿意的用戶體驗(yàn)。至于客戶服務(wù),從廣義上說(shuō)也是用戶體驗(yàn)的一部分,因?yàn)樗峭a(chǎn)品自身的設(shè)計(jì)分不開(kāi)的??蛻舴?wù)更多的是對(duì)人員素質(zhì)的要求,而已經(jīng)難以改變已經(jīng)完成并投入市場(chǎng)的產(chǎn)品了。但是一個(gè)好的設(shè)計(jì)可以減少用戶對(duì)客戶服務(wù)的需要,從而減少公司在客戶服務(wù)方面的投入,也降低由于客戶服務(wù)質(zhì)量引發(fā)用戶流失的機(jī)率。
現(xiàn)在流行的設(shè)計(jì)過(guò)程注重以用戶為中心。用戶體驗(yàn)的概念從開(kāi)發(fā)的最早期就開(kāi)始進(jìn)入整個(gè)流程,并貫穿始終。其目的就是保證(1)對(duì)用戶體驗(yàn)有正確的預(yù)估(2)認(rèn)識(shí)用戶的真實(shí)期望和目的(3)在功能核心還能夠以低廉成本加以修改的時(shí)候?qū)υO(shè)計(jì)進(jìn)行修正(4)保證功能核心同人機(jī)界面之間的協(xié)調(diào)工作,減少BUG。
在具體的實(shí)施上,就包括了早期的focus group(焦點(diǎn)小組),contextual interview,和開(kāi)發(fā)過(guò)程中的多次usability study(可用性實(shí)驗(yàn)),以及后期的user test(用戶測(cè)試)。在設(shè)計(jì)–測(cè)試–修改這個(gè)反復(fù)循環(huán)的開(kāi)發(fā)流程中,可用性實(shí)驗(yàn)為何時(shí)出離該循環(huán)提供了可量化的指標(biāo)。
來(lái)源:http://www.mdong.org/?p=1643
寫的很細(xì)致。很希望能夠探討一下關(guān)于WINDOW客戶端軟件的系統(tǒng)兼容性如何處理的