首页 > 其他分享 >自动化测试理论基础

自动化测试理论基础

时间:2023-06-19 14:34:35浏览次数:38  
标签:脚本 思想 理论 阶段 测试 自动化 驱动

  现如今身处测试行业尤其是进行功能测试的小伙伴,点点点成为其工作中的唯一,不知道自已应该做什么,职业发展也变得非常迷茫。如何打破现有的局面? 互联网上有很多规划发展方向的文章,但是无论选择哪一个方向都离不开技术,技术型方向是最实在、最佳的选择,所以自动化测试技术也就成为现如今测试市场的炙热话题和升职加薪的必备利器。


  自动化测试是一个非常大的概念,它是将人为驱动转化为机器执行的一种测试过程。从最早的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 软件开发周期角度分类

  1. UI自动化测试
  2. 接口自动化测试
  3. 单元自动化测试

 

1.3.2 测试目的角度分类

  1. 功能自动化测试
  2. 性能自动化测试

 

1.4 自动化测试的流程

  1. 可行性分析
  2. 分析需求测试要素
  3. 编写测试计划
  4. 设计测试用例
  5. 部署测试环境
  6. 编写测试脚本
  7. 分析测试结果
  8. 跟踪测试bug
  9. 维护测试脚本

 

标签:脚本,思想,理论,阶段,测试,自动化,驱动
From: https://www.cnblogs.com/Candy123/p/17491052.html

相关文章

  • mockito5.4.0单元测试(1) 官方文档地址
    mockito官方文档地址:https://www.javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html  end.......
  • 测试
    php反序列化1.常规构造POP链反序列化0x01字符逃逸型1.字符增加型需要一个可控点即可O:4:"test":0:{s:4:"name";s:25:"aaaaaaaaaaaaaaaaaaaaa";s:4:"name";s:4:"test";}";} 例:ctfshow2020年新春战“疫”—网络安全公益赛web22.字符减少型需要至少两个可控点O:4:"te......
  • auto.js自动化手机脚本初始配置
    软件选择:auto.js8.0pro版本(对比4.0版本有阉割,微信支付宝不能点)有两种模式:客户端模式服务器模式auto.js4.0版本有一种模式:客户端模式设备和电脑连接:手机:服务器模式:手机和电脑在同一局域网下相互连接。(手机电脑同wifi远程连接,稳定)客户端模式:电脑连接以太网(不是虚拟机的......
  • 小白学习MySQL - 随机插入测试数据的工具
    我们日常做一些MySQL测试的时候,经常要造数据,通常就写个循环插入数据的存储过程。前两天碰巧看文章说,mysql_random_data_load程序能向MySQL随机插入大量数据,于是了解一下。mysql_random_data_load是个开源的项目,github路径如下,https://github.com/Percona-Lab/mysql_random_data_loa......
  • Airtest图像识别测试工具原理解读&最佳实践 | 京东云技术团队
    1Airtest简介Airtest是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS。Airtest框架基于一种图形脚本语言Sikuli,引用该框架后,不再需要一行行的写代码,通过截取按钮或输入框的图片,用图片组成测试场景,这种方式学习成本低,简单易上手。2......
  • Airtest图像识别测试工具原理解读&最佳实践
    1Airtest简介Airtest是一个跨平台的、基于图像识别的UI自动化测试框架,适用于游戏和App,支持平台有Windows、Android和iOS。Airtest框架基于一种图形脚本语言Sikuli,引用该框架后,不再需要一行行的写代码,通过截取按钮或输入框的图片,用图片组成测试场景,这种方式学习成本低,简单易上手......
  • 测试总结
    1、物理机虚拟机docker、k8s1) 虚拟机没有硬件实体,物理机有(如服务器、PC),虚拟机是用物理机虚拟出来的硬件系统;2) 物理机是一个,虚拟机是多个;3) 物理机执行引擎建立在cpu、os和硬件层面上,虚拟机自己实现。Docker&&虚拟机1) docker是搭建于os上,在os层面虚拟化,虚拟机是在硬......
  • 兼容性测试如何提高网站的安全性?
    在今天的互联网时代,随着各种网络gong击和黑客活动的频繁发生,网站的安全性问题越来越引起人们的关注。而在提高网站安全性方面,兼容性测试是一个非常重要的环节。本文将从什么是兼容性测试、为什么兼容性测试可以提高网站的安全性、如何进行兼容性测试等方面展开阐述。什么是......
  • 测试接口文档流程
    安装jmeterwindows批处理jmeter启动(双击)获取tokenappKey=6773dfd985c249a69916445137fb46c8appSecret=151a36625370491e9e6ee2721a2fc664jmeter工具弃用,改为使用postman工具::::::@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@快速查看本机公网IP地址真香IT于2022-04......
  • 使用loadrunner11开展爆破测试
    备注:阅读本文需要一定的loadrunner11操作基础和代码编写基础,请各位预知。 本次爆破目标为pikachu靶场,访问地址:http://192.168.0.108/pikachu/我们本次测试默认的弱口令admin123456 1)使用函数声明变量msg,其中LB和RB是通过页面解析出来的左右边界,如果访问成功,LB和RB之间的......