淺談易用性測試及GUI常見的測試要求
對于一個需要面對用戶的軟件產品來說,最直觀的UI和使用感受也是產品能否獲得用戶認可的關鍵一環。個人認為,在毒霸的產品傳統中,從設計到開發再到測試,對產品的易用性和GUI的規范往往給予的關注較少。我在測試過程中就遇到了很多影響使用心情的非關功能方面的BUG。希望此文可以在毒霸的易用性和GUI方面的測試中給同學們提供一些參考。
易用性測試
易用性(Useability)是交互的適應性、功能性和有效性的集中體現。
在《軟件工程產品質量》質量模型中,提出易用性包含易理解性、易學習性和易操作性;即易用性是指在指定條件下使用時,軟件產品被理解、學習、使用和吸引用戶的能力。易用性測試包括針對應用程序的測試,同時還包括對用戶手冊系統文檔的測試。通常采用質量外部模型來評價易用性。包括如下方面的測試:
(1) 易理解性測試
(2) 易學性測試
(3) 易操作性測試
(4) 吸引性測試
(5) 易用的依從性測試
易用性測試方法有:靜態測試;動態測試;動態和靜態結合測試。
由于易用性缺陷的主觀性,因此測試人員和UI設計人員經常產生不同意見。UI通常被當作創造者的作品,而測試人員說某處是錯誤,就可能挫傷“藝術家”。易用性是軟件缺陷中的敏感問題。
人體工程學(ergonomics)是一門將日常使用的東西設計為易于使用和實用性強的學科。人體工程學的主要目標是達到易用性。
1、用戶界面測試
用于與軟件交互的方式稱為用戶界面或UI。
2、優秀UI的構成
軟件測試員要負責測試軟件的易用性,包括其用戶界面。
記住,軟件測試員不需要去設計UI,只需要把自己當作用戶,然后去找出UI中的問題。
優秀UI具備的七個要素
(1) 符合標準和規范
重要的用戶界面要符合現行標準和規范,這些標準和規范由軟件易用性專家開發。它們是由大量正式測試、經驗、技巧和錯誤得出的方便用戶的規則。如果軟件嚴格遵守這些規則,優秀UI的其他要素就自然具備。
(2) 直觀性
* 用戶界面是否潔凈、不唐突、不擁擠?
* UI的組織和布局合理嗎?
* 是否允許用戶輕松地從一個功能轉移到另一個功能?
* 下一步做什么明顯嗎?
* 任何時候都可以決定放棄或者退回、退出嗎?
* 菜單或者窗口是否深藏不露?
* 有多余功能嗎?軟件整體抑或局部是否做得太深?
* 幫助系統有效嗎?
(3) 一致性
* 用戶的使用習慣性強,希望一個程序的操作方式能夠帶到另一個程序中。在審查軟件一致性時要考慮一下術語:
* 快捷鍵和菜單選項
* 術語和命名
* 聽眾
* 諸如OK和Cancel按鈕的位置
(4) 靈活性
* 靈活性表現在:用戶喜歡選擇不要太多,但是足以允許他們選擇做什么和怎么做。
* 狀態跳轉
* 狀態終止和跳過
* 數據輸入和輸出
(5) 舒適性
* 軟件使用起來應該舒適,不能給用戶工作制造障礙和困難。如何鑒別軟件舒適性的一些好想法:
* 恰當。軟件外觀和感覺應該與所做的工作和使用者相符。
* 錯誤處理。程序應該在用戶執行嚴重錯誤的操作之前提出警告,并且允許用戶恢復由于錯誤操作導致丟失的數據。
* 性能??觳灰姷檬呛檬?。不少程序的錯誤提示信息一閃而過,無法看清。如果操作緩慢,應該讓用戶得到相應的信息。
(6) 正確性
* 要測試正確性,就是測試UI是否做了該做的事。
* 市場定位偏差:有沒有多余的或者遺漏的功能,或者某些功能執行了與市場宣傳材料不符的操作?
* 語言和拼寫:程序員常常能制造出非常有趣的用戶信息。
* 不良媒體:圖標是否同樣大?。渴欠窬哂邢嗤恼{色板?聲音是否應該有相同的格式和采樣率?
* 所見即所得:保證UI所說的就是實際得到的。
(7) 實用性
* 是否實用是優秀用戶界面的最后一個要素。
* 不是指軟件本身是否實用,而是指具體特性是否實用。
* 在審查產品說明書、準備測試或者實際測試時,想一想看到的特性對軟件是否有實際價值。它們有助于用戶執行軟件設計的功能嗎?如果認為它們沒必要,就要研究一下找出它們存在于軟件中的原因。
總之,不要讓易用性測試的模糊性和主觀性阻礙測試工作。易用性測試的模糊和主觀是固然的,即使設計用戶界面的專家也會承認有的地方是這樣的。
GUI常見的測試要求
窗口
* 窗口能否基于相關的輸入或菜單命令適當的打開
* 窗口能否改變大小、移動和滾動
* 窗口中的數據能否用鼠標、功能鍵、方向箭頭和鍵盤操作
* 當被覆蓋的窗口重新調用后,所有相關功能是否可操作
* 能否使用所有窗口的相關功能,所有相關功能是否可操作
* 相關的下拉式菜單,工具條,滾動條,對話框,按鈕,圖標和其它控制有否?能否正常顯示?完全可用?
* 顯示多窗口時,窗口名能否正確顯示,活動窗口是否加亮
* 使用多用戶時,所有窗口是否能實時更新
* 多次或不正確按鼠標是否會產生無法預測的結果
* 窗口的聲音、顏色提示和窗口的操作順序是否符合需求
* 窗口能否正確關閉
數據項
* 字母、數據能否正確顯示且輸入系統
* 圖象方式數據項(如滾動條)是否正常工作
* 數據輸入、消失是否可以理解,能否識別非法數據
下列式菜單和鼠標操作
* 菜單條顯示在合適語言環境中
* 應用程序的菜單是否顯示系統相關特性
* 下拉式操作是否正確,功能是否正確
* 菜單、調色板和工具條是否能正常的工作
* 能否列出所有菜單功能和下拉式功能
* 能否通過鼠標操作所有菜單的功能,通過文本命令激活每個菜單功能
* 菜單功能隨當前窗口操作加亮或變灰
* 如果要求多次點擊鼠標或鼠標有多個按鈕時能否正確識別
* 光標、處理指示器和識別指針能否隨操作而適當改變
UI測試常見BUG
錄入界面
1. 輸入字段要完整,且要與列表字段相符合(參照數據庫進行檢查)
2. 必填項一律在后面用*表示(必填項為空在處理之前要有相關的提示信息)
3. 字段需要做校驗,如果校驗不對需要在處理之前要有相關的提示信息
(1) 長度校驗
(2) 數字、字母、日期等等的校驗
(3) 范圍的校驗
4. 錄入字段的排序按照流程或使用習慣,字段特別多的時候需要進行分組顯示
5. 下拉框不選值的時候應該提供默認值
6. 相同字段的錄入方式應該統一(手動輸入 、點選 、下拉選擇、參照)
7. 錄入后自動計算的字段要隨著別的字段修改更新(如單價變后,金額也變)
8. 日期參照應該既能輸入,又能從文本框選擇
界面格式
1. 字體顏色、大小、對齊方式(根據字段的性質確定)、加粗的一致性
2. 文本框、按鈕、滾動條、列表等控件的大小、對齊、位置的一致性
3. 所有新增、修改、查看頁面加上頁面說明(如:XXX新增、XXX編輯、XXX查看等說明字樣),(彈出的)界面要有標題,標題與內容要一致
4. 不同界面顯示相同字段的一致性(如列表界面和編輯界面)
5. 界面按鈕顯示要求(查詢、新增、刪除順序)
6. 列表的順序排列應該統一(按照某些特定條件排序)
7. 下拉框中的排列順序需要符合使用習慣或者是按照特定的規則排定
8. 所有彈出窗口居中顯示或者最大化顯示
9. 信息列表中如果某個字段顯示過長用“…”或者分行顯示
10. 人員、時間的缺省值一般取當前登錄人員和時間
11. 對于帶有單位的字段,需要字段的標簽后面添加如下內容:“(單位)”
功能問題
1. 按鈕功能的實現(如返回按鈕能否返回)
2. 信息保存提交后系統給出“保存/提交成功”提示信息,并自動更新顯示
3. 所有有提交按鈕的頁面都要有保存按鈕(每個界面風格一致)
4. 凡是點選或者下拉選擇的界面,如果一旦選擇完了無法回到不選擇的情況,需要加上“清除選擇”功能按鈕
5. 沒有選擇記錄點擊刪除/修改按鈕要提示“請先選擇記錄”
6. 選擇記錄后點擊刪除按鈕要提示“確實要刪除嗎?”
7. 需要考慮刪除的關聯性,即刪除某一個內容需要同時刪除其關聯的某些內容
8. 界面只讀的時候(查詢、統計、導入)等,應該不能編輯
查詢問題
1. 查詢條件缺少一些可以查詢的字段
2. 有些查詢條件需要支持模糊查詢
3. 需要考慮有些查詢條件本身的關聯性(即某個查詢條件的取值范圍是依賴于其它查詢條件的取值)
4. 查詢條件名稱與信息列表及信息編輯頁面相應的字段名稱完全統一
5. 不同模塊相同字段的查詢方式應該統一(手動輸入 、點選 、下拉選擇)
6. 出報表的時候,查詢條件需要顯示在報表標題的下面,這樣看報表的時候知道數據的依據是什么
7. 對于范圍的查詢采用全閉的形式
來源:http://rdc.taobao.com/blog/qa/?p=5790
- 目前還沒評論,等你發揮!