对自动化的一些基础认知
给以一个项目实行自动化,你会怎么做?
关于自动化的概念,人各有认知。
通常来说自动化关联词有编程语言、自动化程序、自动化框架、持续集成、。。。。。等
这次面试是电话进行的,当时正在研究一些其他方向的技术,而且对这个电话表示很意外。。。。
所以当时也比较应付,所以回答也就很粗糙了,事后回想我应该要重视每一次降临的机会,即便我并不中意它,但或许也能从中得到些什么
那么关于自动化,我能想到的是:
-
基于自动化过程是有较大成本投入的前提认知下,不是每一个项目都要去做自动化
- 如果上面要求实现自动化覆盖,那么直接下一步,反之应该要考虑下这个项目值不值得我付出大量时间;比如说:这个项目市场前景不错,
因此生命周期较长,后期会有多个版本迭代(反正我是很不愿意弄一个一次性得东西)
- 如果上面要求实现自动化覆盖,那么直接下一步,反之应该要考虑下这个项目值不值得我付出大量时间;比如说:这个项目市场前景不错,
-
自动化不只是撸代码、跑脚本、用某些工具,而是一种节省后期测试成本的解决方案
-
它是一个长期的活动,我们要系统化的去看待并规划它
- 对系统(业务场景、业务流程、面向什么群体、是否有特殊需求)再次做一个详细的分析梳理,目的是为了摘取可以纳入自动化的版块;一般对要与系统之外第三方接口做交互的或者
与外部设备做交互的还有涉及多状态频繁变更的功能模块,我是不考虑自动化的,这是出于对有效性稳定性程度考虑的
比如说:一件商品从选中到加入购物车再到生成订单确认支付,前几个流程没有问题但最后的支付涉及到银行接口或者第三方支付接口调用,对环境检验有限制 - 分析这些模块之间的关联关系,目的是为了找到测试入口;
- 对系统(业务场景、业务流程、面向什么群体、是否有特殊需求)再次做一个详细的分析梳理,目的是为了摘取可以纳入自动化的版块;一般对要与系统之外第三方接口做交互的或者
-
自动化介入条件
- 至少形成一个稳定版本
-
自动化的策略
- 选择合适的工具,对我们的工作往往事半功倍
- 所以市场上是不是已经有了现存的工具可以利用,使用的条件(代价)
- 没有开箱即用的工具,那我们用哪种技术去搭建一个自动化的环境
- 人力、环境等资源的分配
- 运行方式(托管),后期维护方式
自动化可以提升测试效率吗?
自动化是测试过程中的一种解决方案,预期是为了解放部分机械式人力活动;
但是自动化本身是受到一些约束的,比如项目稳定性程度,人员的技能素养;
所以对于进一步提升测试效率,我们应该找到制约因素是什么?
是开发提测质量控制不达标让测试总是被阻塞,以至于我们后续在有限的时间内不能验证更多的场景;还是测试人员本身的局限性,亦或是测试中所需要的资源不能得到充分的支持等等。。;
这些问题都不是介入自动化能解决的,毕竟自动化只能一定程度降低我们的投入成本,而不是发现更多bug提升测试有效性,针对实际的问题来寻找对应的解决方案,才是提高测试效率的正确姿势
总结:自动化是我们提升测试效率的一种手段,不是唯一手段,不能包治百病

浙公网安备 33010602011771号