首页 > 其他分享 >第2章---自动化测试基础

第2章---自动化测试基础

时间:2022-09-26 14:48:26浏览次数:52  
标签:脚本 selenium2.0 --- 测试 自动化 驱动 工具

 

手工测试(以人为驱动):表示的针对被测系统或者软件实现业务流中的每条路径进行覆盖(每条用例进行手工执行);

  • 测试工程师在此过程中就会产生相应的一些弊端; 
  • 1.测试人员产生疲劳感
  • 2.测试效率不高
  • 3.每天重复执行测试用例

自动化测试(以工具为驱动):使用工具或者框架完成相应业务流的脚本设计,然后进行运行判断其产生的实际结果和预期结果一致的过程;

  • 注意:自动化测试主要是测试流程

问题:自动化直接可取代手工测试吗?

  • 不可能;
  • 1.手工测试是具有人为思想,可根据测试人员的思维方式进行多维度的测试;但是自动化测试是根据已设定的某种方式进行执行(固定);
  • 2.自动化测试无法完成每一阶段的所有测试;
  • 3.现如今自动化的成本实际相比以降低(因为现如今存在大量的开源自动化测试框架,自动化也得以发展)

自动化测试的使用阶段:回归测试阶段、版本迭代升级、大型的项目(业务流过多、用例过多)

自动化测试优点:1.效率高2.可以释放人力资源3.自动化测试可以使用工具进行模拟一些手工测试无法完成的场景测试4.自动化测试脚本和性能脚本可以相互引用

自动化测试缺点:1.成本高2.对测试人员要求高3.脚本的维护(脚本的定义规范(脚本名称、类名、方法名等一系列命名的规范)、脚本的设计规则(减少代码的重复性(使用面向对象的继承特征)、资源对象创建后需要将其进行关闭、减少死循环的产生和使用)、脚本的管理方式(版本管理工具git,svn))

自动化测试的发展过程:

  • 第一代自动化:使用工具实现录制-回放的模式;再通过工具上的某些功能点(参数化、检查点等)实现脚本的增强;经典的工具代表(传统性自动化测试框架QTP---------UFT:使用C语言进行编程,非纯C,描述性编程)09-11年盛行,当年的神坛,已经走向灭亡。Loadrunner一个月几十万,功能还是很不错,还在用。
  • 第二代自动化:数据驱动模式;实现数据与脚本代码的分离操作;将数据存储在指定的数据格式文件中(json,xml,csv,yaml,ini,dat,excel等)或者数据库中;数据驱动模式实际就是关键字驱动的低配;(以数据驱动业务)
  • 第三代自动化:关键字驱动模式;基于数据驱动实现进一步的封装;(以行为以动作进行驱动业务)会将所有的每一步操作封装在单独的类,单独的函数,一个函数或者一个类中的方法可以表示一个动作的完成;(login------->登录操作:提取关键字)

自动化测试的工具:QTP,LR,WebLoad,Robot、winrunner、开源:Jmeter、selenuim、appium、httprunner等

web自动化测试框架:selenium 硒 selenium是一款免费开源的web自动化框架,可以实现跨浏览器、跨平台、跨语言;兼容性强;

selenium的家族:selenium1.0、selenium2.0、selenim3.0 ,本人此时的selenium4.0已经使用化

  • selenium1.0=seleniumIDE+seleniumRC+seleniumGrid
  • selenium2.0=selenium1.0+webdriver
  • selenium3.0=selenium2.0-seleniumRC,基于selenium2.0基础上进行优化,并摒弃一些无用的浏览器的兼容;
  • seleniumRC:remote control:相当于建立一个服务,该服务完成脚本与浏览器之间的通讯操作;在selenium2.0版本将RC进行封装后得到的就是webdriver 

 

标签:脚本,selenium2.0,---,测试,自动化,驱动,工具
From: https://www.cnblogs.com/lirongyu-test/p/16730595.html

相关文章

  • SQL分类和DDL操作数据库-创建&查询
    SQL分类 1> DDL(Data Definition Language)数据定义语言 用来定义数据库对象:数据库,表,列等。关键字:create,drop,alter 等 2>DML(Data Manipulation Language)......
  • 基于el-dialog封装全局弹窗
    dialog<template><div><el-dialogtitle="切换考试"top="9vh":modal="false"width="600px":visible.sync="dialogVisible"@close="close":append-to-body......
  • Git:Github-SSH 配置(加密方式 Ecdsa)
    鼠标右键菜单>>GitBashHere配置用户名gitconfig–globaluser.name"用户名"配置电子邮箱gitconfig–globaluser.email"电子邮箱"以Ecdsa的方式生成SSH......
  • 简单记录-react学习,用函数式组件写井字棋
    React官方给定的教程,井字棋(tic-tac-toe),是使用class组件制作的,但是函数式组件才是未来,所以初学者的我用函数式组件重写一遍,简单记录一下。官方教程链接importReact,{u......
  • docker-compose安装
    执行命令sudocurl-Lhttps://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname-s`-`uname-m`-o/usr/local/bin/docker-composesu......
  • 技术分享 | 单元测试体系集成
    本文节选自霍格沃兹测试开发学社内部教材JUnit是一个基于Java语言的单元测试框架,可以用它来编写单元测试用例,用途广泛能被各种工具支持,每个JUnit单元测试相对独立,......
  • 直播系统搭建,el-table更改某行背景及文字样式
    直播系统搭建,el-table更改某行背景及文字样式1、el-table标签添加属性:row-class-name="tableRowClassName"2、定义属性方法 //row是获取到某一行的数据orderTimeF......
  • elasticsearch 5.6.16 x-pack license过期处理
    elasticsearch5.6.16x-packlicense过期处理访问官网申请免费license即可,地址为:https://register.elastic.co/marvel_register升级至6.3+版本,高版本的基础版该功......
  • 知识点2-1 B+树(5)myISAM简介
    myISAM简介MyISAM的B+Tree的叶子节点上的data,并不是数据本身,而是数据存放的地址。主索引和辅助索引没啥区别,只是主索引中的key一定得是唯一的。这里的索引都是非聚簇索引......
  • Java登录专题-----创建用户(一)
    Java登录专题-----创建用户(一)我来填坑了创建用户入参应该包括:用户姓名,用户密码,用户手机号,用户所属机构用户版本号,角色id 出参:没有 数据结构:JavaBean  ......