技术体系

  • 基于代码的测试(Code-Based Testing)
  • 基于协议的测试(Protocol-Based Testing)
  • 基于界面的测试(GUI-Based Testing)

工作原理

  • 基于代码

      • 定义期望结果
      • 调用被测对象
      • 对比实际结果
      • 难点:1.前置条件或环境的准备;2.被测代码又大量的异常

      优点:1.容易实施;2.原理简单;3.不需要太复杂的编程能力
  • 基于协议
    • 并非直接调用代码,而是模拟用户发送数据包
    • 典型的接口测试,偏黑盒
    • 非常清楚协议的工作过程
    • 能够利用编程语言来操作协议
    • 经常用于安全性测试,可靠性测试,性能测试,功能测试
    • 多线程,基于协议的测试方法
  • 基于界面
    • 对象识别
      • 坐标定位:按键精灵
      • 图像识别:Sikuli IDE
      • 特征识别:最稳定的手段

软件测试分类

  • 根据项目流程分:单元测试-》集成测试-》系统测试-》验收测试
  • 白盒测试、黑盒测试、灰盒测试
  • 功能测试(逻辑功能测试,界面测试,易用性测试,安装测试,兼容性测试等)、性能测试(时间性能,空间性能)
  • 手工测试、自动化测试(功能自动化测试,性能自动化测试)
  • 冒烟测试、回归测试、随机测试、探索性测试和安全测试

分层的自动化测试

  • 单元自动化测试(70%)

    • Java:Junit、TestNG
    • C#:NUnit
    • Python:unittest、pytest
  • 接口自动化测试(20%)
    • 内部接口

      • 浏览器与服务器的接口。前端调用后端接口获得所需要的数据,通常通过HTTP协议实现前后端的数据传递
      • HTTP协议测试:HttpUnit、Postman
      • Webservice协议测试:SoapUI
    • 外部接口
      • 指调用的接口由第三方系统提供。例如第三方登录,第三方支付等。
  • UI 自动化测试(10%)
    • UI展示层:UFT、Watir、Robot Framework、Selenium等
    • 前端代码:QUnit,针对 JavaScript 的一个强大的单元测试框架

什么样的项目适合自动化测试

  • 软件需求变动不频繁
  • 项目周期较长
  • 自动化测试脚本可重复使用

自动化测试工具简介

  • 代码级

    • 单元测试框架:JUnit,GoogleTest,TestNG,PyUnit,CppUnit...
  • 协议级
    • 接口,性能,安全:SoapUI,JMeter,HP-LoadRunner,IBM-RPT,AppScan...

  • 界面级
    • HP-QTP,Selenium,IBM-RFT,Sikuli IDE,Robot Framework...

前端技术介绍

  • HTML
  • JavaScript
  • XML

前端工具介绍

  • FireBug
  • FirePath
  • Chrome开发人员工具

***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***

Selenium学习笔记(1) - 自动化测试体系与原理的更多相关文章

  1. ZooKeeper学习笔记(二)——内部原理

    zookeeper学习笔记(二)--内部原理 1. zookeeper的节点的类型 总的来说可以分为持久型和短暂型,主要区别如下: 持久:客户端与服务器端断开连接的以后,创建的节点不会被删除: 持久化 ...

  2. Netty 学习笔记(1)通信原理

    前言 本文主要从 select 和 epoll 系统调用入手,来打开 Netty 的大门,从认识 Netty 的基础原理 —— I/O 多路复用模型开始.   Netty 的通信原理 Netty 底层 ...

  3. Selenium 学习笔记(一)

    selenium 学习整理 初学者,如果有不当得地方请指出,非常感谢. 准备事项: 1. Python 安装包 安装Python,并勾选添加环境变量. 安装完成后,打开dos窗口,输入python,看 ...

  4. TensorFlow学习笔记之--[compute_gradients和apply_gradients原理浅析]

    I optimizer.minimize(loss, var_list) 我们都知道,TensorFlow为我们提供了丰富的优化函数,例如GradientDescentOptimizer.这个方法会自 ...

  5. Web自动化测试Selenium 学习笔记(一)

    1.Web自动化测试简介自动化基础:自动化用例编写.Selenium优势及原理.自动化环境搭建Selenium基础:常见8大元素定位(表格).常见元素处理.下拉框元素处理.不同窗口切换.元素进阶.元素 ...

  6. 【学习笔记】大数据技术原理与应用(MOOC视频、厦门大学林子雨)

    1 大数据概述 大数据特性:4v volume velocity variety value 即大量化.快速化.多样化.价值密度低 数据量大:大数据摩尔定律 快速化:从数据的生成到消耗,时间窗口小,可 ...

  7. selenium学习笔记11——driver.get(url) 页面加载时间太长

    在执行自动化测试用例过程中,发现因为网络慢或其他原因导致driver.get(url) 时,页面一直在加载,页面没有加载完成就不会去继续执行下面的动作,但是实际上需要操作的元素已经加载出来了. 解决方 ...

  8. selenium 学习笔记 ---新手学习记录(1) 问题总结

    说明:每次学习各种语言时,环境搭建访问国外网址最头疼了,现在只要是工具下载好放到自己网盘,可以随时用. 1.首先工具准备,selenium需要用到的 下载地址 访问密码 ff8f 2.我选择的语言时j ...

  9. Three.js 学习笔记(1)--坐标体系和旋转

    前言 JavaScript 3D library The aim of the project is to create an easy to use, lightweight, 3D library ...

随机推荐

  1. ArcGIS runtime for wpf 部署

    简介 ArcGIS runtime for wpf 是一个轻量级的产品,部署方便,甚至可以做到直接部署在U盘中,做到即插即用. 部署一般需要遵循如下几个步骤: 1. 设定部署许可 虽然ArcGIS r ...

  2. Delphi日期设置为NULL

    在某些情况下,需要将日期字段的值置空,这种操作比较麻烦.在操作的时候,可将变量的值(t:TDateTime)设置为0,在操作的过程中进行判断,当t的值为0或-1的时候,时间值为1899年的Delphi ...

  3. JMH 性能测试框架

    参考 1 Java 并发编程笔记:JMH 性能测试框架  http://blog.dyngr.com/blog/2016/10/29/introduction-of-jmh/ 2  Code Samp ...

  4. 使用数组初始化list

    ArrayList<String> names = new ArrayList<String>(Arrays.asList("Delete","I ...

  5. MongoDB-2:MongoDB添加、删除、修改

    一.简介 MongoDB是一个高性能,开源,无模式的文档型数据库,是当前NoSQL数据库产品中最热门的一种.数据被分组存储在数据集中,被称为一个集合(Collenction)和对于存储在MongoDB ...

  6. django_视图层/2.0路由层/虚拟环境

  7. session补充

  8. Docker下载地址(官网实在太慢)

    官网因为大家都懂得各种原因,访问简直慢如狗. 找到一个网站,下载很快. 如下: https://oomake.com/download/docker-windows

  9. tornado项目下路由系统的使用?

    路由系统 在web框架中,路由表中的任意一项是一个元组,每个元组包含pattern(模式)和handler(处理器).当httpserver接收到一个http请求,server从接收到的请求中解析出u ...

  10. BFC(Block Formatting Context)基础分析

    W3C官方对于BFC的描述只有3小段,强烈建议想理解BFC的朋友先去看看,链接见文末. 常见的文档流分为:定位流.浮动流.普通流3种.BFC是普通流中的一种. 本文提出3个问题并给出使用BFC来解决这 ...