干貨 | 產品測試規劃必看的8個維度
一個不會測試的產品不是好開發
在初創公司,大部分都沒有專門的QA(質量保證)人員,此時測試的活兒基本上就是產品做了。
實際上這活兒也挺適合產品做的,畢竟沒有誰能比寫PRD的那個人更了解產品細節了。
這半個月經歷了兩次較大的網站架構更新。時間緊,資源少,沒時間系統的搞沙盤測試,依然像往常一樣,全員大幫哄,做了一夜黑盒就完事兒了。
結果上線之后各種Bug,用戶反饋壓爆客服。還好技術團隊比較牛掰,嚴重的缺陷當天基本都解決掉,才沒造成過大的損失。
之前一直沒系統的去思考過測試方面的事情,親身經歷才感覺到后果的嚴重性。
于是重新看了下項目管理的書,找了些測試方面的文章,在這兒小結一下分享,希望大家在留言一起多交流碰撞。
先聊聊項目管理:
從項目管理的角度,測試嚴格來說屬于項目質量管理中的質量計劃,質量保證,質量控制三個環節中的最后一環,是驗收整個項目質量的關鍵環節。
而現在的創業團隊大都是敏捷型開發團隊,也就是一些文章里經常說的“小作坊”~沒有繁重的工作流程和復雜的層級關系,溝通和執行的效率都很高。
所以傳統的項目管理理論中大部分是不適用于初創階段的,這時候就得結合自身情況,用合適的方法具體分析了。
就測試而言,系統的軟件測試方法非常多,單元測試,集成測試,系統測試,α測試,β測試,回歸測試,模糊測試等等……
最常見的三種是:
- 黑盒測試——不考慮程序的內部結構,直接在程序接口上進行測試。通俗的講就是把產品拿過來直接用找Bug。
- 白盒測試——把測試的對象看成一個透明的盒子,對程序的所有邏輯路徑進行測試。常用的有語句覆蓋,條件覆蓋,判斷覆蓋,條件組合覆蓋,路徑覆蓋這幾種。(這個都是開發的活兒,產品們了解下就好
- 沙盤測試——模擬用戶在實際環境中的測試,也就是把一個個用戶場景都走通一遍。這樣就把粒度較大,也十分重要的邏輯漏洞過濾掉了。
而實際操作中,測試要如何規劃呢?
下面分別再從8個維度重新歸納一下。
首先,測試人員的核心能力在于提出具有價值的問題。這需要結合技術和產品的角度來思考。
了解已有信息
測試開始之前,我們要先知道從哪開始測試:
- 目前已經有哪些可供參考的信息:產品規格?需求文檔?用戶文檔?已有的Bug記錄等等。(理想情況下,測試人員應該掌握產品應有的所有細節資料。然而事實上這些文檔很有限,多問多積累吧…)
- 產品支持在什么系統、平臺和設備上運行?
- 產品都處理哪些數據類型?(如聊天信息,消費信息等)
- 產品有接入外部產品嗎?(如其它API或數據)
- 多少時間用來測試?
- 測試的優先級如何排列?
- 測試的風險如何判斷?
- 發布和更新的流程如何?
基本上,了解好上面的信息就可以開始制定相應的測試計劃了。在時間允許的情況下,一定要記得:(這次就是沒寫吃了大虧)
寫測試用例!
寫測試用例!
寫測試用例!
從用戶場景測試:
自己做的產品,我們一定有自己的理解,而用戶實際上是如何使用的?在什么樣的情景下使用?都是我們需要慢慢的通過與用戶的交流,產品的數據積累,用戶研究得來的,測試的時候當然也不能漏掉。
用戶的使用經驗:
- 毫無經驗
- 有些經驗
- 很有經驗
- 技術狂
- 競爭對手
- 黑客
……
當然,角色要多少有多少,具體看我們產品有什么需要了。
用戶的操作行為:
- 在不該返回的時候返回
- 不耐心多次點擊按鈕
- 輸入錯誤數據
- 不理解如何使用
- 沒按照產品規則進行設置
- 隨便亂點
……
意料之外的Bug常常就會在這里出現,不過一般都是小Bug,但更深入的想想,其實會有更多產品本身的問題。
產品性能問題:
- 開發時是否完全按照產品設計交付?
- 是否按照計劃完成了既定要開發的功能?
- 超負荷使用的情況下,產品狀況會怎么樣?加載速度會變慢嗎?會崩潰閃退嗎?出錯有給用戶反饋嗎?
- 閃退后數據是否會丟失?
- 用戶數據的安全如何?
- 運行過程中程序中斷會發生什么情況?
- 是否需要調用的硬件服務?(如GPS,Wifi)打開會如何?沒打開會如何?
- 用戶是否按照既定的產品路徑完成了我們期望的引導?
- 跳轉到網頁,瀏覽器,或其它App時會出現Bug嗎?
- 是否整合了第三方登陸?(如QQ、微信登陸)
- 用戶反饋是都符合我們的產品定位?
……
從數據發現問題:
數據對于產品的意義咱們就不多提了,往往經得住考驗的功能點都是基于數據做出的。
然而,數據多了也同樣愁人,不管是用戶還是我們自己開發,數據一多,出現錯誤的概率也隨之增加。
- 跨平臺的數據同步問題
- 數據存儲的極限
- 數據被移除時會發生的情況
- 刪除App或卸載軟件時,數據如何處理?
- 刪除并重新安裝時,數據如何處理?
- 是否會因過多或過少的數據需求導致布局和UI的改變?
- 在不同時段和時區時使用會如何?
- 數據同步時被打斷
- 數據或網站數據架構更新時會造成的影響
- 如何快速處理大量數據?
- 無效的數據如何處理?
根據不同的用戶類型和用戶場景,出現極限數據時的測試也不可忽視
- 測試用戶可輸入的極限值
- 用重復數據反復測試
- 在無任何數據的手機上測試
- 在老舊手機上測試
- 預裝多種不同類型的數據
- 使用超出預期的數據測試,看程序如何處理
- 分析數據是如何影響UE的
寫一些小的腳本讓測試自動化也是非常高效的~
出錯時的提醒和消息
這時就完全從用戶和測試者本身的角度來思考問題了,錯誤提醒和消息是經常出現問題的地方。
- 錯誤提醒的UI是否易于接受?
- 錯誤信息內容是否易于理解?
- 錯誤信息格式是否一致?
- 錯誤提醒有沒有用?
- 信息內容是否合適?
- 錯誤是否符合慣例和標準?
- 錯誤信息本身是否正確?
- 產品是否能獲得錯誤和崩潰信息?
- 是否所有的錯誤都測試過?
- 用戶處理完錯誤信息后,將處于什么狀態?
- 是否在用戶應該接受錯誤信息時,卻沒有錯誤信息彈出?
錯誤信息的確會影響用戶體驗。然而,錯誤始終是不可避免的,就像我們永遠寫不出沒有任何Bug的程序一樣。
雖然最理想的狀態是避免用戶遇見錯誤信息,但這幾乎不可能。
對于出錯情況的設計、實現和確認很可能與預期相反,但只要測試時善于發現這些意料外的Bug,改進它們就更有頭緒了。
特定平臺的注意事項
每個平臺上的技術標準和設計規范都有很大差異,考慮產品在不同平臺上的限制都是至關重要的。我們可以從一下一些方面入手:
- 是否遵循該平臺的設計規范?
- 轉動設備的方向時,有什么變化?
- 平臺支持哪種設備?
- 觸摸屏在不同情況下支持何種手勢,如:雙擊、長按、拖動、搖晃、左右滑動等
- 是否需要調用GPS?
- 分享或轉發郵件時是否足夠流暢?是否接入其它社交產品?
- 用戶進行多個任務,并在不同App間切換時,產品是否正常運行?
- 用戶進行更新或上傳操作時,是否會顯示進度?
- 默認設置如何?是否可調整?
網絡中斷或其它原因打斷時的情況
當連接斷斷續續或意外中斷時,很多場景我們都要重新考慮:
- 用戶運動,走動環境下
- WiFi連接下
- 無WiFi連接時
- 3、4G模式下
- 手機和WiFi網絡切換時
- 飛行模式時
- 有電話打來時
- 收到信息時
- 收到消息提醒時
- 電量過低,甚至自動關機時
……
這類測試最容易發現錯誤和Bug。不僅是開關機,確認設備是否正常工作,嘗試用戶使用的整個流程也至關重要。
測試遠非對與錯的判斷
以上是重新歸納后的8個維度,肯定不是面面俱到,但多少提醒我們:
帶著問題,才能發現問題
測試往往大家被認為是完全按照邏輯的、可計劃和預測的,然而只有在真正編寫測試腳本,實施測試計劃,在通過和失敗,正確和錯誤的反饋中不斷總結,我們才能越來越接近上線后的真實狀態。
Stay hungry,stay foolish
#專欄作家#
楊柳,微信公眾號:楊柳(PMYANGLIU),人人都是產品經理專欄作家。toB產品經理。主攻SaaS領域的UI/UE,用戶研究及數據分析。90后創客,坐標帝都,歡迎線下交流。
本文原創發布于人人都是產品經理,未經許可,不得轉載。
和作者同名!支持一下!
專門注冊賬號來表示感謝,感覺還是有用,目前還未入門的產品測試小菜 ??
時隔將近2年,讀作者的文章,測試條理清晰,我們公司產品也結合了SAAs,,TOB,希望可以和作者交流,感謝作者分享,
不知道作者看的是什么項目管理的書,能分享下書名不
是之前的一本考試用書,《系統集成項目管理工程師教程》
??
干貨滿滿
好看!
感謝
不錯
有點用
這篇文章是從測試的角度去看產品的質量維度
嗯,比較偏項目管理了,然而由于質量管理不完善造成的返工和缺陷,想再補回來是要耗費相當大的成本的,這部分成本甚至比開發新功能的成本還高
dfdfdfd fd ??