2010-12-10 131 views

回答

7

我認爲是錯誤的問題。我帶領了大型測試團隊。測試人員發現所有的小錯誤,你知道,當你做這個和那個,bla,bla時,系統會崩潰。

錯誤被記錄下來,通常不會被糾正。每個人都認爲這是一個非常特殊的情況,我們沒有時間,而且它在生產中發生的可能性太小。

真正的錯誤有時會被忽略。該系統確實讓所有程序員都有意讓程序去做,但這不是客戶需要的。一個實際上已經是需求缺陷的錯誤。

除了這句話通常是蟲子等東西

  • 沒有數據輸入驗證
  • 邊界未選中(非常大的價值,非常小的值)
  • 缺少的錯誤處理(導致系統鬆動連接)。磁盤已滿等
  • 界面錯誤檢測一次系統測試端到端
  • 帶有無效字符的問題
  • 用繩子太長的問題
  • 空值的問題
  • 數據組合沒有明顯的問題

所以系統的測試嘗試所有可能的組合是必要的,如果你是最多打破了系統

2

很少有100%的保證,系統只能按照預期使用。對於團隊來說,瞭解系統如果「不知何故」進入系統時會出現什麼樣的行爲,這一點非常重要。這些問題實際上可能非常重要,例如可能導致私人客戶數據泄露的安全問題,因爲no one intended for SQL statements to be entered into that field;它只是爲了學生的名字。所以,是的,我完全測試了系統未被「按預期」使用時會發生什麼。系統應該優雅地失敗,不合格的失敗就是錯誤。未記錄的難以調查的故障或故障也可能是錯誤。

我打破軟件的準確步驟取決於被測試的東西。一般來說,我們的團隊在創建估算時將功能測試用例分爲3組:快樂路徑測試,它通過測試人員能夠想到的最基本的「預期輸入」用例遍歷每個功能。 「怪異」測試,這是一個更徹底的演練,涵蓋了所有微小的邏輯小塊,以及程序員可能沒有想到的異常有效情況(主要是邊界測試和等價類測試)。最後,「錯誤」測試,這是所有關於投入壞的和意想不到的輸入來嘗試和破壞代碼,並且經常涉及專門測試記錄,監視和錯誤恢復。通常,快樂路徑測試非常快,但「怪異」和「錯誤」測試都相當耗時。這只是功能測試,不包括其他類型的測試,如集成或性能測試。

我們通常也會嘗試獲取實時數據以進行測試;測試人員可以列出一系列可能的非預期用途,並且仍然會錯過客戶提出的非預期用途。

1

大的故事在短 - 與章程