GUI測試點

? ? ? 界面是軟件與用戶交互的最直接的層,界面的好壞決定用戶對軟件的第一印象。而且設計良好的界面能夠引導用戶自己完成相應的操作,起到向導的作用。同時界面如同人的面孔,具有吸引用戶的直接優勢。設計合理的界面能給用戶帶來輕松愉悅的感受和成功的感覺,相反由于界面設計的失敗,讓用戶有挫敗感,再實用強大的 功能都可能在用戶的畏懼與放棄中付諸東流。目前界面的設計引起軟件設計人員的重視的程度還遠遠不夠,直到最近網頁制作的興起,才受到專家的青睞。而且設計良好的界面由于需要具有藝術美的天賦而遭拒絕。

目前流行的界面風格有三種方式:多窗體、單窗體以及資源管理器風格,無論那種風格,以下規則是應該被重視的。

1:易用性:

按鈕名稱應該易懂,用詞準確,屏棄沒楞兩可的字眼,要與同一界面上的其他按鈕易于區分,能望文知意最好。理想的情況是用戶不用查閱幫助就能知道該界面的功能并進行相關的正確操作。

易用性細則:

1):完成相同或相近功能的按鈕用Frame框起來,常用按鈕要支持快捷方式。

2):完成同一功能或任務的元素放在集中位置,減少鼠標移動的距離。

3):按功能將界面劃分局域塊,用Frame框括起來,并要有功能說明或標題。

4):界面要支持鍵盤自動瀏覽按鈕功能,即按Tab鍵、回車鍵的自動切換功能。

5):界面上首先應輸入的和重要信息的控件在Tab順序中應當靠前,位置也應放在窗口上較醒目的位置。

6):同一界面上的控件數最好不要超過10個,多于10個時可以考慮使用分頁界面顯示。

7):分頁界面要支持在頁面間的快捷切換,常用組合快捷鍵Ctrl+Tab

8):默認按鈕要支持Enter及選操作,即按Enter后自動執行默認按鈕對應操作。

9):可寫控制項檢測到非法輸入后應給出說明并能自動獲得焦點。

10):Tab鍵的順序與控件排列順序要一直,目前流行總體從上到下,同時行間從左到右的方式。

11):核取方塊和選項框按選擇幾率的高底而先后排列。

12):核取方塊和選項框要有默認選項,並支援Tab選擇。

13):選項數相同時多用選項框而不用下拉清單框。

14):界面空間較小時使用下拉框而不用選項框。

15):選項數較少時使用選項框,相反使用下拉列表框。

16):專業性強的軟件要使用相關的專業術語,通用性界面則提倡使用通用性詞眼。

2:規范性:

通常界面設計都按Windows界面的規范來設計,可以說:界面遵循規范化的程度越高,則易用性相應的就越好。小型軟件一般不提供工具廂。

規范性細則:

1):常用菜單要有命令快捷方式。

2):完成相同或相近功能的菜單用橫線隔開放在同一位置。

3):菜單前的圖標能直觀的代表要完成的操作。

4):菜單深度一般要求最多控制在三層以內。

5):工具欄要求可以根據用戶的要求自己選擇定制。

6):相同或相近功能的工具欄放在一起。

7):工具欄中的每一個按鈕要有及時提示信息。

8):一條工具欄的長度最長不能超出屏幕寬度。

9):工具欄的圖標能直觀的代表要完成的操作。

10):系統常用的工具欄設置默認放置位置。

11):工具欄太多時可以考慮使用工具廂。

12):工具廂要具有可增減性,由用戶自己根據需求定制。

13):工具廂的默認總寬度不要超過屏幕寬度的1/5。

14):狀態條要能顯示用戶切實需要的信息,常用的有:

目前的操作、系統狀態、用戶位置、用戶信息、提示信息、錯誤信息等,如果某一操作需要的時間較長,還應該顯示進度條和進程提示。

15):滾動條的長度要根據顯示信息的長度或寬度能及時變換,以利于用戶了解顯示信息的位置和百分比。

16):狀態條的高度以放置五好字為宜,滾動條的寬度比狀態條的略窄。

17):菜單和工具條要有清楚的界限;菜單要求凸出顯示,這樣在移走工具條時仍有立體感。

18):菜單和狀態條中通常使用5號字體。工具條一般比菜單要寬,但不要寬的太多,否則看起來很不協調。

19):右鍵快捷菜單采用與菜單相同的準則。

3:幫助設施:

系統應該提供詳盡而可靠的幫助文檔,在用戶使用產生迷惑時可以自己尋求解決方法。

幫助設施細則:

1):幫助文檔中的性能介紹與說明要與系統性能配套一致。(我們的系統幫助文檔都是系統的祖先時期的說明,讓人困惑)。

2):打包新系統時,對作了修改的地方在幫助文檔中要做相應的修改。

3):操作時要提供及時調用系統幫助的功能。常用F1。

4):在界面上調用幫助時應該能夠及時定位到與該操作相對的幫助位置。也就是說幫助要有即時針對性。

5):最好提供目前流行的聯機幫助格式或HTML幫助格式。

6):用戶可以用關鍵詞在幫助索引中搜索所要的幫助,當然也應該提供幫助主題詞。

7):如果沒有提供書面的幫助文檔的話,最好有打印幫助的功能。

8 ):在幫助中應該提供我們的技術支持方式,一旦用戶難以自己解決可以方便的尋求新的幫助方式。

4:合理性:

屏幕對角線相交的位置是用戶直視的地方,正上方四分之一處為易吸引用戶注意力的位置,在放置窗體時要注意利用這兩個位置。

合理性細則:

1):父窗體或主窗體的中心位置應該在對角線焦點附近。

2):子窗體位置應該在主窗體的左上角或正中。

3):多個子窗體彈出時應該依次向右下方偏移,以顯示窗體出標題為宜。

4):重要的命令按鈕與使用較頻繁的按鈕要放在界面上注目的位置。

5):錯誤使用容易引起界面退出或關閉的按鈕不應該放在易點位置。橫排開頭或最后與豎排最后為易點位置。

6):與正在進行的操作無關的按鈕應該加以屏蔽(Windows中用灰色顯示,沒法使用該按鈕)。

7):對可能造成數據無法恢復的操作必須提供確認信息,給用戶放棄選擇的機會。

8):非法的輸入或操作應有足夠的提示說明。

9):對運行過程中出現問題而引起錯誤的地方要有提示,讓用戶明白錯誤出處,避免形成無限期的等待。

10):提示、警告、或錯誤說明應該清楚、明了、恰當。

5:美觀與協調性:

界面應該大小適合美學觀點,感覺協調舒適,能在有效的范圍內吸引用戶的注意力。

美觀與協調性細則:

1):長寬接近黃金點比例,切忌長寬比例失調、或寬度超過長度。

2):布局要合理,不宜過于密集,也不能過于空曠,合理的利用空間。

3):按鈕大小基本相近,忌用太長的名稱,免得占用過多的界面位置。

4):按鈕的大小要與界面的大小和空間要協調。

5):避免空曠的界面上放置很大的按鈕。

6):放置完控件后界面不應有很大的空缺位置。

7):字體的大小要與界面的大小比例協調,通常使用的字體中宋體9-12較為美觀,很少使用超過12號的字體。

8):前景與背景色搭配合理協調,反差不宜太大,最好少用深色,如大紅、大綠等。常用色考慮使用Windows界面色調。

9):如果使用其他顏色,主色要柔和,具有親和力與磁力,堅決杜絕刺目的顏色。

10):大型系統常用的主色有"#E1E1E1"、"#EFEFEF"、"#C0C0C0"等。

11):界面風格要保持一致,字的大小、顏色、字體要相同,除非是需要藝術處理或有特殊要求的地方。

12):如果窗體支持最小化和最大化或放大時,窗體上的控件也要隨著窗體而縮放;切忌只放大窗體而忽略控件的縮放。

13):對于含有按鈕的界面一般不應該支持縮放,即右上角只有關閉功能。

14):通常父窗體支持縮放時,子窗體沒有必要縮放。

15):如果能給用戶提供自定義界面風格則更好,由用戶自己選擇顏色、字體等。

6:菜單位置:

菜單是界面上最重要的元素,菜單位置按照按功能來組織。

菜單設測試細則:

1):菜單通常采用“常用--主要--次要--工具--幫助”的位置排列,符合流行的Windows風格。

2):常用的有“文件”、“編輯”,“查看”等,幾乎每個系統都有這些選項,當然要根據不同的系統有所取捨。

3):下拉菜單要根據菜單選項的含義進行分組,並且按照一定的規則進行排列,用橫線隔開。

4):一組菜單的使用有先后要求或有向導作用時,應該按先后次序排列。

5):沒有順序要求的菜單項按使用頻率和重要性排列,常用的放在開頭,不常用的靠后放置;重要的放在開頭,次要的放在后邊。

6):如果菜單選項較多,應該采用加長菜單的長度而減少深度的原則排列。

7):菜單深度一般要求最多控制在三層以內。

8):對常用的菜單要有快捷命令方式,組合原則見8。

9):對與進行的操作無關的菜單要用屏蔽的方式加以處理,如果采用動態加載方式——即只有需要的菜單才顯示——最好。

10):菜單前的圖標不宜太大,與字高保持一直最好。

11):主菜單的寬度要接近,字數不應多于四個,每個菜單的字數能相同最好。

12):主菜單數目不應太多,最好為單排布置。

7:獨特性:

如果一味的遵循業界的界面標準,則會喪失自己的個性.在框架符合以上規范的情況下,設計具有自己獨特風格的界面尤為重要。尤其在商業軟件流通中有著很好的遷移默化的廣告效用。

1):安裝界面上應有單位介紹或產品介紹,并有自己的圖標。

2):主界面,最好是大多數界面上要有公司圖標。

3):登錄界面上要有本產品的標志,同時包含公司圖標。

4):幫助菜單的“關于”中應有版權和產品信息。

5):公司的系列產品要保持一直的界面風格,如背景色、字體、菜單排列方式、圖標、安裝過程、按鈕用語等應該大體一致。

8:快捷方式的組合

在菜單及按鈕中使用快捷鍵可以讓喜歡使用鍵盤的用戶操作得更快一些在西文Windows及其應用軟件中快捷鍵的使用大多是一致的。

菜單中:

1):面向事務的組合有:

Ctrl-D刪除;Ctrl-F尋找;Ctrl –H替換;Ctrl-I插入;Ctrl-N新記錄;Ctrl-S保存Ctrl-O打開。

2):列表:

Ctrl-R,Ctrl-G定位;Ctrl-Tab下一分頁窗口或反序瀏覽同一頁面控件;。

3):編輯:

Ctrl-A全選;Ctrl-C拷貝;Ctrl-V粘貼;Ctrl-X剪切;Ctrl-Z撤消操作;Ctrl-Y恢復操作。

4)文件操作:

Ctrl-P打印;Ctrl-W關閉。

5):系統菜單

Alt-A文件;Alt-E編輯;Alt-T工具;Alt-W窗口;Alt-H幫助。

6):MS Windows保留鍵:

Ctrl-Esc任務列表;Ctrl-F4關閉窗口;Alt-F4結束應用;Alt-Tab下一應用;Enter缺省按鈕/確認操作;Esc取消按鈕/取消操作;Shift-F1上下文相關幫助。

按鈕中:

可以根據系統需要而調節,以下只是常用的組合。

Alt-Y確定(是);Alt-C取消;Alt-N否;Alt-D刪除;Alt-Q退出;Alt-A添加;Alt-E編輯;Alt-B瀏覽;Alt-R讀;Alt-W寫。

這些快捷鍵也可以作為開發中文應用軟件的標準,但亦可使用漢語拼音的開頭字母。

9:安全性考慮:

在 界面上通過下列方式來控制出錯幾率,會大大減少系統因用戶人為的錯誤引起的破壞。開發者應當盡量周全地考慮到各種可能發生的問題,使出錯的可能降至最小。 如應用出現保護性錯誤而退出系統,這種錯誤最容易使用戶對軟件失去信心。因為這意味著用戶要中斷思路,并費時費力地重新登錄,而且已進行的操作也會因沒有 存盤而全部丟失。

安全性細則:

1):最重要的是排除可能會使應用非正常中止的錯誤。

2):應當注意盡可能避免用戶無意錄入無效的數據。

3):采用相關控件限制用戶輸入值的種類。

4):當用戶作出選擇的可能性只有兩個時,可以采用單選框。

5):當選擇的可能再多一些時,可以采用復選框,每一種選擇都是有效的,用戶不可能輸入任何一種無效的選擇。

6):當選項特別多時,可以采用列表框,下拉式列表框。

7):在一個應用系統中,開發者應當避免用戶作出未經授權或沒有意義的操作。

8):對可能引起致命錯誤或系統出錯的輸入字符或動作要加限制或屏蔽。

9):對可能發生嚴重后果的操作要有補救措施。通過補救措施用戶可以回到原來的正確狀態。

10):對一些特殊符號的輸入、與系統使用的符號相沖突的字符等進行判斷并阻止用戶輸入該字符。

11):對錯誤操作最好支持可逆性處理,如取消系列操作。

12):在輸入有效性字符之前應該阻止用戶進行只有輸入之后才可進行的操作。

13):對可能造成等待時間較長的操作應該提供取消功能。

14):特殊字符常有;;’”><,`‘:“[”{、\\|}]+=)-(_*&&^%$#@! ,.。?/還有空格。

15):與系統采用的保留字符沖突的要加以限制。

16):在讀入用戶所輸入的信息時,根據需要選擇是否去掉前后空格。

17):有些讀入數據庫的字段不支持中間有空格,但用戶切實需要輸入中間空格,這時要在程序中加以處理。

10:多窗口的應用與系統資源:

設計良好的軟件不僅要有完備的功能,而且要盡可能的占用最底限度的資源。

1):在多窗口系統中,有些界面要求必須保持在最頂層,避免用戶在打開多個窗口時,不停的切換甚至最小化其他窗口來顯示該窗口。

2):在主界面載入完畢后自動卸出內存,讓出所占用的WINDOWS系統資源。

3):關閉所有窗體,系統退出后要釋放所占的所有系統資源,除非是需要后臺運行的系統。

4):盡量防止對系統的獨占使用。

GUI,GRAPHICAL USER INTERFACE的縮寫,通常發音為GOO-ee。眾所周之,GUI就是使用圖像,輸入的文字,帶圖標的屏幕的計算機界面,取而代之許多鍵盤的功能。GUI讓用戶可以通過圖標和鼠標與他們的電腦進行交互,而不是在命令行中輸入文本。

第一個圖形用戶界面是由Xerox Palo Alto研究中心在1970年設計的,但是直到1980年代隨著蘋果的Macintosh出現GUI才開始流行起來。導致其被長時間才被接受的一個原因是 GUI需要相當多的CPU和質量好的顯示器,而這些在以前都是相當昂貴的。

現在主要的操作系統都提供了圖形用戶界面,如Microsoft的Windows, Apple的Mac OS和Sun Microsystem的OpenWindows等.

利用計算機的圖形能力產生的程序界面使得程序更加容易被使用。良好設計的圖形用戶界面可以使用戶從負責的命令語言中解放出來。

一般來說,應用程序有以下的基本的組件(或者說是元素):

光標(pointer):顯示在屏幕上讓用戶移動以選擇對象和命令的符號。通常顯示為一個小的箭頭。但是在文字處理的應用程序則是用象大寫I一樣的光標。

圖標(icon)/圖片(picture):代表命令,文件或窗口的小圖片。通過移動光標到圖標上然后按下鼠標,用戶可以執行預定的命令。

窗口(window)表單(Form),屬性頁(Property Sheets),Tab。

菜單(menu),工具欄(tool bar),狀態欄(Status bar),進度欄(progress bar)

按鈕(button)

對話框(dialog Box),消息框(message Box),輸入對話框(input box)

文本框(Text Box),列表框(List Box),組合框(combo Box)、下拉列表框(Drop-down List Box)

復選框(Check Box),單選框(Radio box),選項框(Option box)、滑動條(Slider)、旋轉按鈕(Spin Button)

靜態文字(Static tex),向導(Wizards),樹(Tree)

……

由于圖形用戶界面的普及,針對GUI的測試也單獨成為了軟件測試的一個重點。在GUI剛開始被采用時,由于沒有統一的規范,這一塊的測試比較主觀。但隨GUI技術的成熟,組件的大量采用及重用,越來越多可以遵循的指南使得GUI測試更加客觀也更加貼近用戶。

此 時慢慢的GUI測試逐漸的和功能測試分開。廣義的功能測試(和非功能測試相反),包括系統除了非功能性以外所有的測試。狹義的功能測試主要是指檢驗和驗證系統是否實現了系統的業務需求,旨在驗證系統的業務實現能力。GUI測試則主要關注應用程序上GUI組件是否符合規范或用戶的操作習慣。當然GUI測試是 不可以脫離功能而獨立測試的,它是隨著功能的實現,一個一個窗口進行校驗的,也可以和功能測試一起測試。對于簡單的系統可以將GUI測試和驗證功能實現一 起進行,但對于稍微大一些的系統,最好將其分開,這樣才不至于遺漏任何一個重點。

在接下來的文章中,我主要將針對GUI的元素將我的測試經驗進行總結:

GUI測試之通用測試篇

不管是Windows的應用程序,還是Java的應用程序,或者其他語言類的應用程序,在其開放之前都應該遵從一定的 GUI開發規范(這個大多SDK供應商都有)。那么測試也主要依據其進行GUI測試。雖然有些差異,但共同點還是很多的,這篇文章就是嘗試著對這些共同點的一些總結。

在同一個應用程序中的GUI應該一致,這是最重要的,也是最基本的。

在視覺效果上應該和其他標準的Windows應用程序相同

采用標準的鍵集(快捷鍵),在同一系統中,同樣的操作,特別是名稱相同的操作就好使用一致的快捷鍵。例如瀏覽(Browse。。。)按鈕如果在一個窗口中 快捷鍵是Alt+B,在另一個窗口最好采用同樣的快捷鍵,這樣可以方便用戶的操作,不至于讓用戶混淆快捷鍵。除非在另一個窗口有比其更重要的操作已占用了一個快捷鍵,否則最好不要改變。

應用程序啟動或進入系統的第一個界面應該顯示“關于系統”或有關系統相關信息的屏幕

一般來說,應用程序應該保持為最大化。

應用程序可以在Windows的任務條和狀態條中顯示,如需要在系統托盤中顯示的,在縮寫至系統托盤和用戶移動光標至應用程序的圖標上時,最好給予相關的信息。

在系統中使用統一的代表應用程序的圖標。

所有的窗口/對話框應具有可以和其他應用程序區分開的一致外觀。

應用程序中使用的顏色組合應該有吸引力,且風格一致,搭配合理,色彩的跳躍不要太大。避免使用深色系,特別是紅色和綠色,有些客戶可能是色盲

登錄界面上要有產品信息,如標志和版本,同時包含公司圖標。

幫助菜單的“關于”中應有版權和產品信息。

應用程序中應按功能將界面劃分局域塊,將完成相同或相近功能的按鈕框起來, 并配有相應的功能說明

允許使用Tab鍵切換,且順序與控件排列順序要一致,目前流行總體從上到下,同時行間從左到右的方式;Tab不能定位在不可見的控件上;

在不同的分辨率下顯示正常(不出現水平和垂直滾動條,無截斷的組件),特別是在應用程序推薦的分辨率下顯示完全正常,一般為1024*768和800*600。

系統中所有的文字應該沒有拼寫/文字錯誤,句子沒有語法錯誤,最好貼近用戶的使用習慣。

使用用戶知道的術語,而不是深奧的技術術語,特別是在錯誤提示的消息框中,讓用戶可以很快的知道問題的所在,而不是揣摩錯誤信息的意思。盡可能的少用縮寫。

英文系統中注意不要使用中文或其他語系字符。

在標識控件用途的標簽文本和提示信息中,應使用半角符號。如果是指導性標簽文本(如解釋按鈕功能的句子),則使用全角符號,并且句子應遵循中文標點符號標準。

在提示信息中,避免使用主語,盡可能的使用被動語態。提示信息應簡潔明了,沒有侵犯性詞語。使用一致的大小寫規則,避免全大寫和復雜的符號。

系統使用統一的字體,不要使用需要另外安裝的或操作系統特定的字體庫。注意斜體和粗體的使用。

系統目前不提供,以后版本才提供的功能最好隱藏,同一版本不同級別的系統中的不允許使用的功能變灰,或操作提交時給予提示。

系統的幫助文件應該和當前的系統版本相一致

使用"退出"命令終止程序;使用"關閉"移走主窗口和非模式對話框;使用"取消"移走模式對話框。當關閉主窗口并不表示終止進程時,對于主窗口使用"關閉"來代替使用"退出"。例如:關閉打印機狀態窗口不會取消打印任務

退出系統后應該徹底的關閉程序,而不要在系統托盤或任務條中繼續保留系統的某個窗口。如果要保留,在退出系統時應該給予用戶提示。

程序應該能夠能夠保存而恢復到用戶最后退出的狀態。MDI程序應該能夠恢復文檔窗口的大小和位置。對話框,下拉框通常應該使用最后輸入的值作為默認值。

不同界面中的同一功能應該使用同樣的圖標和圖片。

公司的系列產品要保持一直的界面風格,如背景色、字體、菜單排列方式、圖標、安裝過程、按鈕,用語等應該大體一致。

。。。。。

GUI測試之窗口篇

窗口是Windows本身以及Windows 環境下的應用程序的基本界面單位,就是顯示在屏幕上的一個矩形區域。一般來說窗口是具有標題欄、菜單/菜單欄、工具欄、工作區、狀態欄、最大化、最小化按 鈕和滾動條的標準方框,應用程序通過它和用戶進行交互。但是如果沒有標題欄、狀態欄、最大化、最小化按鈕是不是就不叫窗口呢。其實不然,窗口的概念很廣,例如按鈕和對話框等也是窗口,只不過是一種特殊的窗口罷了。這里我主要將的還是標準意義上的窗口。

窗口主要有進入、移動、改變窗口大小;最大化、最小化和還原;使用滾動條和關閉窗口等操作。

因此可以通過如下來測試窗口:

大多數的窗口、屏幕/對話框應該有最小化,恢復和關閉按鈕。

所有的窗口、屏幕/對話框應該有和內容相一致對應的標題。

只有主窗口才有標題欄圖標、菜單欄、工具欄和狀態欄。二級窗口不要使用菜單欄、工具欄或狀態欄。

每一個窗口/屏幕都應有功能匹配的OK和Cancel按鈕。窗口/對話框的缺省鍵應該設置在OK按鈕上;窗口/對話框的缺省鍵應該設置在Cancel按鈕上。

a.Escape鍵取消對話框,焦點重新定位回到父窗口先前的焦點上,

b.Alt+F4關閉窗口,和Escape鍵相似,但它可以在即使沒有Cancel按鈕的對話框中工作

c.Alt+Space打開窗口的菜單Restore,Move, Size, Minimize, Maximize, Close

d.Shift+F10和右擊效果一樣。

e.可以用鍵盤上的箭頭按鈕實現Move和Size功能

一個窗口每個組件的訪問鍵必須是唯一的。

父窗體或主窗體的中心位置應該在對角線焦點附近;子窗體位置應該在主窗體的左上角或正中;多個子窗體彈出時應該依次向右下方偏移,以顯示窗體出標題為宜。

二級窗口最好不要顯示在任務欄中,因為單擊主窗口的任務欄按鈕也會激活二級窗口。

如果子窗體的任何操作會影響了父窗體的數據時,關閉子窗體同時必須刷新父窗體的數據。

關閉父窗體時必須關閉所有打開的子窗體。如果由于子窗口沒有關閉而無法關閉父窗口,必須給予提示信息框。在關閉提示信息框后顯示必須關閉的子窗口。

子窗體的大小最好不要超過父窗體,且最好不要遮住父窗體的主要信息。如果存在多層嵌套窗口,每層窗口彈出時都自動往右下移動一點點,以保證不遮蓋上層窗口標題為準。

窗口嵌套層次最好不超過3層。

點擊窗口中的幫助按鈕或F1必須帶出和窗口內容相一致的幫助。

窗口可以被多次打開和關閉。但窗口未關閉或被其他窗口覆蓋時,再次點擊菜單或按鈕,測試窗口是否可以被激活。

如果窗體可以最小化,最大化或可調整大小時,窗體上的控件也要隨著窗體而縮放;對于含有按鈕的界面一般不應該支持縮放,即右上角只有關閉功能。

工具欄按鈕應該有浮動的提示,可以根據用戶的要求自己選擇定制;:相同或相近功能的工具欄放在一起;:一條工具欄的長度最長不能超出屏幕寬度;工具欄的圖標能直觀的代表要完成的操作;系統常用的工具欄設置默認放置位置;:工具欄太多時可以考慮使用工具廂;:工具廂要具有可增減性,由用戶自己根據需求定 制。:工具廂的默認總寬度不要超過屏幕寬度的1/5

狀態條要能顯示用戶切實需要的信息,常用的有: 目前的操作、系統狀態、用戶位置、用戶信息、提示信息、錯誤信息等,如果某一操作需要的時間較長,還應該顯示進度條和進程提示。狀態條的高度以放置五好字為宜,滾動條的寬度比狀態條的略窄。

菜單和工具條應有清楚的界限,菜單和狀態欄中使用統一大小的字體(通常使用5號字體)

菜單應采用“常用--主要--次要--工具--幫助”的位置排列。提供常用的菜單項,如“文件”、“編輯”,“查找”,“打印”等。對常用的菜單項提供快捷命令方式。快捷方式唯一。

主菜單數目不太多時最好為單排布置。如果菜單選項較多,應該采用加長菜單的長度而減少深度的原則排列。菜單深度一般要求最多控制在三層以內。

下拉菜單要根據菜單選項的含義進行分組,並且按照一定的規則進行排列,用橫線隔開。一組菜單的使用有先后要求或有向導作用時,應該按先后次序排列。沒有順序要求的菜單項按使用頻率和重要性排列,常用的放在開頭, 不常用的靠后放置;重要的放在開頭,次要的放在后邊。對與進行的操作無關的菜單要用屏蔽的方式加以處理,如果采用動態加載方式——即只有需要的菜單才顯示 ——最好。

菜單前的圖標不宜太大,與字高保持一直最好。主菜單的寬度要接近,字數不應多于四個,每個菜單的字數能相同最好。

狀態欄中的信息應該根據窗口的內容的變化而變化,如在初始狀態時,系統有多少條數據,經過查詢后狀態欄的數據應該發生變化。

滾動條的長度根據顯示信息的長度或寬度及時變換,這樣有利于用戶了解顯示信息的位置和百分比;拖動滾動條,檢查屏幕刷新情況,并查看是否有亂碼;單擊滾動條和滾動條的上下按鈕;用滾輪控制滾動條;

如果系統的模塊較多,較深,經常會多級菜單,最好在窗口上加上導航條,以方便用戶可以快速返回。

。。。。。。

GUI測試之按鈕篇

在同一窗口中實現某一功能的按鈕是唯一的。

OK按鈕總是在上方或者左方,而Cancel按鈕總是在下方或右方。

Cancel按鈕的等價按鍵通常是Esc,而選中按鈕的等價按鈕通常是Enter保持一致。

測試按鈕能否正常的實現功能,常用按鈕的功能為:

OK接受輸入的數據或顯示的響應信息,關掉窗口

Cancel 不接受輸入的信息,關掉窗口。取消時最好給予提示,尤其時有大量輸入的窗口。

Close 結束當前的任務,讓程序繼續進行;關掉數據窗口

Help 調出程序的幫助信息

Save 保存數據,停留在當前窗口。如過保存耗時長的話,最好顯示類似沙漏,進度條之類的提示。注意驗證能否重復保存。如在IE中由于網速慢而導致的重復保存。

Add 新增記錄。新增的記錄必須排在首頁首行。提交失敗后必須保留用戶已輸入的內容,以便再次提交。提交時需對主要標識字段進行重復值、空值(空格)判斷。

Update/Edit 修改/編輯記錄。如界面存在復選按鈕,勾選多條記錄進行修改時,需給予只能對一條記錄進行修改,默認為第一條的提示信息。修改時加載的內容都為該記錄的實際內容,而不再為默認值。修改完成后必須回到原記錄所在位置,且刷新顯示修改后的值。提交失敗后必須保留用戶已修改的內容,以便再次提交。在查詢條件下修 改返回后如不滿足查詢條件則不顯示。需對主要標識字段進行重復值、空值(空格)判斷。

Delete 刪除記錄。在刪除之前必須有確認刪除的提示信息。刪除成功后刷新不顯示被刪除的記錄。刪除成功后返回到原記錄所在頁面;而當原記錄所在頁不存在時,則返回上一頁。當被刪除的記錄與其它記錄存在關聯時,應給予不允許刪除及更明細提示等信息。針對大批量的刪除應提供全選復選框,方便用戶刪除。

Search 查詢記錄。每次查詢應顯示返回的結果數。每次查詢應定位到首頁。保留前一次的查詢條件。當查詢條件較多時,需配以重置按鈕。當未查詢到任何記錄時,需給予未查找相關記錄的提示信息。除用戶明確要求不需要外,需提供模糊查詢及組合查詢功能。當查詢返回的結果大于默認的一頁大小時,最好采用分頁或者根據系統默 認或用戶定義的一頁顯示的記錄數量來分頁。如有多頁,需要提供首頁,下一頁,上一頁,尾頁和跳至功能。每頁的記錄不能重復,但也可以根據用戶需要顯示上一頁的最后一條數據。

Reset 重置。應回到打開窗口時的最初狀態。多次點擊是否還能正常顯示。

Return 返回。如果一個窗口或頁面不能通過菜單,工具欄到達,而是必須通過前一個窗口完成才到達,應提供返回按鈕或導航條讓用戶可以返回。

如果點擊按鈕后還需要用戶的進一步的操作,按鈕的名稱應加上省略號。如Browse。。。

OK/Cancel/Apply/Help鍵的排放最好遵從Windows的標準排放。

按鈕最好都給予浮動提示,特別是圖片按鈕,可以避免由于網絡太慢而導致的太長時間不能往下操作。

GUI測試之對話框、消息框篇

對話框/消息框的缺省鍵應該設置在OK按鈕上;對話框/消息框的缺省鍵應該設置在Cancel按鈕上。

一般來說重要的或復雜操作成功后應該給予提示,根據系統的特性選擇彈出信息框或文字顯示。需要后續操作的操作在成功后應給予提示。

非法的輸入或操作應給出足夠的提示說明。

對可能造成數據無法恢復的操作應該給予確認信息,給用戶放棄選擇的機會。如刪除操作。

提示信息不宜太長,寬度不能超過當前窗口的1/2;當超過此比例時,請視具體情況進行換行。有多行提示信息的,請選擇對齊方式(一般為左對齊)。

靜態文本標簽一般采用左對齊,這樣顯得更有條理且易于瀏覽。 靜態文本標簽一般置于相關控件的左邊,有時選項過多過長時放在上面。

復雜或帶有專業性的操作或輸入最好在輸入項下面給予提示。

提示信息不宜太長,寬度不能超過當前窗口的1/2;當超過此比例時,請視具體情況進行換行。

通用對話框控件,如Open…,Save As…,Color…,Fonts…,Print…,Page SetUp…等調用系統的對話框只需要是否調用正確,能否實現正常功能就可以了,里面的具體功能可以不用測試。

消息框中的圖標必須根據需要選擇正確的使用,一般來說 X 表示有很重要的問題需要提醒用戶;? 增亮沒有危險的問題; ! 強調警告用戶必須知道的事情; i 一般信息,可以使乏味的信息變得有趣。

正在進行的操作提示框應使用省略號,如“刪除中。。。”。

對話框標題文本中不要出現省略號。如選擇"打印選項..."命令結果而顯示的對話框的標題應該為"打印",而不是“打印。。。”。但是,表示命令正在執行過程中菜單對話框(如"連接到Internet..."對話框)是一種例外情況。

對于耗時的操作都應給出類似等待光標、進度表或其他的可視反饋。用戶可以取消長時間的操作。如果可以取消未完成的操作,那么將按鈕標記為"取消",否則將按鈕標記為"停止"。

GUI測試之信息處理類篇

在這篇文章中,我將文本框(Text Box),列表框(List Box),組合框(Combo Box)、下拉列表框(Drop-down List Box),復選框(Check Box),單選框(Radio box)/(optionbox),選項框(Option box)、滑動條(Slider)、旋轉按鈕(Spin Button)等都作為信息處理類來統一總結。

窗口/屏幕上的每一個字段都應有相應的標簽。

根據文本框可以接受的類型測試文本框:1)輸入正常的字母或數字2)輸入已存在的信息3)輸入超過允許長度的字符或邊界數字4)輸入空白,空格5)輸入不 同類型或不同日期格式的數據,6)復制/粘貼等操作強制輸入程序不允許的輸入數據7)輸入數據庫或特殊字符集,例如NULL及\\n等

測試文件選擇框的正確性。使用空文件,只有空格的文件,不同類型的文件,同名文件,內容相同名稱不同的文件,大文件等。

測試強制性字段的正確性。強制性字段必須用紅色的星號*標識,最好是必填項沒有輸入時,在光標移走時在相應的文本框后顯示需要用戶輸入的紅色信息。一般也可以在提交時用彈出消息框提示未填的必填項,關閉消息框后必須停留在第一個待輸入的文本框中。

每一個新窗口/屏幕中,光標默認停留在第一個待輸入的文本框中。

一般下拉框中應顯示一個默認值,列表框中高亮度顯示一個默認值。如果不需要默認值時,一般默認值未“請選擇。。。”。一般來說系統應記憶以前輸入或選擇的信息,但是當涉及安全時,最好不要保留用戶的信息。有些地方可以使用復選框讓用戶決定是否要保留信息。如登錄界面。

對輸入信息類型有限制的文本框應在輸入非法值后給予提示,對于日期型的輸入框,最好在標簽上就給予提示

當輸入的內容達到了字段的長度限制時,一般應控制不允許再輸入,或者在提交后提示具體的允許輸入的長度,而不是自動截斷。

系統中不允許的非法字符,最好是在輸入時不允許輸入,或在提交時給予具體系統不允許的非法字符列表提示。(如’、”、<、<>)

正確使用復選框或單選框。如果結果只有一個的,則使用單選框,如性別。驗證單選按鈕不能同時選中只能選中一個,而可以選擇多個復選框。

一組單選按鈕在初始狀態時必須有一個被默認選中,不能同時為空。

分別測試多個復選框可以被逐一選中;同時選中,部分選中;都不被選中。

通過輸入數字或用點擊上下箭頭來測試旋轉按鈕,測試其自動循環性,如范圍為(0~999)先輸入為999,在點擊向下鍵,看是否會跳到0。輸入字符或超過邊界的數值,系統應該提示錯誤且重新輸入;

驗證列表框中的條目內容顯示正確;允許多選的列表框,要分別檢查shift和ctrl選中條目情況

避免使用水平滾動條,因為它會使項目閱讀起來比較困難。解決的辦法有:盡量使用垂直滾動條、加寬窗口、減小文本的寬度,或者使文本自動換行等。當然,如果確實需要,還可以使用水平滾動條。

全選框勾中時應該選中當頁所有記錄,去掉當頁某個記錄的勾選,則全選也不選中。翻頁后,自動去掉已勾選的記錄及全選的勾選。

復選框可以通過Space可以控制選中/不選中

F4, Alt+down或alt+up控制combobox打開和關閉

對于combobox,Escape鍵等同于Cancel,Up/down箭頭按鈕控制向上或向下,Shift+up和shift+down可以多選,Ctrl實現多選;

。。。。。。

ps:文章大部分來自網友分享,感謝有分享精神的伙伴們.....

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 227,283評論 6 530
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 97,947評論 3 413
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 175,094評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,485評論 1 308
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,268評論 6 405
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 54,817評論 1 321
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 42,906評論 3 440
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,039評論 0 285
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,551評論 1 331
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,502評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,662評論 1 366
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,188評論 5 356
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 43,907評論 3 345
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,304評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,563評論 1 281
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,255評論 3 389
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,637評論 2 370

推薦閱讀更多精彩內容

  • 1、窗體 1、常用屬性 (1)Name屬性:用來獲取或設置窗體的名稱,在應用程序中可通過Name屬性來引用窗體。 ...
    Moment__格調閱讀 4,570評論 0 11
  • 一、文本框為字符型 必填項非空校驗: 1、必填項未輸入--程序應提示錯誤; 2、必填項只輸入若干個空格,未輸入其它...
    許小小晴閱讀 4,641評論 0 2
  • 1.1 VBA是什么 直到90年代早期,使應用程序自動化還是充滿挑戰性的領域.對每個需要自動化的應用程序,人們不得...
    浮浮塵塵閱讀 21,803評論 6 49
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,574評論 25 707
  • 小lee_7cb7閱讀 139評論 0 0