首先,我们来了解下什么是自动化测试?
自动化测试指的是使用独立于待测软件的其他软件来自动执行测试、比较实际结果与预期并生成测试报告这一过程。
上述关于自动化测试的定义,其实可以拆分成以下4个部分:
1. 待测软件
2. 独立于待测软件的其他软件(即我们的自动化测试脚本)
3. 比较实际结果与预期,也就是我们常说的断言
4. 生成测试报告,用于展示自动化测试执行的结果
那么,问题来了,如何建立完善的自动化测试呢?
目前,自动化测试从整体来看,可以分为3大类,我们来看下下面这张图:
上图其实把一个系统拆分为3层,最上层的UI界面层,中间的服务接口层,以及最底端的Unit单元层。
针对每一层,其实都有比较成熟的解决方案,我们来看看下图:
了解了上述解决方案,接着,我们就需要根据我们项目的现状,根据优先级,合理的选用上述的解决方案。
在考虑上述方案的时候,我们需要注意以下几个问题:
1. 测试人员能否快速入门?
学习的成本,难易程度,直接决定了自动化能否快速建立起来。
2. 如何接入CI/CD体系?
这一点同样非常重要,接入CI/CD体系中,能够很好的实现线上巡检及快速冒烟和回归验证,能够很好的使我们的自动化融入到devops体系中,企业里目前CI/CD通常的解决方案是借助jenkins等工具。
3. Service层和UI层是否都需要开展自动化?
如果都需要开展自动化,那么,有必要为各端选用统一的自动化方案。RobotFramework是一套不错的解决方案,它既能和python一起实现接口自动化,也可以和selenium一起实现UI自动化,并且还可以接入到CI/CD中。
后续的自动化相关章节中,会陆续给大家介绍下这些框架,以及框架入门技术,并介绍如何和Jenkins实现持续集成。
另外,如果对于文章中有异议或者疑问的,也欢迎留言。如果觉得这篇文章还可以,三连你懂得~点赞分享再看~
觉得还不错,请点这里↓↓↓