UI功能的自动化测试,也就是大家常说的自动化测试,主要是基于UI界面进行的自动化测试,通过脚本实现UI功能的点击,替代人工进行自动化测试。
这个测试的优势在于对高度重复的界面特性功能测试的测试人力进行有效的释放,利用脚本的执行,实现功能的快速高效回归。
但这种测试的不足之处也是显而易见的,主要包括维护成本高,易发生误判,兼容性不足等。因为是基于界面操作,界面的稳定程度便成了维护脚本较大的制约因素。频繁变化的界面交互,就意味着需要不断的更新测试用例脚本,占用大量的测试资源。易发生误判主要是因为基于UI控件进行的识别,容易因为网络条件、设备配置、测试环境等原因导致加载缓慢或异常,从而导致测试用例执行过程中部分判断不准确,进而影响测试的准确性。兼容性不足主要是指测试脚本在不同设备、不同操作系统、不同硬件环境等情况下执行会带来不可预料的情况,导致测试用例执行结果的不准确。
基于以上优劣对比,我们在UI功能自动化测试中,主要实现的是APP核心路径的测试,对需要大量重复执行、重复验证、UI界面变化频率较低的功能模块进行UI功能自动化测试的实现。需要大量重复执行、重复验证,则意味着实现自动化后的利用率高,UI界面变化频率较低,则意味着后续维护成本不高,这三类用例对于我们来说是投入产出比较高的部分,我们会较高优先级去做UI功能自动化测试的实践。
在做UI功能自动化测试的过程中,可以对相关控件、测试用例、测试集进行有效的梳理和管理,对可重复的工作进行及时归并,减少资源的浪费。当UI功能出现变更的时候,也可以以较小的成本进行维护,降低维护成本。
推荐阅读: