Selenium学习笔记(1) - 自动化测试体系与原理
技术体系
- 基于代码的测试(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) - 自动化测试体系与原理的更多相关文章
- ZooKeeper学习笔记(二)——内部原理
zookeeper学习笔记(二)--内部原理 1. zookeeper的节点的类型 总的来说可以分为持久型和短暂型,主要区别如下: 持久:客户端与服务器端断开连接的以后,创建的节点不会被删除: 持久化 ...
- Netty 学习笔记(1)通信原理
前言 本文主要从 select 和 epoll 系统调用入手,来打开 Netty 的大门,从认识 Netty 的基础原理 —— I/O 多路复用模型开始. Netty 的通信原理 Netty 底层 ...
- Selenium 学习笔记(一)
selenium 学习整理 初学者,如果有不当得地方请指出,非常感谢. 准备事项: 1. Python 安装包 安装Python,并勾选添加环境变量. 安装完成后,打开dos窗口,输入python,看 ...
- TensorFlow学习笔记之--[compute_gradients和apply_gradients原理浅析]
I optimizer.minimize(loss, var_list) 我们都知道,TensorFlow为我们提供了丰富的优化函数,例如GradientDescentOptimizer.这个方法会自 ...
- Web自动化测试Selenium 学习笔记(一)
1.Web自动化测试简介自动化基础:自动化用例编写.Selenium优势及原理.自动化环境搭建Selenium基础:常见8大元素定位(表格).常见元素处理.下拉框元素处理.不同窗口切换.元素进阶.元素 ...
- 【学习笔记】大数据技术原理与应用(MOOC视频、厦门大学林子雨)
1 大数据概述 大数据特性:4v volume velocity variety value 即大量化.快速化.多样化.价值密度低 数据量大:大数据摩尔定律 快速化:从数据的生成到消耗,时间窗口小,可 ...
- selenium学习笔记11——driver.get(url) 页面加载时间太长
在执行自动化测试用例过程中,发现因为网络慢或其他原因导致driver.get(url) 时,页面一直在加载,页面没有加载完成就不会去继续执行下面的动作,但是实际上需要操作的元素已经加载出来了. 解决方 ...
- selenium 学习笔记 ---新手学习记录(1) 问题总结
说明:每次学习各种语言时,环境搭建访问国外网址最头疼了,现在只要是工具下载好放到自己网盘,可以随时用. 1.首先工具准备,selenium需要用到的 下载地址 访问密码 ff8f 2.我选择的语言时j ...
- Three.js 学习笔记(1)--坐标体系和旋转
前言 JavaScript 3D library The aim of the project is to create an easy to use, lightweight, 3D library ...
随机推荐
- Java 语言基础之语句
程序的四种流程控制结构: 顺序结构 判断结构 : if 语句 选择结构 : switch 语句 循环结构 : while 语句, do...while 语句, for 语句 以下主要分析循环结构: w ...
- 转!!xss漏洞
参考资料 https://blog.csdn.net/jiangzhexi/article/details/56841793 http://www.freebuf.com/articles/web/4 ...
- Linux(8)- nginx+uWSGI+virtualenv+supervisor 发布web服务器
一.理论梳理 WSGI是web服务器的网关接口,它是一个规范,描述了web服务器(下图中的WEB server)如何与web应用程序(下图中的Application)通信,以及web应用程序如何链接在 ...
- J2EE之JPA
POJO(plain old java object普通java类):具有setter/getter方法的Java类就称为POJO POJO转化为实体,手工使用标记, @Entity public c ...
- DBMS_MONITOR程序开启10046事件
在具有连接池或共享服务器的多层环境中,一个会话可以跨越多个进程,甚至跨越多个实例.DBMS_MONITOR是在Oracle 10g中引入的内置的程序包,通过该程序包可以跟踪从客户机到中间层.再到后端数 ...
- 基于对象的跨表查询,多对多查询,多对多操作,聚合查询和分组查询,F查询和Q 查询
基于对象的跨表查询 一对多查询(班级表和学生表) 表结构创建 class Class(models.Model): id = models.AutoField(primary_key=True) cn ...
- 常用restful路由
tax_categories GET /tax_categories(.:format) tax_categories#index POST /tax_categories(.:format) tax ...
- Java消息队列ActiveMQ (一)--JMS基本概念
摘要:The Java Message Service (JMS) API is a messaging standard that allows application components bas ...
- URAL - 1902 Neo-Venice
题目: Mars was the first planet colonized by humans. After a long terraforming process its appearance ...
- 用HAProxy和KeepAlived构建高可用的反向代理系统
对于访问量较大的网站来说,随着流量的增加单台服务器已经无法处理所有的请求,这时候需要多台服务器对大量的请求进行分流处理,即负载均衡.而如果实现负载均衡,必须在网站的入口部署服务器(不只是一台)对这些请 ...