2017-06-19 93 views
-2

我需要关于移动应用测试的帮助。我是测试新手,为代码编写测试,我是一名正在从事移动应用部门工作的公司的实习生,我的上司希望从我那里编写我为移动信息亭应用编写的代码的所有测试。所以,他特别说到端到端测试,我学习了单元测试,在Xcode中也有UI测试,但我无法找到如何在swift中为移动应用编写端到端测试。如何实施端到端测试,是否可以只显示整个系统的工作原理和预期的输入对应预期输出?我应该回到我的上级呢?快速端到端测试

感谢您的帮助!

+0

我相信你可以使用Xcode UI测试来实现这一点,只需按照Xcode 7上的任何UI测试教程,点击记录按钮并进行端到端测试即可。 –

回答

1

您对端到端测试有正确的想法。基本上你将要编写单元测试来测试你的业务逻辑,给予输入提供预期产出:

func testForIsNOTAfter() { 
    let dateString1 = ["2017/05/15 12:35:30", "2017/04/15 16:35:30", "2016/06/16 08:00:32"] 
    let dateString2 = ["2017-05-15T16:35:30Z", "2017-04-15T20:35:30Z", "2016-06-16T12:00:32Z"] 

    for i in 0 ..< dateString1.count { 
     let date1 = calendarUtils.dateFromString(dateString1[i]) 
     let date2 = calendarUtils.dateFromString(dateString2[i]) 
     XCTAssertFalse(date1!.isAfter(date2!)) 
    } 
} 

isAfter()是一个自定义函数,而不是iOS的框架的一部分,所以它的逻辑需要进行“测试“用不同的输入来确保函数返回预期的结果。通过这个测试,我的项目正在从本地时间发送和使用数据库到UTC,因此给定本地时间和UTC时间,测试isAfter为假(因为它们是相同的日期)。

使用xCode中的UITests,您可以实际“记录”您的事件。这将允许Xcode为您编写大量的UITest,只要从视图移动到视图。在记录了一些视图更改后,您应该能够弄清楚并研究如何访问某些元素来编写所需的UITest。大多数情况下,当ViewA呈现UILabelB.text == "Testing Text"时。这是一个非常简单的例子,但你应该有想法。

+0

谢谢Jacob! @Jacop Boyd –

+0

在我的情况下,我们所有设备都有激活码,一旦您将该码输入到我的应用程序中,就会使设备配置文件与此唯一的激活码相对应。因此,作为端到端测试,我应该写节点ID和预期输出(例如服务器响应?json解析信息?) –