技术体系

  • 基于代码的测试(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. 多线程threading.local的作用及原理?

    1.示例代码 import time import threading v = threading.local() def func(arg): # 内部会为当前线程创建一个空间用于存储:phone= ...

  2. tornado web应用程序结构

    tornado web 应用程序通常包含一个或者多个RequestHandler 子类,一个Application 对象来为每个控制器路由到达的请求和一个mian()函数 import tornado ...

  3. 信息安全意识教育日历——By 安全牛

    安全牛:企业即使投入再好的信息安全技术和产品,也难以解决内部威胁以及社会工程等攻击手段,无法做到全面有效地保护企业信息资产.而通过开展员工的信息安全意识培训教育工作,不仅能降低企业风险.满足合规要求, ...

  4. Nginx+Springboot+Vue 前后端分离 解决跨域问题

    1:前端vue 写完 打包 npm run build prod 2: 后端api 写完打包 springboot mvn package -Dmaven.test.skip=true 3: ngin ...

  5. 关于java.lang.NoSuchMethodError: org.slf4j.spi.LocationAwareLogger.log

    配置JFinal环境时,jar包已导入,web.xml已配置,Config也已经配置好,测试服务器时不停地出现 Exception in thread "main" java.la ...

  6. java基本类型和包装器类

    java是一种面向对象语言,java中的类把方法与数据连接在一起,并构成了自包含式的处理单元.但在java中不能定义基本类型(primitive type),为了能将基本类型视为对象来处理,并能连接相 ...

  7. 『NiFi 学习之路』资源 —— 资料汇总

    一.概述 由于 NiFi 是一个比较新的开源项目,国内的相关资料少之又少. 加之,大家都知道,国内的那么些个教程,原创都只是停留在初级使用阶段,没有更多深入的介绍. 再者,其余的文章不是东抄抄就是西抄 ...

  8. Codeforces Round #396 (Div. 2) D. Mahmoud and a Dictionary

    地址:http://codeforces.com/contest/766/problem/D 题目: D. Mahmoud and a Dictionary time limit per test 4 ...

  9. CodeForces - 920F SUM and REPLACE (线段树)

    题意:给N个数M次操作,(1<=N,M<=3e5, 1<=ai<=1e6),1是使[L,R]中的每个元素变成其因子的个数之和:2是求[L,R]区间之和 分析:看上去就很线段树的 ...

  10. 【Flask】WTForms文件上传下载

    # 文件上传笔记:1. 在模版中,form表单中,需要指定`encotype='multipart/form-data'`才能上传文件.2. 在后台如果想要获取上传的文件,那么应该使用`request ...