目录
一、禅道
1.为什么需要禅道?(仅从测试角度看)
2.管理工具的对比
3.禅道的设计理念
4.软件开发的生命周期有哪些?(软件开发的流程)
二、selenium
1、什么是自动化测试?
2.UI自动化的好处
3.自动化框架
4.webdiver原理
5.selenium IDE
一、禅道
项目软件管理工具,可以管理整个软件开发的生命周期。
1.为什么需要禅道?(仅从测试角度看)
(1)管理测试用例
(2)管理Bug和Bug的各种状态
(3)管理测试的整个过程(状态)
(4)自动生成测试报告
2.管理工具的对比
QC/CQ 商业版本
jira 管理整个项目周期 商业版本
TsetLink 开源 只管理测试用例 比较局限
Bugzilla 只管理bug的生命周期
禅道 开源版 可以管理软件整个开发流程,即软件测试的流程
3.禅道的设计理念
敏捷开发模型
禅道的使用者:产品经理 项目经理 开发人员 测试人员 系统管理员
不同的角色拥有的权限不一样
4.软件开发的生命周期有哪些?(软件开发的流程)
需求阶段——计划阶段——设计阶段——编码——测试——发布阶段
二、selenium
1、什么是自动化测试?
自动化的价值:脚本的复用率。复用率越高,价值越大
在预设条件(自动化脚本)下运行系统,预设的条件包括正常的和异常的情况,不需要手工去干预,机器就可以去执行
越往下,测试效率越高,定位问题越容易。主要精力放在单元测试自动化。
(1)单元测试
Java Junit(白盒测试) 适用于项目比较庞大的系统,Spring +Structs +数据库hibernate。
如果用main方法进行测试,就需要把整个项目启动起来。
使用Junit就非常方便
(2)接口测试
测试时间:项目前期接口开发完成,就可以开始进行测试
用例维护量:比较少
适合的项目:接口变动较少的项目
(3)UI自动化
对系统的界面元素进行操作,用脚本模拟用户的使用,完成功能的正常和异常测试。
测试时间段:项目后期,前后端的开发和调联后
用例维护量:比较大
适合的项目:界面元素变动比较小的项目
2.UI自动化的好处
(1)可以进行回归测试
(2)节约了资源(人力资源)
(3)是一种可靠的测试方式,因为机器不会出错
(4)可以完成很多繁琐的测试(比如测试过程一直,每次输入的数据不同,ddt)
(5)能够完成手工测试无法完成的测试用例(精准计时)
(6)脚本的复用性(复用性越大,价值越高)
3.自动化框架
Robot Framework 关键字驱动,底层实现语言是Python
Django 接口 使用Python
selenimu unittest框架 Python
为什么选择selenimu? 免费 小巧 易安装
支持多语言:Java、C#、Python、C、JavaScript
支持多平台:Windows、MAC、Linux
支持多浏览器:Chrome、Edge、Firefox、Safair
多浏览器、多平台的好处:进行兼容性测试
支持分布式测试:selenimu Grid
4.webdiver原理
(1)运行脚本,会把浏览器绑定到一个端口,这个端口就是浏览器端的remote server
(2)脚本通过commandexecutor向浏览器(server)发送HTTP请求,控制浏览器进行一系列的操作
(3)server接受到请求之后,把web service命令转化为浏览器的native指令,去操作浏览器
5.selenium IDE
一个录制自动化脚本的工具
Firefox无需翻墙,在扩展和主题下载selenium IDE