【測試基礎】App測試要點總結


測試工作過程中思維過程:
測試人員常被看作Bug尋找者,程序的破壞者。


1、好的測試工程師所具備的能力:

  • 細心的觀察能力
  • 有效的提問能力
  • 產品的業務能力
  • 好奇心

2、測試人員需要詢問問題:
測試人員的核心能力在於提出有挑戰性的相關問題。如果你能將調查、詢問技巧和技術、產品的知識結合起來,漸漸地,你也會成為一個好的測試人員。

比如,測試人員可能會問:

  • 這個App應該在什么平台上使用?
  • 這個App到底是干什么的?
  • 如果我這樣做,會發生什么情況?

諸如此類。

 

3、從哪里開始測試
理想情況下,測試人員應該掌握所測產品的所有最新細節資料。但事實上這很少見,因此,像其他人一樣,測試人員只能將就使用手上有限的資料。但這不是不能測試的借口!測試人員其實是可以從內部和外部多種不同的來源處收集信息的。
這個階段,測試人員可以問這些問題:

  • 有哪些信息:規格?項目會議?用戶文檔?知識淵博的團隊成員?現有的缺陷記錄?
  • 該應用是在什么系統、平台和設備上進行運作和測試?
  • 該應用有整合外部應用(比如API和數據來源)嗎?
  • 該應用需要用到特定的移動端網頁嗎?
  • 有多少時間可用於測試?
  • 測試的優先級和風險是什么?
  • 什么時候發布?

基於以上收集的信息,測試人員可以制定測試計划了。通常預算決定測試方法,一天測完,一個星期或一個月測完的方法肯定不同。當你逐漸熟悉團隊、工作流程以及這類問題的解決方式時,你就更容易預測結果了。

當作為一名測試人員收集信息時,第一個信息來源用戶反饋

 

4、測試人員的創造力
你可能知道這個App原本想做的事,但是它究竟可以做什么事呢?用戶實際上是如何使用它的?測試人員擅長作為旁觀者來思考,嘗試不同的事物,以及不斷地詢問“如果。。。會怎么樣”和“為什么”的問題。
把自己當成不同用戶進行思考、分析和設想的能力對測試是備受啟發的。
測試人員可能會設想自己是以下用戶:

  • 毫無經驗;
  • 很有經驗;
  • 愛好者;
  • 黑客;
  • 競爭對手;

 

當然還有更多可選的角色,這主要取決於你們所開發的產品是什么。其實除了角色特點外,其操作行為和工作流程也很重要。


人們使用產品方式常常很奇怪,比如:

  • 在不應該返回的時候返回了;
  • 不耐心而且多次敲按鍵;
  • 輸入錯誤的數據;
  • 不理解該怎么做;
  • 可能沒有按要求進行設置;
  • 可能會自以為是地認為自己知道該做什么(比如通常不閱讀說明)。

 

測試人員遇到這些問題時,也常常發現意料之外的Bug。有時候,這些Bug微不足道,但是更深入的調查就會發現更嚴重的問題。


很多問題是可以被預先確定和測試的。測試移動端App時,以下的問題並不都有關,但是也可以嘗試問問:

  • 崩潰報告會反饋到App嗎?
  • 用戶的數據安全如何?
  • 會要求打開相關服務嗎(如GPS、Wi-Fi)?如果用戶打開會怎樣?沒打開又會怎樣?
  • 登錄流程是怎樣的?能在App上直接登錄還是要去網頁端?
  • 登錄是否整合了其他服務,微信,QQ
  • 哪兒有所有的數據?

 

測試人員喜歡從數據上找問題,這讓開發人員有時候很郁悶。事實上,用戶或者是軟件開發人員在信息流中確實太容易迷惑了,因為可能會出現很多錯誤,所以基於數據和雲的服務更為重要。


也許你可以嘗試在以下場景中檢查出問題:

  • 移動設備數據已滿;
  • 測試人員移除了所有的數據;
  • 測試人員刪除了App,那數據怎么辦?
  • 測試人員刪除並重裝了App,數據怎么辦?
  • 數據不同步;
  • 同步被中斷;
  • 快速處理數據或是處理大量的數據;
  • 使用無效的數據;

 

測試人員也很喜歡測試極限數據下的情況。他們常常是作為典型用戶來了解這個App,所以極限下的測試並不會花很長的時間。數據是混亂的,所以測試人員要考慮到軟件的用戶類型,以及在不同的數據場景下如何進行測試。


比如,他們可能嘗試以下場景:

  • 測試用戶可輸入的極限值;
  • 用重復的數據進行測試;
  • 在全新無數據的手機里測試;
  • 在老手機上測試;
  • 用一些超出預期的數據去測試,看它是怎么處理的;
  • 分析信息和數據是怎么影響用戶體驗的;

 

不管用戶看到的是否正確,都要一直問問題。
創建出錯提醒和消息


關於錯誤信息要問的問題請考慮以下問題:

  • 出錯提醒的UI設計一致嗎?
  • 錯誤信息內容可以理解嗎?
  • 錯誤信息是否保持一致?
  • 這些錯誤信息有幫助嗎?
  • 錯誤信息內容是否合適?
  • 這些錯誤是否符合慣例和標准?
  • 這些錯誤信息本身是否安全?
  • 運行記錄和崩潰是否能被用戶和開發者獲得?
  • 是否所有的錯誤都被測試過?
  • 用戶處理完錯誤信息后,將處於什么狀態
  • 是否在用戶應該接受錯誤信息時,卻沒有錯誤信息彈出?


錯誤信息會影響用戶體驗。然而,不好或無用的出錯提醒無處不在。雖最理想的狀態是避免用戶遭遇錯誤信息,但這幾乎不可能。出錯情況的設計、實現和確認可能與預期相反,但是,測試者往往善於發現意料外的Bug,並能仔細考究是否改進它們。


5、特定平台上的注意事項
對於任何項目團隊成員來說,了解相關平台的業務、技術和設計上的限制,都是至關重要的。

那么,移動端App的測試人員應該找出哪些平台相關的問題呢?

  • 是否遵照了這個特定平台的設計規范?
  • 觸摸屏支持手勢嗎,如:輕拍、雙擊、長按、拖動、搖動、夾捏、輕拂、滑動?
  • 當轉動設備的方向時,有什么變化?
  • 有用戶指南嗎?
  • 通過網絡分享時,它運行得流暢嗎?是否整合了其他社交應用或網站?
  • 當用戶正在進行多任務工作,並在不同App間切換的時候,它還運行正常嗎?
  • 當用戶更新它時,它是否會顯示時間進度?
  • 默認設置如何?有經過調整嗎?

連接和中斷的問題當連接斷斷續續或是意外中斷時,很多有趣的事情就可能發生了。


你是否嘗試過在以下場景中使用App:

  • 走動環境下?
  • Wi-Fi連接下?
  • 沒有Wi-Fi的情況下?
  • 3G模式下?
  • 間歇性地連接?
  • 設置為飛行模式?
  • 一個電話打進來時?
  • 接收到一條信息時?
  • 接收到一個提醒通知時?
  • 在電量很低甚至自動關機時?
  • 被強制更新時?
  • 收到一條語音留言時?

這類測試最容易發現錯誤和Bug。我強烈建議你在這些情況下進行測試(不僅僅只是開機、確認它可以正常工作,還要嘗試用戶使用的整個流程,並在特定的時間間歇內強制連接和中斷)。


6、App的維護
想要加快整個測試的過程很簡單,只需測試一次就一勞永逸了,對嗎?請三思。

此刻我遇到的一個問題是:iPad上的一些App在更新后,再也不能下載了。對於一個用戶來說,這是非常令人沮喪的。
可能,這也是開發者控制不了的。誰知道呢?我只知道它對於用戶來講是不能用的。我也嘗試卸載App,然后重裝,但這個問題始終未能解決。我在網上大量的搜索,除了找到一些關於更新操作系統的建議外,沒有任何其他解決方式。可能,下次有空時候,我還會再試試看。
關鍵問題在於:如果一個應用只被測試過一次,且只有一次(或僅在很短的一段時間內測試過),很多問題你都發現不了。一個App自身可能不會發現變化,但外界條件卻可以讓這些問題發生。


當外界環境持續變化時,App又會受到哪些影響呢?讓我們問問自己:

  • 我可以下載這個App嗎?
  • 我可以下載並安裝更新嗎?
  • 更新之后還能使用嗎?
  • 系統更新后,它會發生什么?
  • 系統未更新,它又會發生什么?
  • 它會通過iTunes自動同步下載到其他設備嗎?
  • 它自動執行任務或測試有意義嗎?
  • 它會連接到網絡服務嗎?這會帶來什么不同?

移動端的App每一個版本發布后,最好都去測試一下。每次發布新版本時,先定義最高優先級測試,確保其能在各種條件下進行(主要是在主流的平台上)。隨着時間的推移,測試可以變得自動化。但請記住,自動化不是靈丹妙葯,發現問題,只能通過人的眼睛。


7、測試不是對錯判斷
我們討論了移動測試的一些方面,但這些前提是:帶着問題,才能發現問題。
通常,測試被認為是完全合乎邏輯的、可計划的和可預測的,過程包括:測試腳本和測試計划、通過和失敗、正確和錯誤的反饋。走完這些測試流程就離真相不遠了。
當然,如果必要,我們可以用上述方法進行測試,但這並不是測試的目的。我們不僅是為了創建測試用例、發現Bug,更重要的是找到關鍵的問題,為項目組決定什么時候發布App提供有價值的信息。而找到

那些關鍵問題的最好方法就是:提問!

(1)、登錄
  ●登錄用戶名和密碼錯誤時,界面有提示信息
  ●用戶主動退出登錄后,下次啟動APP時,應該進入登錄界面
  ●對於支持自動登錄的APP,數據交換時 ,是否能自動登錄成功且數據庫操作無誤
  ●密碼更改后,登錄時是否做到了有效數據的校驗
  ●對於未登錄時一些頁面的操作,是否做了控制
  ●切換賬號登錄,檢驗登錄的信息是否做到及時更新
  ●對於多個端都進行操作時,確保數據庫操作無誤,且每個端可以及時看到數據的更新
  ●對於一些軟件,支持一個賬號只允許登錄一台機器,這時,需要檢查賬號登錄多個手機時,是否將原用戶剔除,且能夠給出提示信息
  ● APP切換到后台時,再次切換到前台的測試,如登錄時,有電話打進來
(2)、離線
  離線是應用程序在本地的客戶端會緩存一部分數據以功程序下次調用
  ●對於一些程序,需要在登錄進來后,這時沒有網絡的情況下可以瀏覽本地數據
  ●對於無網絡時,刷新獲取新數據時,不能獲取數據且能給出友好提示
  ●切換到后台,再次切換到前台時,可以正常查看
  ●離線后又連上網,這時對數據有更新時,需要從服務器端獲取新數據來更新客戶端數據,且要更新本地緩存信息
  ●對於一些界面的數據不提供離線查看,需要給出相應提示且界面更新后無任何數據
(3)、經驗
因為ios系統有不斷的更新,所以會出現這樣那樣兼容性的問題,其實我們軟件中有一點,我記得很清楚,就是在送人彩票環節,贈送成功后會彈出一個溫馨提示(問用戶是,否要提醒用戶領取),用戶一旦點了【好的】,會跳到一個短信提醒框,此時就會出錯,在iphone5上都沒事,一旦在4s上運行就有可能付出閃退。
如果是同一個用戶,那么她在android,ios上登錄后,記錄應該都是一樣的。
一款手機軟件在android系統上測試要特別注意,android手機款式多,內存,分辨率不一,所以測試難過也比較大。我們的軟件有一個問題一直走不去,就是在小手機上,如果應用開多,占內存大了,就會出現閃退。
有新的版本要上線前,一定要測舊的版本,不能因為新版本上線了,老版本就不能用了,用老版本的用戶還是大有人在。有一次,我用新版本注冊的用戶去玩老版本,結果就有有錯過,當然這樣玩的人很少。
如果一頁面里有很多條記錄里,要注意上下多滑動,我在測試過程中,好幾次在上下滑動中又由於數據出現錯誤,導致閃退,尤其是android.
到了某個頁面,突然斷網了,然后你在不知情的情況下,點擊某個按鈕想繼續往下走,此時,不能出現閃退的情況,而要給出斷網提示。
文本框校驗時采用等價類划分法,邊界值法,錯誤推測法與場景法,至少這些方法的概念,自己網上去搜。
很多手機app在打開后,一般用戶都不需要先注冊登錄,到了合適的地方,彈出合適的提示,很好友的讓用戶去登錄。當然有些頁面,而且有時沒有判斷,未登錄去點一些按鈕,有可能會閃退。未登錄與登錄顯示的頁面是完全不一樣的,要仔細測。
用戶登錄狀態太久,sessionId會過期,會出現“雖然是登錄狀態,系統會提示用戶沒有登錄。”
外部軟件需要更新導致自家軟件閃退。我公司是一款博彩類軟件,用戶需要通過支付寶或財付通支付,有一次在用支付快捷支付時,提示我支付快捷支付需要更新,我就點了更新,更新完成后,我們的軟件就異常退出了。
輸入數據,點某顆按鈕,會出現錯誤提示,有時不管這個提示,繼續猛點這個按鈕,會出現出人意外的結果哦。
上線前一定要測一下軟件更新,我好幾次這里沒測,結果挨了批。這真是叫做“晚節不保”。所有功能都測了n遍了,大膽放心的上了,可是沒有在測試環境測軟件的更新。結果上線后,用戶更新了就出大問題了,大大影響用戶量。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM