逢上線必加班?如何做好上線前的產品測試?
測試方法有多重,最終目的是在有限的時間內發現最多的問題并解決,最大程度降低產品錯誤帶來的負面影響。
新版產品上線是團隊多日加班加點的奮斗成果,對于產品經理來說,上線前夕要面臨無窮無盡的測試工作,仿佛測試也是萬能的產品經理與生俱來的天職。但是我想說,這鍋咱們不能背!
那么問題來了,測試到底歸誰管?對于大團隊預算充足會有專門的測試崗,而小團隊往往需要產品經理和程序員共同參與到其中。不管哪種情況,測試是控制產品質量的最重要一道關,都應該由產品經理來組織測試工作。確保產品層層把關的原則,測試步驟分為技術測試、內部測試、用戶測試。但并不需要凡是親力親為,要善于分配人力資源,一個好的測試機制可以事半功倍,否則產品經理最終淪落成測試員磚家,累個半死還誤了進度。東東醬以下就此話題展開討論。
技術測試
技術測試主要由程序員(或測試員)對編碼進行邏輯覆蓋測試,遍歷程序遇到的所有情況,捕獲異常進行處理,模擬訪問做高并發的壓力測試。該階段可以發現產品需求中的疏漏或邏輯錯誤,排除程序員粗心編程而出現的算法、邏輯錯誤。該階段可以排除大量Bug,特別是后臺或邏輯性很強的工具性產品,把控的好,產品經理后期測試工作量會大大降低,Bug在技術內部進行修改,反復測試無Bug后,可打包提交給產品經理,進入下一階段測試。
內部測試
內部測試主要由產品經理主導在公司內部進行,設計師可以驗收UI效果是否符合預期,產品經理模擬多套用戶數據按照流程圖對其進行操作測試,確認所有功能都與產品文檔中的需求一一對應,測試方法可以參看文末的黑盒測試。另外可以邀請其他部門的同事來充當小白用戶進行產品體驗。此階段開始要收集所有人的整改意見,進行歸類和排序。對于基礎性的Bug可以馬上責令技術進行修改,有爭議性的修改意見或非重要Bug可待下一階段的用戶測試完后集中修改。
用戶測試
用戶測試由產品經理(策劃/運營共同配合)主導,用戶測試分為兩個階段。
第一階段
尋找固定的用戶群體進行測試(即每個版本邀請同一批用戶來測試),以問卷或者一對一聊天的方式,獲得他們對比新舊版本來直觀感受產品好壞。如果無章可循,今天找個路人甲測試,明天找個路人乙測試,面向不同品味的用戶,難免會出現下圖尷尬情況。
第二階段
灰度測試,向用戶群中的1000人,10000人…依次遞增推送測試版本,利用自建數據后臺或友盟tlakingdata觀察埋點數據的功能使用情況和程序crash崩潰報錯信息,如發現數據異動及時下架處理。
以上三步循環進行,直至無Bug方可正式發行新版本。下面東東醬順帶介紹測試過程中常見的問題。
版本管理
產品版本用V2.1.3編號管理可以嗎?那僅僅是面向用戶的,在軟件工程中對軟件版本管理,分為Alpha、Beta、Rlease Candidate、Release版。
- Alpha是開發人員的內部測試版,一般不向外部發布,會有很多Bug,只有程序員和測試員使用。
- Beta:這是供公司內部測試的版本,這個階段版本仍可適當加入新的功能。
- Rlease Candidate:RC是發行候選版本,幾乎不會加入新的功能,主要著重于出錯,可開放給部分用戶體驗。
- Release:這就是“真的打死不改(6).doc”版本了,交付給用戶的最終版本,如果仍出現Bug,那就啟動下一版本開發周期了,也就是常見的“v2.1.3”版本迭代了。
因此產品經理在管理安裝包的時候,最好把不同階段的名稱設為包名前綴,避免出現錯亂。
灰度測試
灰度值是不飽和的黑色,是白色向黑色過渡的一種表現。比如突然熄燈看手機,屏幕亮度逐漸變暗;歌曲由暫停開始播放,音量逐漸提高。這樣做的好處不言而喻,灰度是一種思想,應用在項目管理中,為避免辛苦開發出來的產品與用戶所期待的相差甚大,摒棄傳統冗長的開發流程, 將項目按照功能優先級排序,對產品實行分階段,分版本開發,第一個版本滿足用戶基礎需求,后續版本在原基礎上反復迭代,這樣試錯成本最低。對于某一版本內的測試,也可以實行灰度機制,測試版本先邀請100名用戶進行測試,反饋問題修改Bug,如此類推放量1000人再測試。最終發行版的用戶滿意度會提高很多,項目成員也不會上線Bug頻頻出現而壓力山大。
A/B測試其實是灰度測試的一種。如果產品方案發生了分歧,可以針對多個方案進行等量推送,查看數據從中擇優。Tlakingdata的運營平臺就能提供此類方法。
測試用例
白盒測試
白盒測試顧名思義內部是透明可見的,是通過檢查軟件內部的邏輯結構,對軟件中的邏輯路徑進行覆蓋測試,在程序不同地方設立檢查點,檢查程序的狀態,以確定實際運行狀體與預期是否一致。
測試方法包含:邏輯覆蓋測試(語句,判定,條件,判定條件,條件組合,路徑),循環覆蓋,基本路徑測試。
看不懂沒關系,產品經理只需督促程序員或測試員完成這一流程即可,感興趣的自行搜索。
黑盒測試
黑盒測試也稱為功能測試,測試者在看不到程序內部代碼情況下采用窮舉輸入測試,主要用于發現:功能不正確或遺漏;界面錯誤;輸入和輸出錯誤;數據庫訪問錯誤;性能錯誤;初始化和終止錯誤。
該部分可由產品經理或測試員來負責。
黑白盒測試是專業測試知識,如需詳解要另開篇章。產品經理只需確保做到如下幾點:
- 產品功能與需求文檔保持一致。
- 對所有用戶輸入值的合法范圍內,非法范圍,邊界值進行抽樣取值測試,確保程序在合法和非法輸入值情況下都能正常運行。
- 憑借測試經驗,推測有可能出現錯誤的地方。
- 準備多種測試數據,判斷輸入和輸出結果之間的因果關系是否一致。
寫在最后
測試是產品輸出的最關鍵也是最后一步,在實際項目中,因為項目進度緊等諸多原因,可以適當省去灰度發布過程,但是技術測試和產品經理內測工作不能省,不然功虧一簣。測試方法有多重,最終目的是在有限的時間內發現最多的問題并解決,最大程度降低產品錯誤帶來的負面影響。如有更多測試好方法,歡迎留言交流。
文章內容均來自于項目實踐經驗,拒絕盲目照搬。
作者:東東醬,眼蜜-產品經理。微信號:pengoneeast
本文由 @東東醬 原創發布于人人都是產品經理。未經許可,禁止轉載。
真的打死不改(6).doc,這個就很有靈性了
微信加不上 ?? 寫的很棒!