2008-10-27 14 views

回答

7
  • 步驟一步如何重現錯誤指令
  • 做的,而不是別的東西,可能是原因相信你已經嘗試隔離錯誤是什麼你實際上是寫對一個bug, 。
  • 列表嘗試將錯誤隔離到比你對
  • 編寫bug的軟件以外的東西讓自己可以回答的問題,並可以幫助解決/重現錯誤

底線是當遇到錯誤時,你必須進行一定程度的批判性思考。一旦你用盡了所有可能的錯誤,寫下一個錯誤。如果你發現它的錯誤,但你使用/測試的軟件可能已經做了更有用的事情來表明你的錯誤,仍然寫一個錯誤。另外,要成爲一個真正偉大的臭蟲記者,你必須利用那些測試bug來幫助他們重新創建它。它很可能只是「重新獲得了訣竅」來重新創建這個bug,並且可能有些步驟你沒有意識到。您不能只是抱怨並離開,參與流程並通過測試,重新創建和排除故障來幫助團隊解決問題。

+0

很好的答案。再來一步 - 儘量減少重現它所需的「東西」數量。如果錯誤報告涉及50,000行程序,則不會像100行程序那樣處理重現該問題。 – 2008-10-27 16:02:14

0

編寫重現錯誤的步驟。如果你不能複製它,它將不會被修復。

+2

那麼沒有固定的競態條件或死鎖呢? – tloach 2008-10-27 18:36:23

2
  • 用於重新創建錯誤的過程,包括正在進行的操作,應用程序的哪個區域正在使用以及當時發生了什麼事件。可重複性(可靠,不)的
  • 聲明 - 幫助開發人員知道應該如何難以複製這樣他們就不會放棄快速
  • 屏幕截圖或錯誤信息/堆棧跟蹤的文檔製作
  • 臨界/缺陷的優先​​級(可以避免,避免步驟,是災難性的,它是否有業務影響,業務風險等)
  • 環境 - 哪個環境是發現的錯誤。遠程,本地等

很多時候,我們的質量保證人員認爲他們可以放入一個ti說實話,這是我的例外,沒有任何備份文件。它幾乎不可能重現,更別說在沒有更多信息的情況下解決問題。

3

報告可觀察事實然後您對這些事實的解釋。

有時候,最好的錯誤報告包含了對理解問題的直覺。事實 - 只有錯誤報告折扣這個寶貴的人力資源。

2

不要以爲你的錯誤報告的讀者知道軟件以及你做的。即使編寫該軟件的人可能也不知道自己寫了什麼,如果有足夠的時間,他們可能不知道自己在說什麼。這樣寫任何人都可以理解和重現問題。

0
    被測
  • 始終報告任何其他軟件(瀏覽器,操作系統等)的版本
  • 總是列出所有硬件的軟件
  • 始終報告版本號
  • 步驟來重現的
  • 症狀錯誤
  • 截圖,痕跡,日誌,其他附件(如果有)
  • 危急 - 崩潰,UI等
  • 報告重複性
  • 別的是否嘗試過,也做了或沒重現bug
1

對於所有誰也不會的東西看不步驟來重現人:
我的第一個編程合作社工作我被分配了一個基本上是一個隨機的競爭條件,使系統不穩定的錯誤。它發生在系統執行的任何時刻,我們所有的都是一些堆棧跟蹤,指向一段代碼,顯然很好。某處另一個線程正在使用它不應該存在的數據,如果該線程處於正確的位置,它會崩潰。我們的QA每月大約有一次崩潰。花了兩週的時間梳理系統,找到罪魁禍首(yup,未經檢查的共享資源訪問,大約2行修復)並修復它。從來沒有一個體面的步驟來重現,因爲沒有通用的方法來重現它(除了把一堆yield()放在正確的位置)。如果您要開發一個多線程系統,您最好準備好處理無法可靠複製的錯誤,可能沒有穩定的重現步驟,而不只是抱怨QA,因爲您無法重現錯誤。

請注意,以上內容不是QA沒有理由儘可能詳細地包含儘可能詳細的信息,只是指出在現代軟件上它不總是可行的。