技术体系

  • 基于代码的测试(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. BaseAction 类

    public class BaseAction<T> extends ActionSupport implements ModelDriven<T>{ // 1. 封装数据 p ...

  2. JS练习--自动生成100个li

    点击按钮,自动生成100个li,红.黄.蓝.绿四种颜色的顺序显示出现在页面中 CSS: ;;} ul,li{list-style: none;} #ul1{position: relative;} # ...

  3. iframe下元素定位

    1.iframe基础知识: <frameset>生成的框架结构是依赖上级空间尺寸的,它的宽度或者高度必须有一个和上级框架相同.而<iframe>浮动框架可以完全由指定宽度和高度 ...

  4. Django之html-模板继承

    在编程的过程中,我们经常会重复性的写了很多的代码,比如一个页面的框架部分,这样我又多少个页面就得写上多少次,这样既不好维护,也不够高效,所以我们引出了html的模板继承部分. 1.写好一个html文件 ...

  5. windows下的Mysql安装与基本使用(zip)

    一.安装过程 Mysql社区版下载地址:http://dev.mysql.com/downloads/mysql/ --注意,已管理员身份运行cmd.exe,很重要!!目录在,c:\windows\s ...

  6. Win7中的IIS配置asp时出现“出现403 文件夹禁止訪问错误”!

    Win7中的IIS配置asp时出现"出现403 文件夹禁止訪问错误"! 在[默认文档]中设一下启动文件即可了.

  7. NoSQL选型及HBase案例详解(转)

    从 NOSQL的类型到 常用的产品,我们已经做过很多关于NoSQL的文章,今天我们从国内著名的互联网公司及科研机构的实战谈一下NoSQL数据库. NoSQL一定程度上是基于一个很重要的原理—— CAP ...

  8. 简明python教程五----数据结构(下)

    引用 当你创建一个对象并给它赋一个变量的时候,这个变量仅仅引用那个对象,而不是表示这个对象本身!即,变量名指向你计算机中存储那个对象的内存. print 'Simple Assignment' sho ...

  9. sizeof 是编译时运算符

    typedef char RT1;typedef struct{ char a[2]; } RT2;template<typename T> RT1 test(typename T::X ...

  10. rsync高级同步

    rsync是一款开源的.快速的.多功能的.可实现全量及增量的本地或远程数据同步备份工具.适用于unix/linux/windows等多种操作系统平台. 两台机器拷贝数据scp,nfs(linux之间) ...