手動迴歸測試宣言

在2018年秋季在線測試會議上,Brendan Connolly指出迴歸測試的自動化並非總是最佳的解決方案。由此,他提出了“手動迴歸測試宣言”(Manual Regression Testing Manifesto),並展示瞭如何利用該宣言區分功能測試和迴歸測試,以及決定測試是否需要自動化。

Brendan Connolly在2018年秋季舉行的在線測試大會上提出,迴歸測試的自動化並非總是最佳的解決方案。由此,他提出了“手動迴歸測試宣言”(Manual Regression Testing Manifesto),並展示瞭如何利用該宣言區分功能測試和迴歸測試,以及決定測試是否需要自動化。

手動迴歸測試宣言參照了敏捷宣言的理念。它是針對測試目的的公開宣言,也是用於討論測試質量、探索測試人員貢獻方式的框架。

Connolly指出,人們通常認爲“測試”問題(尤其是迴歸測試問題)似乎需要一些“銀彈”(即某種極端有效的方式)才能解決,例如購買適用的工具、自動化全部測試、引入人工智能解決方案等。在Connolly看來,這些做法並非完全沒有價值,只是我們是在嘗試使用瀑布式軟件開發時期人們所反對的那種說明性的測試方法。

手動迴歸測試宣言提出了以下五個理念:

  • 行爲高於缺陷;
  • 一致性高於正確性;
  • 實現高於意圖;
  • 整合性高於複雜性;
  • 共識高於完備。

Connolly指出,與敏捷宣言一樣,並不是說右邊的部分沒有價值,只是我們更注重左邊的部分。

Connolly說,敏捷革命展示了溝通和協作的價值,而不是讓人們採用更多的流程和工具。測試和QA領域也是一樣,只是實現起來很難,因爲測試過程是環環相扣的,難以用適當的用語描述它。

Procore Technologies公司高級質量工程師Brendan Connolly在2018年秋季的在線測試大會上做了演講。在演講結束後,InfoQ採訪了Connolly。

InfoQ:爲什麼我們需要手動迴歸測試宣言?

Brendan Connolly:傳播促成我們成爲測試人員的技能和意圖是展示價值的關鍵,而頗具挑戰之處在於如何表達測試及其預期產出在整個軟件開發生命週期中是如何變化的,以及爲什麼會發生這些變化。

迴歸測試是測試人員和管理人員常會產生誤解的一個領域。通常的建議是通過自動化消除此類痛點,但並非所有的場景都能自動化,或是存在投資回報率不佳的問題。這是因爲有些迴歸測試並不適合進行自動化。因此,爲了能清晰明瞭地開展交流,我認爲制定公開宣言會有所幫助。

InfoQ:如何解釋“行爲高於缺陷”(Behavior over Bugs)這一理念?

Connolly:如果測試人員未找出軟件缺陷,他們就很難有爲項目作出貢獻的成就感。對於測試新手尤爲如此。

功能測試是深挖問題和錯誤的時間。迴歸測試旨在最大限度降低中斷,我們並不希望新功能對已有功能產生意外的中斷。一旦測試人員開始迴歸測試以便查找錯誤,那麼他最終需要花費大量的時間重新測試功能。根據我的經驗,這更有可能發現一些與最新的代碼變更毫不相干的小問題,也可能會重新發現一些團隊曾經選擇忽略的舊問題。

即便測試人員發現了一個缺陷,除非是一個嚴重的缺陷,並且與當前的變更切實相關,否則只是在引入干擾。任何在迴歸測試過程中發現的錯誤都需要根據版本的發佈壓力做出權衡。這可能會降低測試人員在團隊中的信任度,因爲人們會認爲測試人員似乎更專注於發現軟件缺陷,而不是如何向客戶提供新功能。

更爲重要的是,我們應確保在做出變更時,客戶所期望和依賴的行爲仍然存在。

InfoQ:如何解釋“共識高於完備”( Common over Complete)這一理念?

Connolly:在測試人員職業生涯的某個時刻,他們都會被問及他們是否測試過所有的東西。事實上,對於任何一個項目,測試人員必定會做出一些權衡。測試人員所做的是儘量在可用的時間內最大程度地降低風險。

迴歸測試並非要確保所有的邊界條件都經過驗證,也並非意在確保可用性、性能或安全性。雖然這些方面都十分重要,但這些測試不應該發生在版本發佈之時。

一旦測試人員接受了完備測試這一重擔,也就承擔了各種責難。作爲測試人員,我們需要將討論引導到如何制定一套完整的策略,即如何用迴歸測試組件確保客戶的核心體驗與設計的一樣。

InfoQ:如何使用該宣言改進手動迴歸測試?

Connolly:手動迴歸測試宣言提供了多項內容。首先,它給出了區分迴歸測試和功能測試的明確界限,這通常是測試人員和管理層所面臨的一個挑戰。 宣言的每個核心原則都聚焦於兩個具備價值的測試要素上。通過對比兩個要素的相對價值,我們就可以定義整個發佈週期的測試期望。我們並不是要區分兩個要素孰優孰劣,而是給每個要素一定的時間和空間,讓測試人員去指出其中的差異。

其次,宣言提供了一個用於討論測試質量、探索測試人員貢獻方式的框架。人們很容易將測試人員視爲惡意的軟件破壞者,而實際上,我們可能會和軟件開發人員一樣甚至比他們還要喜歡我們所測試的軟件。爲確保軟件正常運行,即便我們與開發人員之間毫無聯繫,我們也會花費大量時間測試代碼。團隊花了大量時間討論代碼標準和實踐,但是代碼本身比測試和質量更加真實和可度量。測試人員之間並不存在什麼公共語言,所以,每個測試人員都必須能夠表達代表自身動機的想法。

我希望該宣言能激發測試人員去思考目前在做的事情,搞清楚質量對他們以及處於軟件開發生命週期不同階段的團隊來說意味着什麼。這樣他們就能夠更輕鬆地表達他們想要完成的事情,然後更好地向團隊提出問題。

查看英文原文: The Manual Regression Testing Manifesto

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章