现如今身处测试行业尤其是进行功能测试的小伙伴,点点点成为其工作中的唯一,不知道自已应该做什么,职业发展也变得非常迷茫。如何打破现有的局面? 互联网上有很多规划发展方向的文章,但是无论选择哪一个方向都离不开技术,技术型方向是最实在、最佳的选择,所以自动化测试技术也就成为现如今测试市场的炙热话题和升职加薪的必备利器。
自动化测试是一个非常大的概念,它是将人为驱动转化为机器执行的一种测试过程。从最早的QTP、LoadRunner等测试工具到现如今主流的Web 自动化测试框架Selenium、APP自动化测试框架Appium及接口自动化测试框架 Requests等,自动化测试框架及工具在不断发展在学习以上自动化测试框架之前,必须先对自动化测试有一个完整的认知。
本章主要涉及的知识点如下:
自动化测试理论:了解自动化测试的概念,自动化测试在哪些场景中可以实施,并分析其利弊关系。
自动化测试分类:了解现如今自动化测试的划分规则,以及各个层次在当今市场上的占比。
自动化测试流程:掌握自动化测试过程中各个阶段的入口条件、工作内容、出口条件从而使得整个测试过程有据可依。
1.1 什么是自动化测试?
自动化测试就是使用工具或者框架完成相应业务流的脚本设计,然后运行,判断其产生的实际结果是否与预期结果一致的过程,也就是将人执行各种手动测试的过程转换为由机器替代执行。在实际工作中,自动化测试人员会尽可能地模拟所有相关的业务场景,以此完成对应的脚本设计。其中测试用例都是从已编写及已设计好的用例库中进行选取,然后将脚本执行所产生的实际结果与预期结果进行对比,得到最后的结果。这个过程称为自动化测试。常见的自动化测试工具有 OTP、LR、WebLoad、Robot、WinRunnerJmeter、SeleniumAppium、HttpRunner 等。
1.2 自动化测试的发展历史
1.第一代自动化测试
这一阶段是自动化测试思想的启蒙阶段,主要使用工具实现“录制一回放”的技术,这种技术就是通过模拟用户对计算机的操作过程而形成脚本,再使用工具完成对业务操作过程中的某些功能点的相关设置,如参数化、检查点等,从而增强脚本的功能。经典代表工具 OTP就是这一阶段的标杆,该工具使用的是描述性编程,对于环境的依赖性太强,对变化过于敏感,所以这一阶段自动化发展不成规模。
注意:QTP 如今已更名为 UFT
2.第二代自动化测试
这一阶段是结构化脚本自动化测试思想的产生阶段,该思想可以应用于 CLI(命令行界面)和API(应用程序接口)的自动化测试,并且在这个阶段也开始集成了模块化和库的思想。
模块化思想顾名思义就是以模块为单位,将每个测试用例中的不同测试点进行拆分,并将每个点的测试步骤进行封装,最终形成模块的过程。
库思想实际是对模块化思想的一种升级,其为应用程序的测试创建库文件,这些库文件就是一系列函数的集合。库思想与模块化思想最大的不同就是,库思想拓展了接口思想,可以通过接口完成参数的传递,而不是一个固定死的模块,从而使得交互性更好、灵活性更高。
3.第三代自动化测试
这一阶段是各种自动化测试思想的爆发阶段,其中主流的有数据驱动与关键字驱动思想,并伴随着对象化思想的产生,造就了现在一系列的自动化测试软件。在测试软件中集成了这些思想从这时候开始,自动化就开始实现了一定的规模,开始运用在各个行业,并且发展越来越快。
数据驱动思想实现数据与脚本代码的分离操作,将数据存储在指定的数据格式文件或者数据库中,如 Excel、CSV、JSON、XML、YAML、数据库(MySQL、SQLite) 等,数据驱动思想实际就是关键字驱动思想的低配,以数据驱动业务。
关键字驱动思想基于数据驱动思想实现进一步的封装,以行为动作驱动业务,会将每一步操作封装在单独的类、单独的函数中,一个函数或者一个类中的方法可以表示一个动作的完成。简单来说,这实际就是一种面向对象的思想,不同的对象可以驱动不同的测试流向和结果。
1.3 自动化测试分类
1.3.1 软件开发周期角度分类
- UI自动化测试
- 接口自动化测试
- 单元自动化测试
1.3.2 测试目的角度分类
- 功能自动化测试
- 性能自动化测试
1.4 自动化测试的流程
- 可行性分析
- 分析需求测试要素
- 编写测试计划
- 设计测试用例
- 部署测试环境
- 编写测试脚本
- 分析测试结果
- 跟踪测试bug
- 维护测试脚本
标签:脚本,思想,理论,阶段,测试,自动化,驱动 From: https://www.cnblogs.com/Candy123/p/17491052.html