开发iPhone / iPad时
注意这是基于question asked a few days ago(此后经过大量编辑)。问题产生了一些有趣的回答,可能有助于在一个地方聚合。
答案 0 :(得分:9)
以下是我目前在发送应用之前的测试方法。
1)使用Xcode集成的Clang分析仪进行构建和分析。
这在许多方面很有用,它会捕获许多小愚蠢的东西以及一些内存泄漏(即使有时其结果包含误报)。
2)彻底检查所有警告。其中一些可能实际上是非常有害的。尽可能删除警告。
3)使用Instruments检查内存泄漏,运行时的内存占用等
4)当我认为需要时,使用Shark识别性能问题。
5)执行(手动)所有预定义的测试系列,以检查UI和底层代码是否按预期工作。在向应用添加新功能时,请务必再次进行回归测试,以确保一切顺利,正常运行。由于设置和运行它们所需的时间难以置信,我很久以前就放弃了单元测试。
6)向alpha测试人员发送应用程序的临时版本,报告正确的错误,然后再将应用程序发送给alpha和beta测试人员并更正报告的错误。
7)最终测试是在iPhone 3GS,iPhone 3G和iPod Touch等不同设备上亲自完成的。
答案 1 :(得分:5)
就我个人而言,我只对单元测试有意义的类和/或方法进行单元测试,值得付出努力。在我看来,这归结为以下类型的代码:
我很少使用单元测试来测试与GUI相关的代码。
到目前为止,我只使用了iPhone附带的OCUnit / SenTesting框架。
我还发现,在发布过程中制作一份简短的事项清单可以进行大量的测试。通常不是直接测试相关的东西会在产品中产生问题,而是构建/发布过程中的小(遗忘)步骤。
答案 2 :(得分:2)
老实说,我发现创建单个单元测试所需的工作量是完全痛苦的。即使对于最基本的测试,也需要大量的模拟。同样,在iPhone中分离模型,视图和控制器也很困难。鉴于我的应用程序非常小,不值得花时间。
如果/当我写更大的内容时,我会再次重新调查单元测试。
据说,我做了大量的用户/ QA风格测试。看着别人使用应用程序(非常有用!),我使用应用程序等。如果你在单元测试中吝啬,你就不能吝啬!
答案 3 :(得分:0)
我在我的应用上做了一些单元测试。但由于我的计算器比其他更复杂的应用程序更容易进行单元测试。当我发现一个不能正常工作的情况(通常来自手动测试)时,我发现它非常有用,然后我编写了一个测试,以便将来总是会测试(希望模糊不清)的情况。这样我就不会再犯错了。
答案 4 :(得分:0)
唯一的测试是使用应用程序仪器,有时只是。