技术体系

  • 基于代码的测试(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. Runtime Error! R6025-pure virtual function call 问题怎么解决

    一.故障现象:1.360软件的木马查杀.漏洞修复等组件不能使用,提示runtime error2.暴风影音等很多软件不能正常使用3.设备管理器不能打开,提示“MMC 不能打开文件”4.部分https安 ...

  2. Python爬虫之-Requests

    Requests模块 Python标准库中提供了:urllib.urllib2.httplib等模块以供Http请求,但是,它的 API 太渣了. 它是为另一个时代.另一个互联网所创建的.它需要巨量的 ...

  3. rest_framework之访问频率控制

    一  自定义频率控制类 class MyThrottle(): visitor_dic = {} def __init__(self): self.history = None def allow_r ...

  4. 小木虫emuch遭封禁,新域名muchong.com尚可用

    各位虫友: 因为小木虫站点个别虫子违反论坛规定,擅自上传了政治擦边的违规资源.导致小木虫域名 emuch.net 被通信局封禁! 我们第一时间对违规资源进行了删除处理,接下来.我们也将大批量的对站内的 ...

  5. 008-shiro与spring web项目整合【二】认证、授权、session管理

    一.认证 1.添加凭证匹配器 添加凭证匹配器实现md5加密校验. 修改applicationContext-shiro.xml: <!-- realm --> <bean id=&q ...

  6. VIM 配置python

    Pre-install sudo yum install automake gcc gcc-c++ kernel-devel cmake sudo yum install python-devel p ...

  7. Hbase 学习笔记1----shell

    Hbase 是一个分布式的.面向列的开源数据库,其实现是建立在google 的bigTable 理论之上,并基于hadoop HDFS文件系统.     Hbase不同于一般的关系型数据库(RDBMS ...

  8. SLF4J日志系统在项目导入时频现的问题

    一.概述 近期在导入一个已有的项目时,日志系统出现了一个问题.错误信息如下: SLF4J问题 SLF4J: Failed to load class "org.slf4j.impl.Stat ...

  9. 对Servlet请求或响应进行JMockit测试

    对Servlet请求及响应进行mock方法, 通过getMockInstance方法对servlet进行打桩,对servlet提供的方法进行mock,替代真正的servlet请求或响应. 参考链接: ...

  10. redis 系列文章推荐

    推荐博客: Redis在linux上的安装: http://www.open-open.com/lib/view/open1426468117367.html Redis的三种启动方式: http:/ ...