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 ...
随机推荐
- Oracle数据库命令行下数据的导入导出
//设置导入导出字符集,导入导出都要设置一下 export NLS_LANG=AMERICAN_AMERICA.ZHS16GBK //导出 exp system/oracle@orcl file=/u ...
- Spring 框架的JDBC模板技术
1. 概述 Spring 框架提供了很多持久层的模板类来简化编程; Spring 框架提供的JDBC模板类: JdbcTemplate 类; Spring 框架提供的整合 Hibernate 框架的模 ...
- python2 打印菱形
程序分析:先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列. 程序源代码: #!/usr/bin/python # -*- coding: UT ...
- yield的表达式形式、面向过程编程(grep -rl 'root' /etc)
一.yield的表达形式 def foo(): print('starting') while True: x=yield None#return 2 print('value :',x) g=foo ...
- java 自制Tomcat Andorid IOS 端 证书
java 自制证书 最近做项目用到Https 需要自制各种证书,Tomcat 用的JKS 格式, Andorid 端使用 BKS 格式, IOS 端使用 P12格式正式, 以及各种证书格式之间的转换. ...
- Django 之基础学习
阅读目录 配置 视图层之路由系统配置 模版层 模版过滤器 request & response Ajax Cookie Session 分页 文件传输 Django MTV模型 Django ...
- git--公司中暂时用到的命令操作
使用的版本控制工具 git + phabricator arc Phabricator是软件开发管理工具,集成了code review, task tracking, version control ...
- $python虚拟化运行环境——virtualenv
介绍 virtualenv是一种虚拟化环境,可以理解为创建了一个虚拟化的pyhon运行空间,可以从新安装各种库,而与本机环境互不影响,互相隔离. 安装及使用 首先要安装包管理工具pip(pip的使用详 ...
- 如何自定义echarts 线性图的选择事件
最近在做公司的数据大盘,要用到图表显示,echarts研二的时候有用过,我就决定用它了. 这里用到一个可以同时显示多条曲线的line-charts,基本样子如下: 看到这个画红色圈圈的地方了吗??? ...
- lua身份证号码验证~
--验证身份证信息 --只支持18位身份证的验证 --[[ #身份证18位编码规则:dddddd yyyymmdd xxx y #dddddd:地区码 #yyyymmdd: 出生年月日 #xxx:顺序 ...