测试的基本知识

用户与App 存在各种各样的交互,例如按下一个按钮,或下载信息到他们的设备上。所以,你应该测试各种各样的用例和交互,并以此来迭代开发你的App。

使用迭代开发流程

随着App 的膨胀,App 会具备越来越多的功能,这时你就需要制备一个全面的测试策略来测试App 的各种功能。

当要迭代开发一个新功能时,你应该开始为该功能编写新的测试,或者添加案例、断言到现有的单元测试中。因为该功能还没有实现,所以第一次测试应该总是失败。

应该考虑单元的责任,单元应该成为所设计的新功能。对于每一个单元,你应该为之编写相应的单元测试。单元测试应该为单元尽可能地考虑到所有的交互情况,例如标准交互、无效输入和资源不可用的情况等。

这样的迭代开发流程,我们更愿意称之为TDD(test-drive development,测试驱动开发)。

下面就是以UI 开发的TDD 的流程示意图。

UI开发的TDD示意图
UI 开发的TDD 示意图

先编写测试,如果测试不通过,则重构代码直到测试通过;如果测试通过,则继续重构代码,并构建新的测试用例进行测试。如此反复循环,直到所有功能的所有测试策略中的情况被测试通过为止。

理解测试金字塔

下面是测试的金字塔结构。

测试的金字塔结构
测试金字塔的示例图

以测试金字塔的示例图为例,在App开发中应该包含三种类别的测试:小型测试、中型测试、大型测试。

小型测试

即单元测试,通常用来模拟每个主要的组件,应该在你的机器上可以快速运行,并通常可以脱离生产系统而运行。

中型测试

即集成测试,位于小型测试和大型测试之间;集成测试通常是指将不同的组件(单元、功能)小规模集成起来进行的测试。

大型测试

是指大规模的集成,并对UI进行完整的UI流程进行测试,通常用来确保终端用户的行为能够在模拟器或者真实设备上按预期进行。

猜你喜欢

转载自blog.csdn.net/yumeizui8923/article/details/79448418