2012-07-24 104 views
47

我在理解測試工具和相關的常見術語(如測試用例,自動化測試中的測試腳本)時遇到了一些困難。測試線束是什麼?

所以這就是我到目前爲止: 自動化測試是使用特殊的軟件(除了被測試的軟件)來控制測試的執行並將實際結果與預期結果進行比較。它還涉及建立測試前提條件。這種測試最適合經常進行的測試。

現在,我遇到了測試工具的一些問題。我讀過它包含測試用例,輸入文件,輸出文件和測試腳本的測試套件。 現在我的問題是測試用例和測試腳本之間有什麼區別?另外,您如何使用該軟件測試AUT的不同功能?我還遇到了一些像套房大師和個案經紀人這樣的術語。

+0

試想一下,當你想要全面測試你的項目時,它就是你的根。 – Pithikos 2015-06-11 23:45:40

回答

49

那裏有幾個廣泛的問題,將根據我的經驗嘗試回答。一個Test Harness

想作爲實際執行使用(2)測試庫和(3)生成報告所述的(1)執行測試所有工作的「使能」。這將要求您的測試腳本設計爲處理不同的(4)測試數據和(5)測試場景。從本質上講,當測試工具已準備就緒並且準備好必備數據(又名數據準備)時,某人應該能夠單擊按鈕或運行一個命令來執行所有測試並生成報告。

測試工具很可能是一組不同的東西,使所有上述事情發生。如果您在開發應用程序時編寫單元測試,那將是測試工具的一部分。您還可以針對您的應用的功能進行其他測試,例如:用戶登錄到網站,查看收藏夾窗格,最近的消息和通知。然後,你添加一個「跑步者」,通過你所有的「測試腳本」,並運行它們(而不是你必須一次執行一個測試)。如果感覺就像一個測試工具更多的是一種概念上的集合,而不是一個單一的軟件,那麼你:-)

現在可以正確地理解這一點,我的問題是什麼是測試用例和測試之間的區別腳本?

簡單但不完全正確答案:甲測試用例定義測試目標,描述,前置條件,步驟(描述或具體的),預期的結果。 A 測試腳本然後將成爲執行該測試的實際自動化腳本。這是在自動化環境中。它會改變。很多。

是什麼樣的ISTQB認證定義爲測試場景通常被稱爲測試用例在一些公司和國家。在其他情況下,當提到手動測試時(當詳細給出步驟但不是自動化線束的一部分時),測試用例會與測試腳本一起翻轉。其他人則說測試腳本完全是指自動測試。另一方面,人們也可以爭辯說,幾個測試用例可以組合在一個測試腳本中,反之亦然。這樣引出了一個問題,如何做一個測試過程合適嗎? 「

A test development階段可以有:」測試程序,測試場景,測試用例,測試數據集,用於測試軟件的測試腳本「。

如果您假設>(大於/收集)關係,那麼您會如何聯繫這些關係?修辭的問題 - 即有所不同基於你在哪裏工作,誰是你的客戶端等最好的辦法是與你的同事/客戶的定義,並同意本條款的理解,而不是定義。我目前使用測試腳本=自動腳本,基於預先存在的手動測試用例或測試場景。

此外,您如何使用該軟件測試AUT的不同功能?

您編寫了不同的測試來測試不同的事情。每個測試都會執行某些操作並檢查AUT的輸出是否符合您的預期 - If displayed_value == expected_value。一個輸入文件可以用來提供測試用戶名和密碼的測試 - 列表數據,例如。或運行具有不同的數據相同的測試 - 登錄與不同的消息不同的用戶等

看看RobotFrameworkSelenium。一個機器人框架測試(用文本或html文件編寫)與Selenium庫相結合,可以讓您編寫一個自動化測試,測試特定的內容......就像一個主頁驗證。你會寫一個單獨的測試來確保用戶可以看到他/她的所有消息。另一個測試清除通知。等等。

+0

感謝您的解釋! – coffeeak 2012-07-26 02:38:19

+0

我還在想,如果有的話,是測試工具和測試框架之間的區別。這是相同的工具「深度」? – Philm 2013-09-24 18:42:38

+0

測試框架不包括測試數據或場景 - 但是這是指'技術'框架,而不是我們可能在項目經理的PPT上顯示的「框架」或方法:-)另外,如果使用像Jenkins這樣的工具,我會說這是我的測試工具的一部分,但不是框架的一部分(同樣,我指的是技術)。下面還有關於測試存根的答案,並且有趣的是,[ISTQB答案](http://istqbexamcertification.com/what-is-test-harness-unit-test-framework-tools-in-software-testing/)認爲這些不同但分組在一起。 – aneroid 2013-09-26 07:50:33

12

測試工具:測試環境包含執行測試所需的存根和驅動程序。

將使用測試線束和存根來複制缺失項目(尚未包含在測試或外部系統中的組件)。 通常情況下,當執行多個模塊或組件小型集成測試,有必要制定或即興的方法和工具,以獲得下測試的測試數據的組件。這通常被稱爲測試工具。由於需要了解構建測試工具所需的技術,因此該測試幾乎總是由開發團隊完成。

測試裝具可以通過模擬測試對象將運行的環境來促進對組件或系統的一部分的測試。這可以是因爲該環境的其他組件尚未公佈和由存根和/或驅動器被替換,或僅僅以提供可預測和可控的環境中,任何故障可被測被定位到對象。這些通常是由開發人員爲測試過程提供的定製程序。如果他們是在一個成熟的組織中使用的很可能是這些線束將被視爲「測試資產」,並進行版本控制&配置管理。

+2

是的,這是根據ISTQB術語表 – 2012-08-12 06:05:03

+0

@ user1109363測試設備的定義如果不選擇這個作爲正確答案,您會有什麼理由? – 2015-02-28 19:18:35

+0

你會認爲robolectric是一個測試用具嗎?因爲它使用陰影對象 – j2emanue 2015-10-29 19:20:08

1

測試線束包含編譯和運行測試所需的所有信息。這包括測試用例,測試中的源文件,存根和目標部署端口(TDP)配置設置。

0

測試工具是在單元,模塊,應用程序或系統級別測試軟件所需的所有項目的集合,並提供執行測試的機制。每個項目(例如輸入數據,測試參數,測試用例,測試腳本,預期輸出數據,測試工具和測試結果報告)都是測試工具的一部分。