为iPhone/iPad开发时你呢
进行单元/集成/等测试?
你使用什么框架?
您尝试了哪些其他框架(如果您决定不使用它们,为什么不呢?)
注意这是基于几天前提出的问题(此后经过大量编辑).问题产生了一些有趣的回答,可能有助于在一个地方聚合.
这是我目前在发布应用程序之前进行测试的方法.
1)使用Xcode集成的Clang分析仪进行构建和分析.
这在许多方面都很有用,它捕获了许多小愚蠢的东西以及一些内存泄漏(即使有时它的结果包含误报).
2)彻底检查所有警告.其中一些可能实际上是非常有害的.尽可能删除警告.
3)使用Instruments检查内存泄漏,运行时的内存占用等.
4)当我觉得需要时,使用Shark识别性能问题.
5)执行(手动)所有预定义的测试系列,以检查UI和底层代码是否按预期工作.在向应用添加新功能时,请始终再次进行回归测试,以确保一切顺利,正常运行.由于设置和运行它们所需的时间难以置信,我很久以前就放弃了单元测试.
6)将应用程序的临时版本发送给alpha测试人员,报告正确的错误,然后将应用程序再次发送给alpha和beta测试人员并更正报告的错误.
7)最终测试是在iPhone 3GS,iPhone 3G和iPod Touch的不同设备上亲自完成的.
就个人而言,我只对单元测试有用的类和/或方法进行单元测试,值得付出努力.在我看来,这归结为以下类型的代码:
纯计算算法
各种数据解析器(文件,互联网数据等)
具有输入/输出关系的方法
可能还有一两个我忘了.
我很少使用单元测试来测试与GUI相关的代码.
到目前为止,我只使用了iPhone附带的OCUnit/SenTesting框架.
我还发现,在发布过程中制作一份简短的事项清单可以进行大量的测试.通常不是直接测试相关的东西会在产品中产生问题,而是构建/发布过程中的小(遗忘)步骤.