如果 QA 團隊沒有每天發現錯誤,他們在軟件開發中會做什麼?
已發表: 2023-01-27質量保證 (QA) 工程師經常聽到這樣的話:
“你的團隊昨天檢測到 20 個錯誤,但今天你一個都沒有!”
這種立場,無論它看起來多麼有效,都與軟件開發中質量保證的目的和目標相矛盾。
QA 在軟件開發中究竟做了什麼?
在本文中,ITREx 的 QA 部門副主管 Andrey Gilyov 解釋了為什麼您的 QA 團隊即使發現更少的錯誤也沒有閒著。 此外,您還將了解到為什麼您應該始終聘請 QA 工程師來擴充您的內部或外包 IT 團隊,而不是讓軟件工程師測試代碼。
了解 QA 目標以及為什麼它們不限於錯誤跟踪
根據您要構建的軟件解決方案的類型和復雜性,您可能需要為您的項目分配兼職 QA 專家或專門的 QA 團隊。 他們的職責遠遠超出查明錯誤並將其報告給項目經理和開發團隊。
特別是,質量保證目標涵蓋:
- 錯誤預防。 最近的調查表明,軟件工程師花費大約 20% 的時間來修復錯誤。 將該時間乘以軟件工程師的平均時薪,您就會意識到有缺陷的代碼會給您的公司造成多大損失。 糾正錯誤的代價也隨著軟件開發工作流程中的時間呈指數增長——更不用說將錯誤纏身的軟件發佈到生產環境中的長期影響,例如安全漏洞、客戶體驗下降和聲譽損失。 因此,軟件開發中質量保證的主要目的是在錯誤造成重大損害之前發現錯誤。 為完成這一壯舉,QA 團隊在著手開發軟件解決方案之前就已做好測試準備。 這些準備活動包括審查測試文檔、編寫測試計劃和測試用例、選擇合適的測試工具以及配置測試環境。
- 軟件狀態跟踪和評估。 為了在軟件項目中做出明智的決策,項目經理和客戶需要有關他們正在處理的軟件產品的最新信息。 質量保證目標,除其他事項外,包括在軟件項目時間表的任何給定時期提供此信息。 然而,值得一提的是,質量保證工程師不會選擇軟件解決方案上線的最佳時間。 相反,做出最終決定的是客戶。 在諮詢了 QA 團隊之後,客戶甚至可能決定推出包含記錄在案的錯誤和錯誤的軟件解決方案! 例如,當發布產品的時間框架相對緊迫並且回報之間的權衡(即超越競爭對手或啟用關鍵功能)大於發布帶有小錯誤的風險時,您可以做出這樣的決定。 無論哪種方式,您都需要檢測、記錄這些錯誤並確定其優先級,這也是您的 QA 團隊的目標之一。
- 需求驗證。 QA 在軟件開發中的主要作用是確認您的軟件解決方案按預期運行並滿足軟件需求規範 (SRS) 文檔定義的所有標準。 當質量保證專家執行手動或自動測試並識別錯誤時,他們會在錯誤跟踪軟件系統(如 Jira 或 ClickUp)中為開發團隊創建一張票。 一旦開發團隊修復了錯誤,測試週期就會重複。 因此,發現錯誤不是質量保證的目的; 相反,它是 QA 活動的副產品。
QA 團隊有時找不到任何錯誤。 沒關係
現在您已經明確了 QA 的目的和目標,讓我們回到本文開頭提出的問題。
如果 QA 團隊在軟件開發中連續幾天的錯誤報告都是零缺陷,他們會怎麼做?
QA 專家可能無法在您的軟件中發現任何錯誤的原因有多種:
- 該軟件已經過全面測試。 如果軟件解決方案經過了徹底的測試,那麼當 QA 循環重複或產品投入生產時,就不太可能出現錯誤。
- 該軟件設計簡單。 與具有更複雜架構和性能要求的軟件相比,具有有限功能集、集成和簡單用戶界面的應用程序不太可能包含錯誤。
- 該軟件是使用最佳實踐構建的。 編寫乾淨且文檔齊全的代碼、遵循編碼標準並使用版本控制的軟件工程團隊通常會交付幾乎沒有錯誤的軟件產品。 這些錯誤會在測試過程的早期被檢測到並得到糾正,並且在後期階段不會出現更多的缺陷。
- 測試過程本來可以更全面。 缺乏時間、資源或技能可能會阻止 QA 專家徹底測試您的軟件解決方案。 因此,一些錯誤可能會被忽略。
- 這些錯誤是不可重現的。 有時,QA 專家可能找不到任何錯誤,因為錯誤不會持續出現。 各種因素,包括軟件的複雜性、第三方庫的使用或外部依賴的存在,都可能導致這種情況。
不管是什麼原因,您都不應該低估 QA 在軟件開發中的重要性,更不用說允許開發人員為您測試代碼的想法了。
不要誤會我的意思:開發人員可以在跨職能敏捷團隊中編寫和執行自動化測試。 甚至手動測試軟件。
然而,在這樣的團隊中,項目角色通常是共享的,主要目標是更快地發布工作軟件或功能,縮短實現價值的時間並儘早收集反饋。 在這裡,我們可能正在處理上一節中描述的風險與回報問題。 因此,您的項目可能會積累技術債務,從而導致性能問題和未來的重大調試成本。
僱用專門的 QA 專家的其他原因如下:
- 知道如何編碼並不等於知道如何檢查代碼是否存在潛在錯誤
- 開發人員很少喜歡測試,而 QA 專家喜歡
- 軟件工程師的時薪通常高於質量保證專家
- 開發人員和 QA 工程師通常具有不同的軟技能。 對於 QA,對細節的關注、分析複雜系統的能力和多任務處理佔據了中心位置。 另一方面,軟件工程師經常在協作環境中工作,一次只專注於一項任務。
因此,即使您的 QA 團隊今天發現了零錯誤,也不要試圖解僱質量保證專家或將測試任務委託給主要開發團隊。 儘管這種方法可能會在短期內減少您的薪水,但由於軟件性能不佳或與錯誤相關的網絡攻擊而失去客戶的成本可能會高出數倍。
如果您需要幫助驗證您的軟件是否運行良好,滿足 SRS 或技術願景中指定的所有要求,並幫助您實現業務目標,請聯繫 ITRex QA 專家!
最初於 2023 年 1 月 20 日發佈在 https://itrexgroup.com。