2011-07-18 52 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代码。反过来也是如此。这成了使用正确工具完成任务的问题。 –