【问题标题】:iOS automated tests questionsiOS 自动化测试题
【发布时间】:2015-01-10 23:20:21
【问题描述】:

我一直在从事一个想要添加自动化测试的项目。我已经添加了一些单元测试,但是我对我一直在使用的过程没有信心,我在自动化测试方面没有很好的经验,所以我想寻求一些建议。

该项目与我们的 Web API 集成,因此它具有登录过程。根据登录用户的说法,API 提供了一个配置文件,该文件将允许/禁止访问移动应用程序中的某些模块和权限。我们还有一个同步过程,应用程序将从 API 访问多种方法来下载文件(PDF、html、视频等),并通过 JSON 文件接收大量数据。用户基本不用插入数据,直接使用同步过程中收到的信息即可。

到目前为止,我在这个场景中添加单元测试的方法是模拟登录用户,然后我向用户添加了一些固定对象并对其进行测试。 我能够测试 Web 服务集成,我使用 Nocilla 返回假 JSON 并断言结果。到目前为止,我只能测试单个请求,但我仍然不知道应该如何测试同步过程。

我很难为我的视图控制器创建单元测试。我应该只对业务逻辑进行单元测试,然后使用 KIF / Calabash 等工具完成其余所有工作吗?

有没有简单的方法来设置夹具数据和文件?

谢谢!

【问题讨论】:

    标签: ios unit-testing automated-tests


    【解决方案1】:

    每个人的里程可能会有所不同,但这就是我们确定的原因和原因。

    单元测试:我们使用类似的策略。唯一的区别是我们使用 OHTTPStubs 而不是 Nocilla,因为我们在那里看到了我们需要的更多灵活性,并且乐于权衡 Nocilla 更简单的语法。

    做更复杂的(非单一查询)测试用例很快就失去了光彩,因为我们本质上是在重建整个 HTTP 请求/响应流,而这并不是很“单元”。对于功能测试,我们最终采用了 KIF(至少对于专注于开发的工作,假设您没有独立的 QA 部门),原因如下:

    • 我们不需要/不需要由提供的多语言抽象层 Appium。
    • 我们希望能够在多个设备上运行测试 构建服务器。
    • 我们想要更多的白盒测试,同时 潜意识很吸引人,我们不想在我们的主要内容中构建钩子 应用代码。

    使用 KIF/Calbash 或类似的东西来测试视图控制器逻辑(任何不是面向单元的)肯定会更有用,所以这就是我建议的路径。

    对于奖励积分,我们还做了一些其他事情。去展示你可以做什么:

    • 我们有一个基本的概念证明,它将 KIF 命令绑定到 JSON RPC 服务器。因此,您可以在设备上运行测试目标并让该设备响应 HTTP 请求,然后触发测试用例或 KIF 命令。这样做的好处之一是您可以将您为单个设备编写的一些测试代码重用于多个设备测试用例。
    • 我们的 CI 服务器将集成测试构建为主要构建(包括单元测试)的下游构建。构建开始时,我们使用 XCTool 预编译测试,然后我们有一些脚本开始录制快速屏幕录制,运行 KIF 测试,导出结果,然后将其存档在我们的 CI 服务器上,以便我们可以看到实时测试运行以及测试日志。

    不是这个答案的一部分,但如果你 ping 我很高兴分享。

    【讨论】:

    • 非常感谢您的回答!我想我将使用 KIF/Calabash 为我的视图控制器和视图创建功能测试,而不是像以前那样尝试使用单元测试来测试所有内容。我想我现在最大的困难是在执行测试之前准备场景。有没有你发现的关于 KIF + JSON RPC 服务器解决方案的网站链接或博文?
    • 我们在 KIF + JSON RPC 服务器上推出了自己的产品,但基本想法是创建一个测试目标,其中包含一个永远等待的测试,然后在那里设置您的 http 端点并使用动态调度来触发方法(有点像 Frank,除了 KIF)。如果你 ping 我你的联系信息,我可以给你示例代码。
    • 酷!我想了解更多关于这方面的信息。我的电子邮件地址是 gmail.com 的 franco2610。谢谢!
    • 把细节放在这里:medium.com/@lukesma/…Medium 并不是写代码的最佳平台,他后来意识到。
    猜你喜欢
    • 2020-11-29
    • 2021-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多