2018/12/26

如何回報軟體bug

文 / Hammer Chen

沒有任何軟體是完美的,尤其是新版的推出,往往會發現新的bug產生。遇到bug令用戶困擾,但如何回報這個錯誤,有幾點要注意:


1. 首先,第一個要有的觀念是,原廠的軟體工程師必須要能在他的電腦,重現你遇到的錯誤。
用戶提供的資訊越充分,就越快能確認這是軟體的bug,而非操作上的失誤。

2. 要提供原廠相關資訊,以做判斷。
這有點像是去醫院看醫生,告訴醫生你的基本狀況,方便醫生做出正確的診斷。
  • 軟體版本
  • 3D平台,3dsMax或Maya (3D Platform version )
  • 作業系統版本(OS version)
  • SN 軟體序號
  • 貴公司名稱 購買軟體的帳號名稱
  • 當機的場景,是否還有安裝其他plugin?
  • GPU的型號,與驅動程式的版本
3. 重現這個Bug的配方。
比方說,套用Noise的Modifier後,再套用Displacement後,會發生當機。通常,客戶自己也不清楚到底是怎樣造成當機,因此,在釐清怎樣的配方(recipe)會重現bug的過程中,也更能明白造成當機的關鍵點。換句話說,找到這個重現的步驟,就幾乎是解決這個bug的第一步。

4. 寄email給原廠的工程師
  • 截圖
  • 場景檔
  • 重現bug的步驟,或是錯誤代碼(error code)
前面的準備步驟好了,我們就可以寫信給原廠回報bug了。請準備好當機畫面的截圖(Screenshot)。最好有一對一的比較圖,例如舊版的畫面(正確)與新版的畫面(錯誤)的比較圖。

場景檔,這也很關鍵。有場景檔的話,工程師可以很快地進入狀況,可以更快重現錯誤。通常是客戶專案檔,有時因為機密的關係,可以把模型取代成茶壺。

更高竿的用戶,可以用簡單的茶壺就重現軟體的問題,把場景檔弄得超小。這樣更能加速問題的排除。重現bug的步驟,這個步驟寫得越簡潔越好。寫得越簡潔,也代表用戶知道問題出在哪裡。

5. 最後,回報bug與修bug必須要是用戶與程式人員相互配合的。
有時候需要多次的信件往來,才能找到問題到底在哪。有時會遇到用戶說場景爛掉了,一直當機; 工程師要求提供截圖,用戶又不肯提供詳細資訊,這樣一來就像醫生與病人的關係一樣。病人的病沒辦法醫治好,醫生也沒辦法做出專業的判斷,雙方都受損。

6. Beta tester是一種專業。
前面我們知道,其實要正確地回報bug是需要技巧的,因此,要當好軟體測試員(beta tester)其實是很辛苦的工作。一般人以為beta tester可以比別人更早用到最新的軟體,令人稱羨。其實用beta軟體會面臨很大的風險,經常會面對不穩定的問題。


祝各位遇到的bug都能早日修復~

No comments: