测试管理工具
1.比较流行的项目管理工具:jira、tapd、禅道
2.禅道:可以管理整个软件开发的生命周期,项目管理工具,产品经理、项目经理、开发人员、测试人员都可以使用禅道。
产品经理:管理产品---创建产品、创建需求、创建计划、版本发布
项目经理:创建一个项目(迭代)---关联需求、分配任务、组建团建
开发人员:领取和执行任务,确认BUG、修改BUG
测试人员:编写测试用例,执行测试用例,创建BUG(指定开发人员)
3.禅道管理测试的部分
需求管理分析
创建测试用例
管理测试用例(状态)
管理缺陷(创建、跟踪状态)
分析测试报告
自动化测试selenium1
- selenium工具的特点
1.轻量级、免费
2.支持多平台,比如浏览器:Firefox、Chrome
3.支持多语言 C#、JAVA
4.支持分布式
- UI自动化、接口自动化
1.UI自动化
阶段:产品后期
适用的项目:界面稳定、不频繁变化
2.接口自动化
阶段:产品前期(后台开发完成后)
适用项目:接口稳定
- 如何实施自动化测试
1.实施自动化测试的前提条件:系统稳定,不会频繁变动、项目周期足够长、自动化测试脚本可以重复使用
2.适合做自动化的项目
(1)产品项目(新版本在旧版本的基础上进行改进,功能变动不大的项目,但是新老功能都必须重复的进行回归测试)
(2)机械并频繁的测试(每次都要输入相同、大量的一些数据,并且在一个项目中运行的周期比较长)
3.如何实施自动化测试
(1)分析:总体把握系统逻辑,分析出系统的核心体系架构
(2)设计:设计测试用例,测试用例要清晰、明确、覆盖面广而精
(3)实现:实现脚本,两个要求一是断言,二是合理的运用参数化
(4)执行:脚本执行过程中的异常需要我们仔细的分析原因
(5)总结:测试结果的分析和测试过程的总结是自动化的关键
(6)维护
(7)分析:在自动化测试过程中深刻的分析自动化用例的覆盖风险和脚本维护的成本
- selenium工具集
1.工具集
selenium1:selenium IDE、selenium RC
selenium2:webdriver
selenium3:增加了一些浏览器的原生驱动
2.webdriver的工作原理
接到脚本的指令,将指令传给浏览器,驱动浏览器去执行这些脚本。
- 元素的定位
1.前提
(1)防止乱码:
coding=utf-8
(2)想使用selenium的webdriver里的函数,将包导入:
from selenium import webdriver
(3)操控某个想要操控的浏览器:
driver=webdrriver.Firefox()
(4)将浏览器最大化
driver.maximize_window()
(5)退出并关闭窗口的每一个相关的驱动程序(不仅关闭当前浏览器窗口,还会彻底退出webdriver)
driver.quit()
(6)关闭当前窗口:
driver.close()
2.对象的定位是自动化测试的核心,不管用哪种方式,必须保证页面上该属性的唯一属性
(1)id
driver.find_element_by_id("kw").send_keys("任豪图片") #在对象上模拟按键输入
driver.find_element_by_id("su").click() #点击对象
(2)xpath
定位元素源码所在的路径
driver.find_element_by_xpath("//*[@id='kw']").send_keys("任豪图片")
driver.find_element_by_xpath("//*[@id='su']").click()
(3)name
driver.find_element_by_name("wd").send_keys("R1SE")
#此时发现点击 百度一下 没有name
#说明不是所有元素都是有name的
driver.find_element_by_id("su").click()
(4)class name
#可能很多元素的class name都相同
driver.find_element_by_class_name("s_ipt").send_keys("谁都别吝啬")
driver.find_element_by_class_name("bg s_btn").click()
(5)tag name
#定位到的太多了,不是唯一的
driver.find_element_by_tag_name("input").send_keys("任豪 百度百科")
driver.find_element_by_id("su").click()
(6)link text
#定位链接 如何看是不是链接 源码标识a 链接必须唯一
driver.find_element_by_link_text("视频").click()
(7)partial link text
#partial link text 链接的一部分 链接必须唯一
#driver.find_element_by_partial_link_text("视").click()
(8)css selector(css选择器)
driver.find_element_by_css_selector("#kw").send_keys("任豪图片")
driver.find_element_by_css_selector("#su").click()