软件测试目前在一线城市的大互联网公司能做到一个团队完全自动化测试吗?

完全自动化是指的100%覆盖?100%覆盖所有测试点?如果是,那么可以讲这不是能不能做到的问题,而是需不需要,有没有必要的问题。

同时,这里提到了地域的问题,由于各地域IT行业发展、应用的程度不同,相应的测试开发技术确实存在一定程度的差距,但这个问题和地域之间不存在直接关系。

首先,需要明确下关于自动化基本的认知:

常见的错误认知:

使用自动化完全替代手工测试。
使用自动化测试发现更多的新BUG。

应该形成怎样的认知 :

自动化测试的目的不单纯是为了减少或者替代手工测试,而是为了测试人员能够做更多更有意义的测试(也包含手工测试)。
自动化测试是用来验证以前能够正常工作的功能是否依旧可以正常工作。

接下来我们讨论下完全自动化测试的必要性

首先并不是什么条件下都可以开展自动化

通常需要同时满足以下条件:

1.软件需求变动不频繁(超过10%的变动是频繁变动,当然10%不是一个定值)
2.项目周期足够长
3.自动化测试用例可重复使用

其次针对不同的业务特点选择合适的自动化类型和框架

比如,被测对象采用前后端分离的架构设计,但界面有时会做根据用户需求做调整,此时该选择怎么做?在这种背景下,选择UI、接口自动化似乎都可行,但这里我更倾向于选择接口自动化,然后通过手工或者其他工具简单覆盖页面展示是否OK。

再比如,被测对象包含复杂的业务逻辑,如某审批流程业务,涉及不同审批流程环节和审批用户角色。这时会怎么选择?这里我更倾向于选择基于关键字驱动测试框架的接口测试。

等等,之所以会有结合不同被测对象特点,选择合适测试类型和框架,一是考虑到自动化的投入产出比、二是考虑到自动化测试的可持续性。

投入产出比不仅体现在开发成本,更重要的是维护成本。一个难维护、维护量大、难扩展的自动化,是很难持续的开展下去的。

测试用例中包含了很多类型的测试,比如功能测试、可靠性测试、性能测试等等。仅仅是功能性、可靠性的覆盖也将是一笔巨大的投入,所以我们会看到很多公司会选择只覆盖正向用例,应用于回归测试的迭代场景里,反向用例和异常测试用例一般不覆盖(根据团队人力情况而定,但不会完全覆盖)。团队当然不想看到,通过自动化测试提高效率节省的时间,用来维护自动化用例。

最后:

欢迎关注公众号:程序员阿沐,领取一份300页pdf文档的Python自动化测试工程师核心知识点总结!

这些资料的内容都是面试时面试官必问的知识点,篇章包括了很多知识点,其中包括了有基础知识、Linux必备、Shell、互联网程序原理、Mysql数据库、抓包工具专题、接口测试工具、测试进阶-Python编程、Web自动化测试、APP自动化测试、接口自动化测试、测试高级持续集成、测试架构开发测试框架、性能测试、安全测试等。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值