測試人員常被看作bug尋找者,但你曾想過他們實際是如何開展測試的嗎?你是否好奇他們究竟都做些什麼,以及他們如何在乙個典型的技術專案中體現價值?
測試人員需要詢問問題
測試人員的核心能力在於提出有挑戰性的相關問題。如果你能將調查、詢問技巧和技術、產品的知識結合起來,漸漸地,你也會成為乙個好的測試人員。
比如,測試人員可能會問:
如果我這樣做,會發生什麼情況?
諸如此類。
測試人員能從各種場景中發現問題,它們可能來自對話、設計、文件、使用者反饋或者是產品本身。這些可能性太多了……因此,讓我們一**竟吧!
從**開始測試
理想情況下,測試人員應該掌握所測產品的所有最新細節資料。但事實上這很少見,因此,像其他人一樣,測試人員只能將就使用手上有限的資料。但這不是不能測試的藉口!測試人員其實是可以從內部和外部多種不同的**處收集資訊的。
這個階段,測試人員可以問這些問題:
該應用是在什麼系統、平台和裝置上進行運作和測試?
該應用是處理什麼型別的資料(比如個人資訊、信用卡等等)?
該應用有整合外部應用(比如api和資料**)嗎?
該應用需要用到特定的移動端網頁嗎?
現有消費者如何評價這個產品?
有多少時間可用於測試?
測試的優先順序和風險是什麼?
哪些使用者使用起來不愉快,為什麼?
如何發布和更新?
基於以上收集的資訊,測試人員可以制定測試計畫了。通常預算決定測試方法,一天測完,乙個星期或乙個月測完的方法肯定不同。當你逐漸熟悉團隊、工作流程以及這類問題的解決方式時,你就更容易**結果了。
測試人員的創造力
比如,移動端的測試人員常常以不同的使用者角色進行測試——當然有點誇張,但是,這種把自己當成不同使用者進行思考、分析和設想的能力對測試是備受啟發的。
測試人員可能會設想自己是以下使用者:
測試人員遇到這些問題時,也常常發現意料之外的bug。有時候,這些bug微不足道,但是更深入的調查就會發現更嚴重的問題。
案例:runkeeper』sgyupdate
1.預設單位是英鎊,我卻想要把公斤作為重量單位;
2.英鎊和公斤間的切換根本不好用;
3.當設定目標後,會導致展示錯誤的資料和圖表,這讓我很迷惑;
4.由於第3條,我想刪除目標,但卻根本找不到刪除的地方;
5.為了解決這一問題,我不得不改變的個人體重的值,直到「目標設定「範圍之內,這樣目標達到了,就能重新設定目標了;
6.我會再次嘗試新增目標;
正因為以上疑惑,我花了更長的時間把玩它,看能不能找到其他的問題;
以下是一些發現問題的螢幕截圖:
另乙個bug,是「當前體重」部分的乙個拼寫錯誤,當清空資料時會出現拼寫錯誤的「enter「(應用中用的是etner),這只是乙個小bug,但是看上去非常不專業。
哪兒有所有的資料?
測試人員喜歡從資料上找問題,這讓開發人員有時候很鬱悶。事實上,使用者或者是軟體開發人員在資訊流中確實太容易迷惑了,因為可能會出現很多錯誤,所以基於資料和雲的服務更為重要。
也許你可以嘗試在以下場景中檢查出問題:
案例:soup.me的錯誤
另乙個案例:quicklytics
我已經刪除了**配置,為什麼還是有這些資訊?
左邊模組沒有解釋為什麼「該操作無法完成」,那麼是不是可以改進以避免迷惑使用者呢?
比如,他們可能嘗試以下場景:
建立出錯提醒和訊息
這裡,我不是從設計師的角度來要談論好的錯誤訊息的設計,而是想從使用者或是測試者的角度來看這個問題。出錯提醒和訊息是測試人員很容易發現問題的地方。
關於錯誤資訊要問的問題:
錯誤資訊會影響使用者體驗。然而,不好或無用的出錯提醒無處不在。雖最理想的狀態是避免使用者遭遇錯誤資訊,但這幾乎不可能。出錯情況的設計、實現和確認可能與預期相反,但是,測試者往往善於發現意料外的bug,並能仔細考究是否改進它們。
錯誤資訊的案例:
可能如下的訊息提示框可以列入反例「名人堂」了?
看看這款ipad上的the guardian應用,如果我不想「重試」,該怎麼辦呢?
特定平台上的注意事項
對於任何專案團隊成員來說,了解相關平台的業務、技術和設計上的限制,都是至關重要的。
案例:chimpstats
chimpstats是ipad上乙個檢視郵件廣告詳情的應用。我第一次使用這個應用是處於橫屏模式。當我需要輸入api密碼的時候,我被困住了。我根本不能在水平模式中輸入api密碼,直到切換成豎屏模式,才輸入成功。
連線和中斷的問題當連線斷斷續續或是意外中斷時,很多有趣的事情就可能發生了。
這類測試最容易發現錯誤和bug。我強烈建議你在這些情況下進行測試(不僅僅只是開機、確認它可以正常工作,還要嘗試使用者使用的整個流程,並在特定的時間間歇內強制連線和中斷)。
資料傳輸為使用者所知嗎?
它會慢慢停止,然後崩潰嗎?
開啟時會發生什麼?
任務完成中會發生什麼?
是否可能丟失未儲存的操作?
你可以忽視通知提醒嗎?忽視後會發生什麼?
你可以對通知提醒做出響應嗎?響應後會發生什麼?
對某些問題,使用錯誤資訊是否恰當?
當登入過期或超時會發生什麼?
想要加快整個測試的過程很簡單,只需測試一次就一勞永逸了,對嗎?請三思。
更新之後還能使用嗎?
系統更新後,它會發生什麼?
系統未更新,它又會發生什麼?
它自動執行任務或測試有意義嗎?
它會連線到網路服務嗎?這會帶來什麼不同?
案例:iphone上的analytics應用
測試不是對錯判斷
我們討論了移動測試的一些方面,但這些前提是:帶著問題,才能發現問題。
通常,測試被認為是完全合乎邏輯的、可計畫的和可**的,過程包括:測試指令碼和測試計畫、通過和失敗、正確和錯誤的反饋。走完這些測試流程就離真相不遠了。
Ubuntu apt 使用指南
起初gnu linux系統中只有.tar.gz。使用者必須自己編譯他們想使用的每乙個程式。在debian出現之後,人們認為有必要在系統中新增 一種機制用來管理安裝在計算機上的軟體包。人們將這套系統稱為dpkg。至此著名的 package 首次在gnu linux上出現。不久之後紅帽子也 開始著手建立...
CImageList使用指南
1.綜述 在mfc 中cimagelist 類封裝了 影象列表控制項的功能,影象列表是乙個具有相同大小的 影象 可以是不同 型別 的集合,其主要用於 應用程式中大規模 圖示的儲存。該控制項是不可 見的,通常與其它如 clistbox ccombobox ccomboboxex ctabctrl 以及...
CImageList使用指南
cimagelist使用指南 1.綜述 在 mfc中cimagelist類封裝了影象列表控制項的功能,影象列表是乙個具有相同大小的影象 可以是不同型別 的集合,其主要用於應用程式中大 規模圖示的儲存,該控制項是不可見的。通常與其它如clistbox,ccombobox,ccomboboxex以及ct...