让我给你讲讲 iOS 自动化测试的那些干货(2)

发表于:2017-03-10来源:csdn作者:LeoMobileDeveloper点击数: 标签:iOS
其实不管是开发还是测试,如果你在不断的做重复性工作的时候,就应该问自己一个问题:是不是有更高效的办法? 自动化测试有很多优点: 测试速度快
其实不管是开发还是测试,如果你在不断的做重复性工作的时候,就应该问自己一个问题:是不是有更高效的办法?

自动化测试有很多优点:

  • 测试速度快,避免重复性的工作
  • 避免regression,让开发更有信心去修改和重构代码(个人认为最大的优点)
  • 具有一致性。
  • 有了自动化测试,持续集成(CI)会变得更可靠。
  • 迫使开发人员写出更高质量的代码。(自动化测试不通过,代码不允许合并)

当然,自动化测试也有一些缺点。

  • 开发和维护成本高。
  • 不能完全替代人工测试。
  • 无法完全保证测试的准确性 - 让代码去判断一段逻辑是否正确很容易,但是,让代码判断一个控件显示是否正确却没那么容易

所以,在做自动化测试之前,首先要问自己几个问题?

  • 这个测试业务的变动是否频繁?
  • 这个测试业务是否属于核心功能?
  • 编写测试代码的成本有多少?
  • 自动化测试能保证测试结果的准确么?

通常,我们会选择那些业务稳定,需要频繁测试的部分来编写自动化测试脚本,其余的采用人工测试,人工测试仍然是iOS App开发中不可缺少的一部分。


测试种类

从是否接触源代码的角度来分类:测试分为黑盒和白盒(灰盒就是黑盒白盒结合,这里不做讨论)。

白盒测试的时候,测试人员是可以直接接触待测试App的源代码的。白盒测试更多的是单元测试,测试人员针对各个单元进行各种可能的输入分析,然后测试其输出。白盒测试的测试代码通常由iOS开发编写。

黑盒测试。黑盒测试的时候,测试人员不需要接触源代码。是从App层面对其行为以及UI的正确性进行验证,黑盒测试由iOS测试完成。

从业务的层次上来说,测试金字塔如图:

原文转自:http://blog.csdn.net/hello_hwc/article/details/60957515