我如何testing我的iOS应用程序
我的问题也许是愚蠢的,但任何人都可以教我?
除了在编写代码时进行一些testing(很可能是白盒testing)之后,在构build应用程序之后,我们是否有一些testing工具或特殊方法来进行testing?
我现在所能想到的只是手动testing我的应用程序的function。
感谢大家。
更新:添加了“iOS4自动testing”
作为专业testing人员,我的build议是,您应该有一个健康的自动和手动testing组合。 下面的例子是.net,但是它应该很容易find一个你使用的任何技术的工具。
自动testing
-
unit testing
使用NUnit来testing你的类,函数和它们之间的交互。
http://www.nunit.org/index.php -
自动functiontesting
如果可能的话,你应该自动进行大量的functiontesting。 一些框架的作品内置了functiontesting。 否则,你必须使用一个工具。 如果您正在开发网站/应用程序,您可能需要查看Selenium。
http://www.peterkrantz.com/2005/selenium-for-aspnet/ -
持续集成
每当团队中的某个人对该项目进行承诺时,使用CI来确保所有自动化testing都运行。
http://martinfowler.com/articles/continuousIntegration.html -
iOS4的自动化testing
通过使用新的UIAutomation仪器编写触摸事件来自动化应用程序的testing。
一些链接:
手动testing
就像我喜欢自动化testing一样,恕我直言,不是人工testing的替代品。 主要的原因是一个自动化只能做它被告知的事情,只能validation它被通知的通过/不通过。 一个人可以利用它的智能来发现错误,并提出在testing其他东西时出现的问题。
- 探索性testing
ET是一个find项目缺陷的非常低成本和有效的方法。 它利用了人类的智慧,并且比testing技术更能告诉testing人员/开发人员更多关于这个项目的知识。 针对testing环境中部署的每个function进行ET会话不仅是快速发现问题的有效方式,而且是学习和娱乐的好方法!
articles/et-article.html
看看自动化testing工具 。 支持自动和手动testing/从注释屏幕截图的应用程序内发送反馈
我build议你看一下苹果公司在其开发者网站上发布的iPhoneUnitTests示例代码 。
FoneMonkey是一款免费的开源functiontesting自动化工具,可以从Gorilla Logic下载。
有许多新兴的自动functiontesting选项,包括Appium , Calabash , Frank和Zucchini 。
testing任何应用程序的大部分内容都是了解您正在testing的内容以及应该testing的区域。 其中的一些带有经验,但是要考虑的事情types是:
-
function
-
iOSdevise指南/ UI
-
手势
-
连接
-
要testing的设备types
-
audio
-
数据
-
崩溃报告
-
Analytics(分析)
有很多地方需要报道。
我推荐用于行为驱动开发的Kiwi。 到目前为止,我最喜欢的testing框架,使testing更有趣,testing更易读和清晰。