2011-07-18 87 views
25

由於應用測試現在可以在Xcode的模擬器上運行,除了可能節省少量的執行時間之外,還有什麼好處將測試分爲邏輯和應用測試?應用測試VS邏輯測試

分化爲每Apple docs

  • 邏輯測試。這些測試在無塵室環境中檢查代碼的正確功能;也就是說,您的代碼不在應用程序中運行。邏輯測試可以讓您將非常具體的測試用例放在一起,以非常精細的級別(類中的單一方法)或作爲工作流的一部分(一個或多個類中的多個方法)來執行代碼。您可以使用邏輯測試對代碼執行壓力測試,以確保它在正在運行的應用程序中不太可能發生的極端情況下正常運行。這些測試可以幫助您生成健壯的代碼,這些代碼在以您未預料到的方式使用時能夠正確運行。邏輯測試是基於iOS Simulator SDK的;但是,該應用程序未在iOS Simulator中運行:正在測試的代碼在相應目標的構建階段運行。

  • 應用測試。這些測試會在正在運行的應用程序中檢查代碼的功能。您可以使用應用程序測試來確保您的用戶界面控件(插座和操作)的連接保持不變,並且您的控件和控制器對象在您的應用程序中工作時與對象模型正常工作。由於應用程序測試只能在設備上運行,您還可以使用這些測試來執行硬件測試,例如獲取設備的位置。相比邏輯測試

+0

此問題可能無關緊要,因爲該鏈接已死亡。請參閱http://stackoverflow.com/q/41404613/62瞭解更多信息。 –

回答

4

應用測試真正用於兩個不同的東西:

邏輯測試 /單元測試用於測試非常小的行爲的一個或幾個的方法,例如「鑑於我是這樣創建我的對象的,我期望它的某個屬性的價值是什麼?」

然而,應用測試用於測試大圖,例如, 「當我點擊某個表格視圖單元格時,是否可以在詳細視圖中獲得正確的數據?」

+1

當然,這是真的,但是將這些測試分爲不同的測試文件/軟件包會得到什麼? – nduplessis

+0

就這樣,我們正在談論同樣的事情。當我談論關於邏輯測試的Xcode(OCUnit或類似)中的應用程序測試和單元測試時,我主要指的是儀器中的UIAutomation測試。 –

+0

嗯......編寫小而詳細的測試作爲邏輯測試更容易,因爲儘管你可以將其中的一部分作爲應用程序測試,但它更接近代碼和編寫Objective-C代碼。反過來也是如此。這成了使用正確工具完成任務的問題。 –