確保軟件開發無錯誤的 5 個技巧
已發表: 2017-10-24您的軟件應用程序有錯誤嗎? 當然會,因為所有可用的軟件程序都存在問題,而沒有錯誤的軟件故事只是一個神話。 但是,通過遵循一些書呆子但實用的縮減技術,仍然可以顯著減少錯誤、錯誤和安全問題。
當涉及到錯誤跟踪時,涉及到很多紀律,因為它需要鼓勵每個人都遵守規則。 尤其是在初創企業和創意驅動的行業中,很難阻止任何非正式的交流。 事實上,在許多情況下,人們並沒有將“錯誤跟踪”列為項目中最關注的部分。
錯誤跟踪到底是什麼?
根據 Technopedia 的說法:“錯誤跟踪是質量保證人員和程序員用來跟踪軟件問題和解決方案的過程。 “
因此,錯誤跟踪系統管理有關報告錯誤的所有信息並跟踪每個錯誤的狀態。 在跟踪問題時,您肯定會看到需要大量信息。 提供足夠的數據不僅需要大量的時間,還需要軟件開發領域的豐富技能。
錯誤分類
軟件缺陷分為三類:
- 規格不正確
- 實施缺陷
- 缺少規範
這些錯誤類型中的任何一個都可以輕鬆歸類為關鍵問題(或重新歸類為改進)。 前面提到的是 Xolv.io 的創始人 Sam Hatoum 使用的一些重新分類指南。
- 不正確的規格是否會給我們帶來損失? 例如,規範說明跟踪點擊次數,何時應該跟踪支出重新分類錯誤。
- 執行缺陷可以忽略嗎? 例如,網絡字體在應該嵌入軟件時被安裝。
- 缺少的規範是否意味著新功能? 例如,用戶無法在社交網絡上分享和編輯他們的個人資料詳情。
由於指示開發團隊將錯誤優先於所有其他工作,因此產品經理需要對錯誤進行有效分類。 在刪除所有錯誤之前,開發人員不會工作或其他任何事情。
形成團隊質量標準
當設計和開發團隊決定是否可以將應用程序病毒重新分類為改進時,該決策過程隱含地說明了團隊的質量標準。 例如,強調高質量視覺效果的品牌所有者可能對設計差異的容忍度較低。 相反,他們會將這些問題重新歸類為錯誤。
一致的重新分類系統使您能夠不斷調整期望與現實,同時保持將您的團隊質量標準放在首位的結構化交付方法。
錯誤失敗
最近的研究聲稱,幾乎 40% 的系統故障是由軟件錯誤引起的,而其他安全問題和程序漏洞佔 60%,由常見的內存和並發相關問題引起。 減少應用程序中的軟件錯誤是提高軟件安全性、穩定性和可靠性的最佳方式。
確保無錯誤軟件開發的提示
在日誌工具 SmartInspect 的開發過程中,開發人員使用了許多方法來保持系統的高質量。 前面提到的列表包含他們使用的一些技術。
1. 創造交流空間
檢測和報告錯誤需要識別相關信息的技能,然後將這些信息添加到每個問題報告中。 有許多錯誤跟踪和質量保證工具,例如 Usersnap,它們提供了自動附加所需信息的能力。 然而,總會有遺漏或誤解信息的空間,因此需要進行適當的溝通。
在某些測試場景中,開發人員和測試人員之間沒有這種披露的餘地。 像這樣的問題:“我怎樣才能聯繫到負責的專家?” 或“可以通過電話或電子郵件徵求反饋意見嗎?” 需要在錯誤跟踪過程開始時回答。
為了避免代表測試人員和開發人員的誤解,請嘗試讓每個人都在同一頁面上,並創建一種以反饋為導向的文化,讓雙方的工作以同樣的方式得到尊重。
2.保持一對一
避免在項目會議上討論錯誤。 現在不要誤會我的意思。 作為一個團隊工作,重現和修復錯誤並沒有什麼不好。 但不要在與整個內閣的長時間會議中討論問題。 根據 Usersnap.com 的技術博主 Thomas Peham 的說法,報告錯誤然後在下一個開發“重新測試”階段討論它們是一種相當緩慢的方法。
確實,保持一對一的效率更高。 正如 Yegor 在他關於 bug 跟踪 5 條原則的文章中所寫,每個 bug 報告都與兩個人相關聯——說明者和問題解決者。 無論有多少人參與該過程,解決報告的問題只有兩個主要職責(具有兩個不同的角色)。
3. 確保團隊的支持
如果您的整個團隊都不使用它,那麼一個好的錯誤跟踪數據庫將是無效的。 最好先讓所有利益相關者(客戶服務、質量保證、項目經理和開發人員)評估工具並嘗試共同做出決定; 使用同一系統以一致的方式記錄和解決缺陷。
如果您正在努力讓人們加入,這就是您可以做的;
對於開發人員,制定通過個人數據庫而不是任何其他方法接受錯誤報告的法律。 當測試人員向您發送帶有反饋的電子郵件時,只需要求他們將報告扔到信息系統中即可。 除了確保事情保持井井有條之外,這還通過提供所有必要的信息和定義必要的字段來幫助報告。
創建更有效流程的另一種方法是進行 QA,或支持驗證來自客戶的錯誤,並在開發人員收到通知之前將確切的步驟添加到數據庫中。 有效地跟踪您的軟件問題是擁有可靠且一致的項目管理框架的最重要方面之一。
- 一個好的調試器
如果您使用像 Visual Studio 或 Delphi 這樣的系統,您已經可以訪問一個非常強大的調試器,您應該使用它。 在腳本環境中,開發人員經常嘗試通過反複試驗來消除錯誤,該過程不僅成為識別和解決問題的繁瑣方式,而且如果您不完全理解您的代碼並且無法用調試器逐步完成它。 幫自己一個忙,為您的團隊提供一個好的調試平台——幾乎所有東西都有調試器。
4. 知道“關閉”的錯誤是什麼意思
您是否參與過關於關閉錯誤的討論? 好吧,恭喜,您已經處於可能發生的最糟糕的錯誤跟踪情況中。
如果您發現自己正在討論“錯誤狀態”,請考慮退後一步,問自己以下問題:
- 接受結果是誰的責任?
- 驗收標準是什麼?
- 誰負責下達命令?
看看“關閉”的含義。 在大多數開發團隊中,修復錯誤的人會關閉錯誤。 Peham 建議關閉報告問題的人的錯誤報告。 一旦開發者提出某個 bug 的解決方案,應該要求報告者關閉報告。 這將確保反饋是解決軟件混亂的充分解決方案。
5. 虛擬機
為了盡可能在許多不同的操作系統和環境上測試您的軟件是否存在錯誤,您應該使用帶有 Virtual PC 或其他可用虛擬化軟件等工具的虛擬機。 您可以通過這種方法節省大量時間,因為您可以輕鬆複製、共享和重置虛擬機,從而允許您在各種配置上測試您的軟件。
最好為您定期測試的所有操作系統創建各種標準映像並將它們放在文件服務器上。 當您需要高度特定的配置來測試某些東西時,您可以從其中一個基本映像開始,而無需安裝操作系統、所需的軟件和驅動程序等。
這不是一個新概念
當 Hatoum 提出這個概念時,他發現零缺陷軟件的想法並不是一個新概念。 事實上,它自 1960 年代就已經存在,就像許多被遺忘的老派哲學一樣。
傳奇的質量專家菲利普克羅斯比在馬丁公司或現在稱為“洛克希德馬丁公司”工作時發明了“零缺陷”一詞,據報導,他們“在政府審計下實現了 54% 的硬件缺陷缺陷減少”。
最初,零缺陷技術在 60 年代用於航空航天製造,然後在 1990 年代應用於汽車製造。 製造業和軟件交付之間有許多相似之處。
例如,流行的敏捷管理模式看板起源於豐田生產系統。 這基本上告訴我們的是,我們可以輕鬆地研究這些製造過程,以獲得軟件或應用程序開發中的技術靈感,而零缺陷就是其中的靈感之一。
然而,達到標準的極高成本是對零缺陷方法的主要批評之一。 如果實施不正確,這確實是真的。 在零缺陷方法中,哈圖姆通過將缺陷重新分類為功能和重大改進來直接處理這個問題,從而通過團隊的質量標準來控製成本。
從今天開始
作為技術用戶和開發人員,您可以使用上述系統開始檢查所有現有故障並對其進行分類。 如果您認為自己有數十萬個問題,那麼這可能是積壓它們並重新開始的好時機。 不用擔心,您可以隨時根據需要將錯誤從存檔移動到當前域。
開發團隊不一定要等到整個分類工作完成後才開始消除錯誤; 一旦分類了一些錯誤,他們就可以開始使用。 在所有項目都“消除錯誤”或重新分類之前,團隊不得開始處理積壓工作中的任何其他項目。 正是這條規則迫使產品經理正確地確定新工作的優先級。
總結一下
項目中報告的每個錯誤都需要額外的時間來修復。 因此,錯誤跟踪需要跟踪錯誤的人員具有出色的溝通技巧,以及修復錯誤的人員的敏感性。 通過上述跟踪黑客,您的團隊可以在報告任何類型的技術或安全障礙時嘗試提高工作效率。