手机测试人员的思维过程
1????? 測試人員的思維過程
測試人員的核心能力在于提出有挑戰(zhàn)性的相關(guān)問題。如果你能將調(diào)查、詢問技巧和技術(shù)、產(chǎn)品的知識結(jié)合起來,漸漸地,你也會成為一個好的測試人員。
比如,測試人員可能會問:
· 這個App應(yīng)該在什么平臺上使用?
· 這個App到底是干什么的?
· 如果我這樣做,會發(fā)生什么情況?
? 諸如此類。
??????? ?測試人員能從各種場景中發(fā)現(xiàn)問題,它們可能來自對話、設(shè)計、文檔、用戶反饋或者是產(chǎn)品本身。
1.1??從哪里開始測試
理想情況下,測試人員應(yīng)該掌握所測產(chǎn)品的所有最新細節(jié)資料。但事實上這很少見,因此,像其他人一樣,測試人員只能將就使用手上有限的資料。但這不是不能測試的借口!測試人員其實是可以從內(nèi)部和外部多種不同的來源處收集信息的。
這個階段,測試人員可以問這些問題:
·? 有哪些信息:規(guī)格?項目會議?用戶文檔?知識淵博的團隊成員?有支持論壇或者是公司在線論壇提供幫助?有現(xiàn)存Bug的記錄嗎?
· 該應(yīng)用是在什么系統(tǒng)、平臺和設(shè)備上進行運作和測試?
· 該應(yīng)用是處理什么類型的數(shù)據(jù)(比如個人信息、信用卡等等)?
· 該應(yīng)用有整合外部應(yīng)用(比如API和數(shù)據(jù)來源)嗎?
· 該應(yīng)用需要用到特定的移動端網(wǎng)頁嗎?
· 現(xiàn)有消費者如何評價這個產(chǎn)品?
· 有多少時間可用于測試?
· 測試的優(yōu)先級和風(fēng)險是什么?
· 哪些用戶使用起來不愉快,為什么?
· 如何發(fā)布和更新?
1.2??不同角色進行測試
移動端的測試人員常常以不同的用戶角色進行測試——當(dāng)然有點夸張,但是,這種把自己當(dāng)成不同用戶進行思考、分析和設(shè)想的能力對測試是備受啟發(fā)的。
測試人員可能會設(shè)想自己是以下用戶:
· 毫無經(jīng)驗;
· 很有經(jīng)驗;
· 愛好者;
· 黑客;
· 競爭對手。?
當(dāng)然還有更多可選的角色,這主要取決于你們所開發(fā)的產(chǎn)品是什么。其實除了角色特點外,其操作行為和工作流程也很重要。人們使用產(chǎn)品方式常常很奇怪,比如:
· 在不應(yīng)該返回的時候返回了;
· 不耐心而且多次敲按鍵;
· 輸入錯誤的數(shù)據(jù);
· 不理解該怎么做;
· 可能沒有按要求進行設(shè)置;
· 可能會自以為是地認為自己知道該怎做什么(比如通常不閱讀說明)。
?
1.3??從提問中找問題
測試人員遇到這些問題時,也常常發(fā)現(xiàn)意料之外的Bug。有時候,這些Bug微不足道,但是更深入的調(diào)查就會發(fā)現(xiàn)更嚴重的問題。
很多問題是可以被預(yù)先確定和測試的。測試移動端App時,以下的問題并不都有關(guān),但是也可以嘗試問問:
· 是否按照所說的來做呢?
· 是按設(shè)計完成任務(wù)的嗎?
· 不是按設(shè)計完成任務(wù)的嗎?
· 如果處于一直被使用或者負荷情況下,狀況會怎么樣?會反應(yīng)遲鈍嗎?會崩潰嗎?會更新嗎?有反饋嗎?
· 崩潰報告會反饋到App嗎?
· 用戶可能有哪些創(chuàng)造性的、邏輯性的或是消極的導(dǎo)航方式?用戶相信你的品牌嗎?
· 用戶的數(shù)據(jù)安全如何?
· 有可能被中斷或是被破解嗎?
· 運行到極限時會發(fā)生什么狀況?
· 會要求打開相關(guān)服務(wù)嗎(如GPS、Wi-Fi)?如果用戶打開會怎樣?沒打開又會怎樣?
· 將用戶重新引向哪兒?去網(wǎng)頁?還是從網(wǎng)頁到App?這會導(dǎo)致問題出現(xiàn)嗎?
· 溝通過程和市場反饋是否符合該App的功能、設(shè)計和內(nèi)容?
· 登錄流程是怎樣的?能在App上直接登錄還是要去網(wǎng)頁端?
· 登錄是否整合了其他服務(wù),比如用Facebook和Twitter帳號登錄??
?
發(fā)現(xiàn)問題沒有捷徑,你只能反復(fù)的慢慢的試用。每個App及其團隊都會面臨很多不同的挑戰(zhàn)。但是,測試人員的典型的特點就是:超越極限,做一些非常規(guī)的、可以改變周圍事物的事情,保持長時間的測試(測試幾天、幾個星期甚至幾月,而不是幾分鐘就測完),即使明明知道這些事情是不可能發(fā)生的。這些也正是可以找到和引出的場景所在。
?
1.4??從數(shù)據(jù)上找問題
測試人員喜歡從數(shù)據(jù)上找問題,這讓開發(fā)人員有時候很郁悶。事實上,用戶或者是軟件開發(fā)人員在信息流中確實太容易迷惑了,因為可能會出現(xiàn)很多錯誤,所以基于數(shù)據(jù)和云的服務(wù)更為重要
也許你可以嘗試在以下場景中檢查出問題:?
· ?移動設(shè)備數(shù)據(jù)已滿;
· 測試人員移除了所有的數(shù)據(jù);
· 測試人員刪除了App,那數(shù)據(jù)怎么辦?
· ?測試人員刪除并重裝了App,數(shù)據(jù)怎么辦?
· ?過多或者過少的內(nèi)容導(dǎo)致設(shè)計和布局的改變;
· 在不同的時間段和時區(qū)使用;
· ?數(shù)據(jù)不同步;
· 同步被中斷;
· 數(shù)據(jù)更新影響其他的服務(wù)(比如網(wǎng)頁和云端服務(wù));
· 快速處理數(shù)據(jù)或是處理大量的數(shù)據(jù);
· 使用無效的數(shù)據(jù);
?
1.5??極限數(shù)據(jù)問題多
測試人員也很喜歡測試極限數(shù)據(jù)下的情況。他們常常是作為典型用戶來了解這個App,所以極限下的測試并不會花很長的時間。數(shù)據(jù)是混亂的,所以測試人員要考慮到軟件的用戶類型,以及在不同的數(shù)據(jù)場景下如何進行測試。?
比如,他們可能嘗試以下場景:
· 測試用戶可輸入的極限值;
· 用重復(fù)的數(shù)據(jù)進行測試;
· 在全新無數(shù)據(jù)的手機里測試;
· 在老手機上測試;
· 預(yù)先安裝不同類型的數(shù)據(jù);
· 考慮聚集大家的資源來進行測試;
· 讓一些測試自動化;
· 用一些超出預(yù)期的數(shù)據(jù)去測試,看它是怎么處理的;
· 分析信息和數(shù)據(jù)是怎么影響用戶體驗的;
· 不管用戶看到的是否正確,都要一直問問題。
?
?
1.6? ?創(chuàng)建出錯提醒和消息
這里,我不是從設(shè)計師的角度來要談?wù)摵玫腻e誤消息的設(shè)計,而是想從用戶或是測試者的角度來看這個問題。出錯提醒和消息是測試人員很容易發(fā)現(xiàn)問題的地方。
? 關(guān)于錯誤信息要問的問題:
請考慮以下問題:
· 出錯提醒的UI設(shè)計可以接受嗎?
· 錯誤信息內(nèi)容可以理解嗎?
· 錯誤信息是否保持一致?
· 這些錯誤信息有幫助嗎?
· 錯誤信息內(nèi)容是否合適?
· 這些錯誤是否符合慣例和標準?
· 這些錯誤信息本身是否安全?
· 運行記錄和崩潰是否能被用戶和開發(fā)者獲得?
· 是否所有的錯誤都被測試過?
· 用戶處理完錯誤信息后,將處于什么狀態(tài)
· 是否在用戶應(yīng)該接受錯誤信息時,卻沒有錯誤信息彈出?
錯誤信息會影響用戶體驗。然而,不好或無用的出錯提醒無處不在。雖最理想的狀態(tài)是避免用戶遭遇錯誤信息,但這幾乎不可能。出錯情況的設(shè)計、實現(xiàn)和確認可能與預(yù)期相反,但是,測試者往往善于發(fā)現(xiàn)意料外的Bug,并能仔細考究是否改進它們。
?
?
1.7? 特定平臺上的注意事項
對于任何項目團隊成員來說,了解相關(guān)平臺的業(yè)務(wù)、技術(shù)和設(shè)計上的限制,都是至關(guān)重要的。
那么,移動端App的測試人員應(yīng)該找出哪些平臺相關(guān)的問題呢?
· 是否遵照了這個特定平臺的設(shè)計規(guī)范?
· 與競爭對手以及行業(yè)內(nèi)的設(shè)計相比如何?
· 是否適應(yīng)外圍設(shè)備?
· 觸摸屏支持手勢嗎,如:輕拍、雙擊、長按、拖動、搖動、夾捏、輕拂、滑動?
· 這個App可以被理解嗎?
· 當(dāng)轉(zhuǎn)動設(shè)備的方向時,有什么變化?
· 可以使用地圖和GPS嗎?
· 有用戶指南嗎?
· 電子郵件的工作流程友好嗎?
· 通過網(wǎng)絡(luò)分享時,它運行得流暢嗎?是否整合了其他社交應(yīng)用或網(wǎng)站?
· 當(dāng)用戶正在進行多任務(wù)工作,并在不同App間切換的時候,它還運行正常嗎?
· 當(dāng)用戶更新它時,它是否會顯示時間進度?
· 默認設(shè)置如何?有經(jīng)過調(diào)整嗎?
· 使用音效會有不同嗎??
?
?
?
連接和中斷的問題當(dāng)連接斷斷續(xù)續(xù)或是意外中斷時,很多有趣的事情就可能發(fā)生了。
你是否嘗試過在以下場景中使用App:?
· 走動環(huán)境下?
· Wi-Fi連接下?
· 沒有Wi-Fi的情況下?
· 3G模式下?
· 間歇性地連接?
· 設(shè)置為飛行模式?
· 一個電話打進來時?
· 接收到一條信息時?
· 接收到一個提醒通知時?
· 在電量很低甚至自動關(guān)機時?
· 被強制更新時?
· 收到一條語音留言時?
? 這類測試最容易發(fā)現(xiàn)錯誤和Bug。我強烈建議你在這些情況下進行測試(不僅僅只是開機、確認它可以正常工作,還要嘗試用戶使用的整個流程,并在特定的時間間歇內(nèi)強制連接和中斷)。
· 這個App提供了足夠多的反饋嗎?
· 數(shù)據(jù)傳輸為用戶所知嗎?
· 它會慢慢停止,然后崩潰嗎?
· 開啟時會發(fā)生什么?
· 任務(wù)完成中會發(fā)生什么?
· 是否可能丟失未保存的操作?
· 你可以忽視通知提醒嗎?忽視后會發(fā)生什么?
· 你可以對通知提醒做出響應(yīng)嗎?響應(yīng)后會發(fā)生什么?
· 對某些問題,使用錯誤信息是否恰當(dāng)?
· 當(dāng)?shù)卿涍^期或超時會發(fā)生什么?
?
1.8??APP的維護
如果一個應(yīng)用只被測試過一次,且只有一次(或僅在很短的一段時間內(nèi)測試過),很多問題你都發(fā)現(xiàn)不了。一個App自身可能不會發(fā)現(xiàn)變化,但外界條件卻可以讓這些問題發(fā)生。
當(dāng)外界環(huán)境持續(xù)變化時,App又會受到哪些影響呢?讓我們問問自己:
· 我可以下載這個App嗎?
· 我可以下載并安裝更新嗎?
· 更新之后還能使用嗎?
· 當(dāng)很多App處于等待更新狀態(tài)時,我能更新它嗎?
· 系統(tǒng)更新后,它會發(fā)生什么?
· 系統(tǒng)未更新,它又會發(fā)生什么?
· 它會通過iTunes自動同步下載到其他設(shè)備嗎?
· 它自動執(zhí)行任務(wù)或測試有意義嗎?
· 它會連接到網(wǎng)絡(luò)服務(wù)嗎?這會帶來什么不同?
?
移動端的App每一個版本發(fā)布后,最好都去測試一下。每次發(fā)布新版本時,先定義最高優(yōu)先級測試,確保其能在各種條件下進行(主要是在主流的平臺上)。隨著時間的推移,測試可以變得自動化。但請記住,自動化不是靈丹妙藥,發(fā)現(xiàn)問題,只能通過人的眼睛。
?
1.9? 測試不是對錯判斷
我們討論了移動測試的一些方面,但這些前提是:帶著問題,才能發(fā)現(xiàn)問題。
通常,測試被認為是完全合乎邏輯的、可計劃的和可預(yù)測的,過程包括:測試腳本和測試計劃、通過和失敗、正確和錯誤的反饋。走完這些測試流程就離真相不遠了。
? ? ? ?當(dāng)然,如果必要,我們可以用上述方法進行測試,但這并不是測試的目的。我們不僅是為了創(chuàng)建測試用例、發(fā)現(xiàn)Bug,更重要的是找到關(guān)鍵的問題,為項目組決定什么時候發(fā)布App提供有價值的信息。而找到那些關(guān)鍵問題的最好方法就是:提問!
總結(jié)
以上是生活随笔為你收集整理的手机测试人员的思维过程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: LAMP源码环境搭建
- 下一篇: hdu(杭电oj)第一页题目题解