UI还是接口?自动化测试如何决断?

今天跟大家简单讨论下UI测试、接口测试、单元测试,以及每种测试花费时间。

01 测试类型

  • UI测试【Selenium】
    UI测试是最靠近软件真实用户使用行为的测试类型。通常是模拟用户使用软件的行为,即模拟用户在软件界面上的各种操作,并校验这些操作对应的结果是否准确。
     
  • 接口测试【API测试】
    API测试,主要针对的是各模块的接口,一般用的是灰盒测试方法。首先以黑盒方式设计如何调用API的测试用例,同时在测试执行过程中统计代码覆盖率,然后根据结果补充针对性的测试用例。
     
  • 单元测试
    单元测试,属于白盒测试的范畴,通常由开发自己完成,越早发现缺陷其修复成本越低。

02 测试的优缺点

1、UI自动化测试

互联网公司,惯有的特质就是快——产品需要不断迭代,迭代时间基本在15天左右。

  • 优点:能够实际模拟真实用户的行为,直观验证产品的商业价值;
  • 缺点:用例的维护和执行代价很大。并且,UI自动化测试一直以来都存在着稳定性问题,这也是发展受阻的关键性原因。
    在迭代快的情况下,页面的改动也会很频繁,而UI自动化测试本身是基于页面的,前端但凡一个小小的改动可能需要测试这边大刀阔斧的改动。

2、接口测试
与UI自动化测试比起来,接口测试会更加稳定,也更具有价值。

  • 效率
    接口测试是通过测试数据验证请求【request】与响应【response】是否符合预期。因此,接口测试不论是开发和调试的效率,会比ui自动化测试高上许多。
  • 稳定性
    如果接口改动,那基本属于业务重新设计。所以接口测试用例执行的稳定性很高。
  • 实用性
    UI自动化测试验证的主要是页面元素,而接口测试验证的则主要是数据。
    在当前开发水平下,功能测试基本可以把页面显示的问题完整的验证,所以UI测试有点类似于“为了保证一直没问题,所以需要UI自动化,并且每日执行”。接口测试则是对接口返回数据的验证,在开发新的接口时,由于涉及到接口之间的调用,中间难免出现比如数据类型、key-value不匹配的情况,因此如果偏向实用性的话,接口测试实用性更高。

3、单元测试

  • 有的互联网公司单元测试是由开发完成的,在时间紧张的情况下,一般会给出个开发自测文档,开发仅仅需要执行少量的单元测试设计。实际情况,开发由于自身任务繁重,写好接口后是不会愿意写大量的单元测试的。所以单元测试还是看不同的公司来定的。

综上,我们在做非功能测试时,可以利用UI自动化测试,覆盖产品关键流程(包含兼容性测试),只要能够保证主要流程没问题,其他即使存在一定问题也不会影响到产品的正常使用。把时间更多的分配在接口测试用例的设计和执行上,保证数据的准确性。单元测试则可以根据公司具体情况去选择时间分配。

最后: 为了回馈铁杆粉丝们,我给大家整理了完整的软件测试视频学习教程,朋友们如果需要可以自行免费领取 【保证100%免费】

在这里插入图片描述

 全套资料获取方式:

 

 来都来了,别走了呗

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

代码小怡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值