让我给你讲讲 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