1、UI自动化测试
优点:能够实际模拟真实用户的行为,直接验证软件的商业价值;
缺点:用例的维护和执行代价很大。另外,UI自动化测试的稳定性问题,是长期以来阻碍GUI测试发展的重要原因。
在快速迭代的情况下,页面的改动可能会很频繁,而UI自动化测试本身基于页面元素,前端小小的改动可能需要测试的大大改。
2、接口测试
相比于UI自动化测试,接口测试更稳定,更具有价值。
效率
接口测试是通过测试数据验证请求【request】与响应【response】是否符合预期。因此,接口测试开发和调试的效率会比ui自动化测试高很多。
稳定性
如果接口改动,那基本属于业务重新设计。所以接口测试用例执行的稳定性很高。
实用性
UI自动化测试验证的主要是页面显示,而接口测试验证的主要是数据。
在当前开发水平下,功能测试基本可以完全验证页面显示的问题,所以UI测试有点类似于“这些没问题了,为了保证一直没问题,所以要写UI自动化,每天去执行”。接口测试则是对接口返回数据的验证,开发在开发新的接口时涉及到接口互相的调用,中间难免出现比如数据类型、key-value不匹配的情况,因此在实用性考虑,接口测试实用性更高。