2009-10-29 32 views
31

我在一個多年來一直在做傳統瀑布式開發方法的團隊工作。最近,我們被告知未來的項目將會朝着敏捷(特別是Scrum)方法發展。恰巧我的項目將是第一個項目,所以我們將在未來幾個月基本上成爲試驗豚鼠,以消除過渡所需要的東西。測試人員在敏捷中的角色?

該項目本身處於非常早期的階段,我們通常需要幾個月時間才能向測試團隊發佈任何內容,但現在我們將直接與他們合作。因此,我擔心現階段測試人員在這樣一個項目中的作用。我有幾個問題/顧慮其希望一些有經驗的敏捷開發者可以回答:

  1. 儘管開發的編碼任務,這是不可能的測試儀測試(它還不存在)。那麼測試人員在這一點上的作用是什麼
  2. 測試人員現在是否參與了單元測試?這是否與黑盒測試平行進行?
  3. 在主要進行基礎設施更改的sprint中,測試人員做了哪些工作?可能只能在單元測試中測試?

傳統測試團隊成員如何在您的敏捷項目中工作?

+3

http://www.amazon.com/Agile-Testing-Practical-Guide-Testers/dp/0321534468 – 2009-10-29 00:54:28

+0

我投票結束這個問題作爲題外話,因爲它似乎更適合[https:// softwareengineering.stackexchange.com/](https://softwareengineering.stackexchange.com/),它應該遷移到該網站。 – Mudassir 2017-10-26 18:40:36

回答

25

保持忙碌的測試人員往往作爲幻燈來變得更容易CT到期(還有更多的考驗!),但以下幾點在早期階段施加過:

  1. 測試人員可以編寫自己的測試計劃,測試用例,測試和自動化測試的用戶之前的故事(或同時)它們得到實施。這有助於團隊甚至在開發人員編寫任何代碼之前發現用戶故事中的任何不一致或不明確之處。

  2. 根據我個人的經驗,測試人員沒有參與單元測試;他們只測試通過所有自動化單元,集成和驗收測試的代碼,這些測試全部由開發人員編寫。儘管如此,這種分裂可能與別處不同;例如您的測試人員可能正在編寫自動驗收測試。然而,單元測試應該由開發人員編寫,因爲它們是與代碼一起編寫的。

  3. 他們的工作量將衝刺之間有所不同,但迴歸測試仍需要對這些變化運行...

您也可能會發現,具有測試人員先花夫婦每個衝刺的天測試以前sprint的任務可能會有所幫助,但我認爲最好讓他們通過編寫測試計劃來確定開發人員將要完成的工作。

3

只是一些想法,肯定是不完整的:

  1. 雖然開發商編碼任務,測試人員可以檢查規範(或從顧客的要求,如果沒有正式的規範)和寫作測試計劃。這可以包括需要測試的概念框架,但它也應該包括正式編寫測試套件(是的,在代碼中)。對於敏捷的團隊來說,這可能是一個相當大的挑戰,因爲很多測試人員都是在沒有編程技能的情況下被聘用的。 (在很多地方,好像它是一個要求不能夠代碼。)

  2. 測試者可以通過測試組件或有圖書館參與單元測試,或略高範圍一個乾淨的界面。

  3. 測試人員應該總是執行迴歸測試,負載測試以及他能想到的任何其他類型的測試,以及爲下一個衝刺編寫測試套件。測試人員在開發之前(在準備測試環境中)以及開發背後的一個衝刺(測試開發人員剛製作的東西)時通常會測試一個sprint。

2

在我的公司我們使用和認可敏捷。我們的QA團隊成員參與了單元測試的創建,維護迴歸測試基礎架構,就像在瀑布中一樣,他們也在完成後測試每個功能。

在進行基礎設施更改時,他們也參與確保新的基礎設施是可測試的。

所以,從我有限的經驗,我會盡量回答你兩點:

  1. 如果沒有什麼尚未測試,開始建立一個迴歸/測試基礎設施,並確保任何正在做會可測試
  2. 是的,他可以做到既
  3. 維護測試基礎設施和狩獵誰打破了測試
3

最近我看到了一個很好的talk。基本上這個團隊開始做一個相當標準的Scrum流程,然後轉換到看板和精益。他們做的最重要的事情之一是逐漸削弱測試人員和開發人員之間的區別。測試人員參與編寫單元測試和代碼,開發人員在開發初期就引入了更高級別的測試。這對測試人員來說是一個陡峭的學習曲線,但值得從團隊一開始就在質量上進行建設。到目前爲止,測試人員稱自己是開發人員,因爲他們的工作如此集成在編寫代碼的過程中。

11

理想情況下,如果不是從軟件開發項目的早期階段開始,QA和測試人員應該參與進來,而不管所用的過程如何(瀑布或敏捷)。測試團隊將需要:

  • 確保項目或衝刺要求清晰,可衡量並可測試。在理想的世界裏,每個要求都會有一個適合的標準,在這個階段寫下來。確定需要自動記錄哪些信息以排除故障。

  • 準備項目特定的測試策略並確定哪些QA步驟將需要以及哪些項目階段:集成,壓力,兼容性,滲透性,一致性,可用性,性能,beta測試等。確定可接受的缺陷閾值和確定缺陷嚴重程度的分類系統,指定缺陷報告的指導原則。

  • 指定,安排和準備測試環境:根據需要測試基礎架構和模擬服務;獲取,消毒和準備測試數據;編寫腳本以在必要時快速刷新測試環境;建立缺陷跟蹤,溝通和解決的流程;準備招聘或招募用戶進行測試,可用性或驗收測試。

  • 提供所有相關信息,形成項目進度表,工作分解結構和資源計劃。

  • 編寫測試腳本。

  • 快速解決問題域,系統AS-IS和建議的解決方案。

通常這是不是一個測試團隊是否會提供任何有用的投入在早期項目中的問題,也不如果這種輸入是有益的。然而,這是一個問題,一個組織能夠負擔上述活動的程度。在可用的時間,預算和資源與最終結果的已知質量水平之間始終存在權衡。

2

1)開發人員編寫任務時,測試人員不可能測試 (尚不存在)。那麼,什麼 是測試在這一點

測試者仍可能創建測試計劃,並有一個什麼樣的測試將創建一個列表中的作用。如果開發涉及一些現成的軟件,那麼測試人員也可能需要接受培訓,例如,如果您正在使用Sitecore完成CMS項目,那麼測試人員應該瞭解一些關於Sitecore的內容。測試人員,開發人員和最終用戶或BA還可以進行一些協作,以瞭解什麼是要求和期望,以便不會出現含糊不清的要求。

2)測試人員現在是否參與了單元測試?這樣做是否與 黑盒測試平行?

不在我們的情況。測試人員正在進行更多的集成/用戶驗收測試,而不是低級別的單元測試。在我們的例子中,單元測試是在任何QA測試之前進行的,因爲創建功能的開發人員會創建一個測試層。

3)這是什麼地方主要基建 已經作了修改衝刺,這可能只是 在單元測試可測試期間,測試者嗎?

迴歸測試!在進行基礎設施改革時,是否有任何突破?與QA相比,開發人員可以運行測試套件有多徹底?不久之前,我們在短距離衝刺中完成了這項工作,大部分衝刺工作都在進行重做工作,所以除了看到之前的工作仍然有效之外,沒有太多的考驗。

在我們的案例中,我們已經從我們的開發環境升級到一個級別,但仍然是一個預生產環境。這個想法是讓QA sprint驗證已完成的工作以及在發佈到最終用戶驗收測試階段之前發現並修復的任何關鍵或高嚴重性錯誤,因此如果開發人員正在開發sprint X,那麼QA正在驗證衝刺根據最終的UAT和部署計劃,X-1和生產可能會有衝刺X-2或更早版本的運行,因爲並非每個衝刺都會在QA將OK移動到分段後投入生產。一旦開發人員完成了任務的初始編碼以確保測試人員和最終用戶簽署構建的內容,就可以進行配對練習。這是我們試圖將質量控制整合到項目中的第三或第四個版本,因此它仍然是一個已經發展了幾倍的工作。

+0

如果您重複提問,您的答案會更容易閱讀。 – Christian 2009-12-12 10:59:42

7

好帖子。大約3年前我處於同樣的狀況,從瀑布到敏捷的過渡是棘手的。我在這個舉動中遇到了很多痛點,但是一旦我克服了他們,我的角色發生了變化,我意識到這種工作方式非常適合測試。

測試人員不需要的常見誤區很容易消除。

1.開發人員編寫任務時,測試人員不可能測試它(它還不存在)。那麼什麼是測試者在這一點上的作用

根據我的經驗,測試人員可以與客戶合作來微調衝刺中的故事。

他們通常與開發人員一起微調他們提供的代碼。即就邊緣情況,流程,錯誤等提供建議。

他們通常可能參與設計編碼器將寫入以執行TDD的測試。

如果敏捷團隊相當先進,那麼測試人員通常會編寫ATDD(驗收測試驅動開發)測試。這些可以使用Fitnesse或Robot Framework等工具,也可以是更高級的ruby測試,甚至是其他一些編程語言。或者在某些情況下,簡單的錄製和播放對於少量測試通常是有益的。

他們顯然會寫測試和規劃一些探索性測試場景或想法。

有時爲團隊理解的棘手事情是,故事不必完整,以便將其放到測試堆棧進行測試。例如,編碼人員可以放下屏幕,其中一半的字段已計劃在屏幕上。測試人員可以測試這一半,而另一半正在編碼,因此可以提前反饋測試結果。測試不一定發生在「已完成」的故事上。

2.測試人員現在是否參與單元測試?這是否與黑盒測試平行進行?

理想情況下,編碼人員會做TDD。編寫測試,然後編寫代碼以使測試通過。如果編碼人員想要非常好的TDD,那麼他們會很樂意與測試人員一起考慮測試。

如果TDD沒有完成,那麼編碼人員應該在編碼的同時編寫單元測試。在軟件被刪除之後,它可能不應該是一個想法或之後的任務。整個測試的重點是測試軟件是否正確,以避免浪費時間。這都是關於即時反饋。

3。測試人員在主要進行基礎設施更改的sprint期間所做的工作是什麼,這隻能在單元測試中進行測試?

理想情況下,測試人員將與團隊和客戶(順便說一下,是團隊的一部分!)一起工作來定義計劃的故事,並建立一些良好的,詳細的驗收評估。這非常寶貴,可以節省下線時間。測試人員還可以學習新的自動化技術,規劃測試環境,幫助記錄計劃的結果。

理想情況下,衝刺中的每個故事都可以通過某種方式,形狀或形式進行測試。這並不意味着它應該由測試團隊,但應該是可測試的。因此,測試人員可以與團隊的其他成員合作,確定如何確保故事是可測試的。

我在這裏發表一些敏捷提示:http://thesocialtester.posterous.com/

希望這可以幫助你 搶..

2

最自然的方法來測試在敏捷環境在我看來是探索性測試http://en.wikipedia.org/wiki/Exploratory_testing。 不健全的話就像

根據塞姆·卡納&詹姆斯·巴赫,探索性測試更多的是[心態]或「......想測試的方式」比的方法

對測試

聲音熟悉敏捷developpers。測試人員可以在這個過程中比傳統測試早得多。

1

就像其他一些受訪者表示的那樣,測試人員應該從第一天起就參與其中。在Sprint零中,他們應該參與確保產品負責人制作的故事是可測試的(例如一次編碼可驗證)和「可接受的」(即,當你通過UAT時)。一旦產品待辦事項列表初始填充後,測試人員就可以處理針對當前Sprint的故事的測試案例,一旦有產品供他們測試(理想情況下,您的第一個Sprint中的某處),他們就可以開始測試。

如果聽起來像沒有任何東西要測試幾個Sprint,那麼你的故事就錯了。 Sprint的目標,即使是早期的,也是要有一個最終系統的薄片。關注「阿斯匹林」(即如果建立一個藥物處方系統,你如何在2-4周內提供可測試的功能?建立用於處方阿司匹林的那些)和「示蹤子彈」故事(當它們聯合使用時觸及所有架構中有風險的部分)。你會驚訝於你可以提早進行測試。如果測試人員結束業餘時間,可以讓他們與開發人員配對。它將建立關係和相互尊重。

這種方法的好處很多,但主要是你測試了很多你的開發的內部人員流程(從需求轉移到開發,測試和相反),其次是整個團隊(提及的所有三個學科)都會看到由於生成可執行軟件而產生的快速反饋的好處。

這聽起來不可能,但我已經看到它的工作。只要確保你一開始就不會咬到太大塊。讓自己容易進入,你會感到驚訝。

相關問題