4

我很新C.I.但我最近繼承了一個項目,在這個項目中,Team City剛剛實施,我正在緩慢地開始研究。我們希望做的一件事是在構建過程中運行一些Selenium測試。我已經創建了硒測試,並且可以通過我的開發機器上的nunit控制檯成功運行它們。構建服務器構建項目,然後將其部署到一個臨時服務器上(一個Web表單應用程序,當它發生時)。關於持續集成和硒測試的新手問題,

在每次硒測試之前,我們將數據庫設置爲已知狀態,即只有某些記錄到位 - 這樣每個測試獨立於其他測試。問題是,登臺服務器將被真正的「人」測試人員使用,所以這會導致他們的數據庫不斷重置問題(記錄被刪除等)。問題是我真的也應該部署應用程序到虛擬目錄上構建服務器並針對此測試運行硒測試,並且只有在這些測試通過時才部署到登臺服務器上?

還是我得到這個東西完全錯了?如果是的話,你怎麼在你的組織中做到這一點?

回答

2

我建議你不要混合你的自動和手動測試,讓你的測試人員訪問你的自動化測試階段的服務器。這可能會在您的自動測試和手動測試中導致誤報。這些'錯誤'是不確定的,並且可能永遠不可重現(一個非常壞的消息)。這會造成很多不必要的「錯誤報告」,並造成失敗。

因此,這裏是你可以做什麼......

除了當前的設置,您可以創建額外上演服務器您的手工測試。這是您應該做的至少。您應該可以創建幾個其中一個,一個用於每個測試器

這裏來的咆哮......

在我目前的項目,我們最近發現,在我們的測試(我們有他們的〜10)重複使用一臺服務器。他們聲稱,由於我們的應用程序將具有多個併發用戶,因此在測試各個功能時,他們也在測試這些功能在多個用戶在同一臺​​服務器上工作時的行爲方式。 錯誤!

如果有多個用戶關心,應該針對具體問題進行測試用例。如果功能#1可能會干擾功能#2,則應該對其進行專門測試,而不是僅僅進行「運氣測試」。

在向我們的手動測試人員解釋之前,我們有許多錯誤的錯誤報告,因爲一個測試人員只是踩在另一個測試人員的腳趾上。 (例如,tester1刪除了tester2引入系統的記錄等)。這造成了很多不必要的錯誤報告,而這些錯誤從未重現過。

很抱歉的咆哮,我希望這仍然可以幫助:)

+0

謝謝,這聽起來不錯,我們懷疑是混合自動和手動測試將是一件壞事。我們打算在構建服務器上構建應用程序(顯然),並在那裏運行我們的自動化硒測試,然後部署到登臺服務器進行手動測試,如果所有自動化測試運行成功。謝謝你的建議。 – 2011-02-02 09:24:52