譯者注:從測試人員的角度出發(fā),本文提出了在測試手機App過程中需要考慮的100多個問題。無論你是測試人員、開發(fā)人員、產(chǎn)品經(jīng)理還是交互設計師,這些問題在開發(fā)移動App時都有很大的參考價值。
測試人員經(jīng)常被視為Bug搜索者,但是你有沒有想過他們實際上是如何進行測試的?你對他們做什么以及他們?nèi)绾卧诘湫偷募夹g項目中體現(xiàn)價值感到好奇嗎?
作者將帶您了解測試人員的思維過程,并討論他們在測試移動應用程序時的考慮因素。本文的目的是揭示測試人員的思維過程,展示他們通常考慮的內(nèi)容的廣度和深度。
測試人員需要提問
測試人員的核心能力是提出具有挑戰(zhàn)性的相關問題。如果你能把調(diào)查和詢問的技能與技術和產(chǎn)品的知識結合起來,你就會逐漸成為一名優(yōu)秀的測試人員。
例如,測試人員可能會問:
這個App應該在什么平臺上使用?這個App到底是干什么的?如果我這樣做會怎么樣?
等等。
測試人員可以從各種場景中發(fā)現(xiàn)問題,這些場景可能來自對話、設計、文檔、用戶反饋或產(chǎn)品本身。這些可能性太多了...所以,還是來看看吧!
從哪里開始測試
理想情況下,測試人員應該掌握被測試產(chǎn)品的所有最新細節(jié)。但實際上這是很少見的,所以和其他人一樣,測試人員只能利用手頭有限的數(shù)據(jù)。但這不是不被測試的借口!測試人員實際上可以從各種內(nèi)部和外部來源收集信息。
在這個階段,測試人員可以問這些問題:
有哪些信息:規(guī)格?項目會議?用戶文檔?知識淵博的團隊成員?有沒有支持論壇或者公司在線論壇可以幫忙?是否有現(xiàn)存bug的記錄?該應用程序在什么系統(tǒng)、平臺和設備上運行和測試?申請流程是什么樣的數(shù)據(jù)(比如個人信息,信用卡等。)?應用是否集成了外部應用(如API和數(shù)據(jù)源)?這個應用需要使用特定的移動網(wǎng)頁嗎?現(xiàn)有消費者如何評價這款產(chǎn)品?測試還有多少時間?測試的優(yōu)先級和風險是什么?哪些用戶不好用,為什么?如何發(fā)布和更新?
基于以上收集的信息,測試人員可以制定測試計劃。通常預算決定測試方法,一天一周一個月之后測試方法肯定不一樣。當你熟悉了團隊、工作流程和這類問題的解決方案,你就更容易預測結果。
案例:臉譜網(wǎng)的社會評論
作為測試人員收集信息時,我喜歡選擇FacebookApp作為案例,因為用戶的抱怨無處不在。以下僅顯示部分在iTunesAppStore中遇到困難的用戶的評論,網(wǎng)上還有很多。
iPhone上的FacebookApp有很多負面評論
如果我接受挑戰(zhàn)測試Facebook,我一定會考慮這些反饋,否則我就是個傻子。
測試人員的創(chuàng)造力
你可能知道這個App本來想做什么,但是能做什么呢?用戶實際如何使用?測試人員善于作為旁觀者思考,嘗試不同的東西,不斷問“如果”。。。會發(fā)生什么”和“為什么”。
比如,移動測試人員經(jīng)常以不同的用戶角色進行測試——這有點夸張,但是作為不同用戶的思考、分析和想象自己的能力對測試是有啟發(fā)的。
測試人員可能會假設他們是以下用戶:
沒有經(jīng)驗;很有經(jīng)驗;戀人;黑客;競爭對手;
當然,可選角色更多,主要看你在開發(fā)什么產(chǎn)品。其實除了人物特征,其操作行為和工作流程也很重要。人們經(jīng)常以奇怪的方式使用產(chǎn)品,例如:
不應返回時返回;不耐煩,多次按鍵;輸入了錯誤的數(shù)據(jù);不明白怎么辦;可能沒有按要求設置;你可能覺得自己知道該怎么做(比如平時不看說明書)。
當測試人員遇到這些問題時,他們經(jīng)常會發(fā)現(xiàn)意想不到的bug。有時候,這些bug是微不足道的,但更深入的調(diào)查會揭示更嚴重的問題。
很多問題可以提前確定和測試。測試手機App時,以下問題并不都是相關的,但也可以試著問一下:
你明白你說的嗎?你按照設計完成任務了嗎?不是按照設計完成任務了嗎?如果持續(xù)使用或加載會發(fā)生什么?會不會反應慢?會崩潰嗎?會不會更新?有反饋嗎?崩潰報告會反饋到App嗎?用戶可能有哪些創(chuàng)造性的、邏輯性的或被動式的導航方法?用戶相信你的品牌嗎?用戶的數(shù)據(jù)有多安全?有沒有可能被打斷或者破解?跑到極限會怎么樣?會要求開通相關服務(如GPS、Wi-Fi)嗎?如果用戶打開它會發(fā)生什么?不打開會怎么樣?用戶重定向到哪里?上網(wǎng)?還是從網(wǎng)頁到應用?這會導致問題嗎?溝通流程和市場反饋是否與App的功能、設計和內(nèi)容一致?登錄流程是怎樣的?我可以直接登錄應用程序或進入網(wǎng)頁嗎?登錄是否和其他服務集成,比如用Facebook、Twitter賬號登錄?
案例:RunKeeper'sgyUpdate
RunKeeper,一個可以跟蹤你健身活動的App,最新版本有一個“目標設定”功能,我有興趣體驗一下。從測試人員的角度來說,更像是一個真正喜歡產(chǎn)品的用戶。但是我發(fā)現(xiàn)了一些問題:
1.默認單位是磅,但我想以千克為重量單位;
2.磅和千克之間的切換根本不好用;
3.設定目標時,會導致顯示錯誤的數(shù)據(jù)和圖表,讓我很迷茫;
4.因為第三條,我想刪除目標,但是根本找不到刪除的地方;
5.為了解決這個問題,我必須改變我個人體重的值,直到“目標設定”范圍,這樣當目標達到時,我就可以重新設定目標;
6.我會再次嘗試添加目標;
因為上面的疑惑,我花了更長的時間玩它,看能不能發(fā)現(xiàn)其他問題;
以下是發(fā)現(xiàn)問題的一些截圖:
該應用程序的最新版本包含一個新的“目標”部分。在設置日期時,我發(fā)現(xiàn)開始日期和結束日期都可以從公元1年開始。另外,為什么有兩個1年期的選項?
另一個錯誤是“當前重量”部分的拼寫錯誤。當空的數(shù)據(jù)被清除后,會出現(xiàn)拼錯的“回車”(應用中使用的是Etner)。這只是一個小Bug,但是看起來很不專業(yè)。
發(fā)現(xiàn)問題沒有捷徑,只能慢慢反復嘗試。每個應用及其團隊都將面臨許多不同的挑戰(zhàn)。但是測試人員的典型特征是:超越極限,做一些可以改變周圍事物的非常規(guī)的事情,長時間的保持測試(測試幾天,幾周甚至幾個月,不是幾分鐘),即使很明顯這些事情是不可能發(fā)生的。這些正是可以發(fā)現(xiàn)和引出的場景。
數(shù)據(jù)都在哪里?
測試人員喜歡從數(shù)據(jù)中發(fā)現(xiàn)問題,這讓開發(fā)人員有時很沮喪。其實用戶或者軟件開發(fā)人員在信息流上太混亂了,因為可能會有很多錯誤,所以基于數(shù)據(jù)和云的服務更重要。
也許您可以嘗試在以下場景中檢查問題:
移動設備數(shù)據(jù)已滿;測試人員刪除了所有數(shù)據(jù);測試人員刪除了App,數(shù)據(jù)呢?測試人員刪除并重新安裝了應用程序。數(shù)據(jù)呢?內(nèi)容過多或過少導致設計和布局發(fā)生變化;用于不同時間段和時區(qū);數(shù)據(jù)不同步;同步被中斷;數(shù)據(jù)更新影響其他服務(如網(wǎng)頁、云服務);快速處理數(shù)據(jù)或處理大量數(shù)據(jù);使用了無效數(shù)據(jù);
例如:湯。我的錯誤
我嘗試過的Soup.me是一個可以在個人Instagram中通過地圖和顏色對照片進行分類的web服務,但沒花我多長時間。注冊的時候提醒我Instagram上的照片不夠多,但是我的賬號里明明有500多張照片。不知道是什么問題,可能是數(shù)據(jù)問題,可能是表示層問題,也可能是App的錯誤提示。
另一種情況:快速分解
Quickytics是iPad上的網(wǎng)頁分析應用。在使用中,雖然我已經(jīng)從Google Analytics中刪除了網(wǎng)站配置,但它仍然存在。以下是一些問題:
我已經(jīng)刪除了網(wǎng)站配置,為什么我還有這個信息?
左邊的模塊沒有說明為什么“這個操作無法完成”,那么是否可以改進,避免混淆用戶?
測試人員也喜歡測試極端數(shù)據(jù)。作為典型用戶,他們經(jīng)常了解這個應用程序,所以在限制下測試不會花太長時間。數(shù)據(jù)比較混亂,測試人員要考慮軟件的用戶類型,以及如何在不同的數(shù)據(jù)場景下進行測試。
例如,他們可以嘗試以下場景:
測試用戶可以輸入的極限值;用重復數(shù)據(jù)測試;在全新的無數(shù)據(jù)手機上測試;在舊手搖機上測試;預裝不同類型的數(shù)據(jù);考慮收集大家的資源進行測試;自動化一些測試;用一些超出預期的數(shù)據(jù)進行測試,看看是如何處理的;分析信息和數(shù)據(jù)如何影響用戶體驗;不管用戶看的對不對,總要問問題。
創(chuàng)建錯誤提醒和消息
這里我想說的是好的錯誤消息的設計,不是從設計者的角度,而是從用戶或者測試者的角度。錯誤提醒和消息是測試人員很容易發(fā)現(xiàn)問題的地方。
關于錯誤消息的問題:
請考慮以下問題:錯誤提醒的UI設計是否可以接受?錯誤信息可以理解嗎?錯誤信息是否一致?這些錯誤信息有幫助嗎?錯誤信息內(nèi)容是否恰當?這些錯誤是否符合慣例和標準?這些錯誤消息本身安全嗎?運行記錄和崩潰對用戶和開發(fā)者可用嗎?所有的錯誤都測試過了嗎?處理完錯誤信息后,用戶會處于什么狀態(tài)?當用戶應該接受錯誤消息時,沒有彈出錯誤消息?
錯誤消息會影響用戶體驗。然而,壞的或無用的錯誤提醒無處不在。雖然理想狀態(tài)是避免用戶遇到虛假信息,但幾乎是不可能的。錯誤情況的設計、實施和確認可能與預期相反。但是測試人員往往善于發(fā)現(xiàn)意想不到的bug,能夠仔細研究是否要改進。
錯誤消息示例:
我喜歡以iPhone上的FacebookApp為例。這些冗長晦澀的文字不僅試圖覆蓋許多不同的場景,還可能無緣無故地丟失。
或許下面的消息提示框可以包含在反例“名人堂”中?
看看這個iPad上的《衛(wèi)報》應用。不想“再試一次”怎么辦?
對特定平臺的考慮
對于任何項目團隊成員來說,了解相關平臺的業(yè)務、技術和設計限制是非常重要的。
那么,移動App的測試人員應該發(fā)現(xiàn)哪些平臺相關的問題呢?
是否遵循了該特定平臺的設計規(guī)范?與行業(yè)內(nèi)的競爭對手和設計相比如何?適合周邊設備嗎?觸摸屏支持輕擊、雙擊、長按、拖動、搖動、捏、輕彈和滑動等手勢嗎?這個App可以理解嗎?當你轉動設備的方向會發(fā)生什么?可以用地圖和GPS嗎?有用戶指南嗎?電子郵件的工作流程友好嗎?通過網(wǎng)絡分享時是否運行順暢?是否整合了其他社交應用或網(wǎng)站?當用戶進行多任務處理,在不同的應用之間切換時,還能正常工作嗎?用戶更新的時候會顯示時間進度嗎?默認設置是什么?調(diào)整了嗎?使用音效會有區(qū)別嗎?
案例:黑猩猩統(tǒng)計
ChimpStats是iPad上的一個應用,可以查看電子郵件廣告的細節(jié)。我第一次使用這個應用程序是在橫向模式下。當我需要輸入API密碼時,我被困住了。水平模式我根本輸入不了API密碼,要切換到垂直模式才能輸入成功。
連接和中斷的問題當連接間歇或意外中斷時,可能會發(fā)生許多有趣的事情。
您是否嘗試在以下情況下使用該應用程序:
在步行環(huán)境中?Wi-Fi連接?沒有Wi-Fi?3G模式下?間歇性連接?設置為飛機模式?當一個電話進來的時候?當你收到信息時。當您收到提醒通知時。電量低甚至自動關機的時候?什么時候強制更新?當你收到語音信息時。
這種測試最容易發(fā)現(xiàn)錯誤和bug。我強烈建議你在這些條件下進行測試(不僅僅是打開它,確保它可以正常工作,還要嘗試用戶使用的整個過程,在特定的時間間隔內(nèi)強制連接和中斷)。
這個App是否提供了足夠的反饋?數(shù)據(jù)傳輸是否為用戶所知?會不會慢慢停下來然后崩潰?打開會怎么樣?任務完成后會發(fā)生什么?有可能丟失未保存的操作嗎?可以忽略通知提醒嗎?忽略了會怎么樣?你能回復通知提醒嗎?回應后會怎樣?有些問題用錯誤信息合適嗎?當?shù)卿涍^期或超時時會發(fā)生什么?
應用程序的維護
很容易加快整個測試過程。你只需要一勞永逸地測試它,對嗎?請三思。
此刻,我遇到的一個問題是,iPad上的一些應用程序更新后無法再下載。對于一個用戶來說,這是非常令人沮喪的。
也許,這不是開發(fā)者能控制的。誰知道呢?我只知道它不能被用戶使用。我也嘗試過卸載App然后重裝,但是這個問題一直沒有解決。在網(wǎng)上搜了很多,除了一些更新操作系統(tǒng)的建議,沒有別的解決辦法。也許,下次有空,我會再試一次。
關鍵問題是,如果一個應用程序只被測試過一次,而且只測試過一次(或者只在短時間內(nèi)測試過一次),你就找不到很多問題了。一個App本身可能找不到變化,但是外部條件可以讓這些問題發(fā)生。
當外部環(huán)境持續(xù)變化時,App會受到哪些影響?讓我們捫心自問:
我可以下載這個應用程序嗎?我可以下載并安裝更新嗎?更新后還能用嗎?很多應用在等待更新的時候,我可以更新嗎?系統(tǒng)更新后會怎么樣?系統(tǒng)不更新會怎樣?會不會通過iTunes自動下載到其他設備?自動化任務或測試有意義嗎?它會連接到網(wǎng)絡服務嗎?這有什么區(qū)別?
最好在手機App發(fā)布后對每個版本都進行測試。每次發(fā)布新版本,都定義了最高優(yōu)先級測試,以保證在各種條件下(主要是主流平臺)都能進行。隨著時間的推移,測試可以變得自動化。但是要記住,自動化不是萬能的,問題只能通過人眼來發(fā)現(xiàn)。
案例:蘋果手機上的分析應用
這個App我用了兩年了,之前沒有任何問題。但現(xiàn)在,它顯示我的一些網(wǎng)站沒有數(shù)據(jù)(但事實上,一個月內(nèi)不止一個人訪問過我的網(wǎng)站!)。從App Store的評論來看,遇到這個問題的不止我一個人。
另一個案例是iPhone上的Twitter。更新啟動這個App后,我瞬間看到如下提示:“你的時間線數(shù)據(jù)顯示為空,你還沒有關注任何人”(但我是一個活躍用戶,有5年經(jīng)驗)。我擔心了一會兒,幸好消息很快就消失了,然后史料就裝上了。
測試沒有對錯
我們已經(jīng)討論了移動測試的一些方面,但是這些前提是:只有有問題才能發(fā)現(xiàn)問題。
一般來說,測試被認為是完全邏輯的、可預測的、可預測的。流程包括:測試腳本和測試計劃,通過和失敗,糾正和錯誤的反饋。經(jīng)過這些檢測程序,真相已經(jīng)不遠了。
當然,如果有必要,我們可以使用上述方法進行測試,但這不是測試的目的。我們不僅僅是在嘗試創(chuàng)建測試用例,尋找bug,更重要的是,找到關鍵問題,為項目團隊決定何時發(fā)布App提供有價值的信息。而找到那些關鍵問題的最好方法就是提問!
1.《app測試 App測試使用指南》援引自互聯(lián)網(wǎng),旨在傳遞更多網(wǎng)絡信息知識,僅代表作者本人觀點,與本網(wǎng)站無關,侵刪請聯(lián)系頁腳下方聯(lián)系方式。
2.《app測試 App測試使用指南》僅供讀者參考,本網(wǎng)站未對該內(nèi)容進行證實,對其原創(chuàng)性、真實性、完整性、及時性不作任何保證。
3.文章轉載時請保留本站內(nèi)容來源地址,http://f99ss.com/guonei/647651.html