從場景走查說起
前段時間上了直播間項目的大版本迭代,進入測試之后一度比較混亂,反思了幾點問題,其中有一點比較重要具體聊一聊。當時為了趕4月底的重要活動,計劃iOS版本在4月15日提審,但實際延遲到21日左右。
4月8日開發(fā)同學丟出第一個包,走查后覺得沒有大問題,信心滿滿,還想著這次可以提前完成任務??烧l知4月11日測試一刷,當時就懵X了,刷出一堆BUG。
后來反思,當時自認為走查了核心功能點,其實只是主流場景的主流分支(圖中紅色部分)。
當功能點眾多,且有時間上的關聯(lián)而造成多級分支時,要意識到場景數(shù)量是成倍增加的。例如上面的例子中,在“全屏”這個動作前,還有播放或暫停??紤]直播和錄播分別的情況,實際上有4個場景。而我只查看了一個場景。
最近在陽志平老師的課程上,他提到了“時空”思維。他指出,相對于時間概念,空間概念對于人類更容易感知。嬰兒生下來首先會學會空間相關的詞匯,先會習得前后的概念,再習得上下的概念。再長大一點,他的語言里才會有時間的詞匯。人類是用空間詞匯來表達時間概念的。例如以前,以后,接下來等等。
在上面的案例里,同樣的,走查一個個并列的功能,就類似于空間上的羅列,對于我們而言不容易遺漏。但當功能間有時間線的聯(lián)系時我們往往會考慮不全。
功能(流程)設計的時間考慮
除了復雜功能的走查,功能設計也有類似的問題。功能設計若涉及流程,往往更復雜一些。而流程設計里有一個更微妙的點很容易被忽略--視點的移動。
這也是陽老師課程給我的啟示。他指出,同樣是“前”,為什么從前、以前表示過去?前景、前途表示未來呢?前者是時間動人(視點)不動,而后者是人(視點)動時間不動。
直播間還做過審核的功能。流程圖定義了用戶登錄、未登錄;審核通過、不通過;審核進行中、結束等等各種情況時的展示。
一般我們很容易定義不同審核狀態(tài)(是否通過、是否結束)的展示,這相當于用戶不動審核動的情況。但卻易遺漏審核不動用戶動的情況:用戶未填寫和正在填寫時不同審核狀態(tài)(審核結束、審核被刪除等)的場景。而我這次就遺漏了。
問題排查的時間考慮
自認為問題排查已經駕輕就熟了,最近悲哀地發(fā)現(xiàn),當問題的時間鏈比較長時,依然會混亂。視頻直播上線時,一位美國的同事反映視頻卡。
當時問了同事的網(wǎng)速、打開我們APP其他功能是否流暢、是否能找到當?shù)仄渌说葟同F(xiàn)這一問題。我知道這個問題涉及多個點,但都是隨機的問了幾個問題來排查一些點,沒有考慮這幾個點在時間上的順序,導致有些問題確認過了需要再次確認。后來我把幾個關鍵的點例如網(wǎng)速、手機配置、跨國訪問等一一羅列,確定排查步驟,再逐一確認,這樣可以順利定位。
在工作中,如果覺得一件事比較困難,不妨思考下是否涉及時間鏈,時間鏈的每個關鍵節(jié)點是否掌握了,這樣可以更好地處理問題。