iOS UI 测试与集成测试

iOS UI Testing vs Integration Testing

所以我一直在尝试阅读有关 UI 和集成测试(专门针对 iOS 开发)的内容。我一直认为这些测试是不同的,但我看到的很多集成测试示例似乎都是我所说的 UI 测试。

所以现在我很好奇,UI 和集成测试有什么区别?能举个例子吗?

UI 和集成测试是完全不同的概念。 UI测试具体就是测试UI,比如"When I press the login button, the credentials are validated and the page transitions to the home page"。集成测试是评估不同组件如何协同工作。

测试通常被认为是单元测试,但实际上您编写的大多数测试很可能是集成测试。虽然单元测试应该测试 "unit" 代码(例如函数),但集成测试将测试一堆函数 "integrated" 的使用。

当您无法使用某些 input/output 验证来测试应用程序的某些方面或需要测试应用程序的流程时,

UI 测试就变得很有必要了。您将为凭证验证编写单元测试:username/password 是否满足要求。一个集成测试,用于验证在登录用户时检索完整的用户对象(假设您模拟 database/network 层),以及一个 UI 测试,用于测试登录表单执行所有这些操作。

在上面的示例中,您可以看到单元测试可能不是必需的,因为集成测试也会涉及到各个功能。你应该单元特定的行为,例如用户尝试已知的无效参数实际上失败了,即 SQL 注入。