禅道工具的使用
-
添加产品
步骤:
- 在“产品视图”中,单击“添加产品”按钮
- 在“新增产品”页面中,输入产品信息,单击“保存”按钮
说明:
产品由产品经理进行添加
产品类型:正常、多分支(PC、Android、Ios)、多平台(Windows、Linux、Uuix、Mac)
-
需求
步骤:
- 在“产品视图”中,单击“需求”菜单
- 在“工具栏”中,单击“提需求”按钮
- 在“提需求”页面中,输入需求信息,单击“保存”按钮
-
项目视图
主要功能: 添加项目、设置团队、关联需求、分解任务、概况
-
添加项目
步骤:
- 在“项目视图”中,单击“添加项目”按钮
- 在“添加项目”页面中,输入项目信息,单击“保存”按钮
说明:
项目由项目经理进行添加
项目类型:短期项目、长期项目、运维项目
-
团队
步骤:
- 在“项目视图”中,单击“团队”菜单
- 在“团队成员”页面中,单击“团队管理”按钮
- 在“团队成员”列表中,选择相应的成员,单击“保存”按钮
-
需求
步骤:
- 在“项目视图”中,单击“需求”菜单
- 在“需求列表”页面中,单击“关联需求”按钮
- 在“需求列表”中,选择要关联的需求,单击“保存”按钮
-
概况
通过概况可以了解项目的基本信息,可以对项目进行编辑、删除、开始、结束、延期、挂起(暂停)
-
分解任务
步骤:
- 在“项目视图”中,单击“需求”菜单
- 在“需求列表”中,选择一条需求,单击“分解任务”图标
- 在“建任务”页面中,输入任务信息,单击“保存”按钮
-
研发人员完成任务(编写代码)
步骤:
- 在“我的地盘”视图中,单击“任务”菜单
- 在“任务列表”中,单击“ID”编号
- 在“任务详情”页面中,单击“开始”按钮
- 根据需求描述和任务描述,编写代码,编写完成后,单击“完成”按钮
-
版本(Build)
版本: Release\Versions\Build
当研发人员完成若干功能后,就可以创建版本,版本由运维人员创建。
步骤:
- 在“项目视图”中,单击“版本”菜单
- 在“版本列表”页面中,单击“创建版本”按钮
- 在“创建版本”页面中,输入名称编号,单击“保存”按钮
说明:
版本名称编号命名规则:
产品名称_版本类型_时间
版本类型:TEST(测试版)\STABLE(稳定版)
-
-
测试视图
主要功能: 测试用例的管理,Bug的管理,提交测试
-
测试人员完成任务(编写测试用例)
步骤:
-
在“我的地盘”视图中,单击“任务”菜单
-
在“任务列表”中,单击“所属项目”链接
-
在“任务列表”中,根据“指派给”确认那条是自己的任务(红色),单击“开始”图标
-
根据“指派给”和“状态”(进行中),再次确认那条是自己的任务,单击“相关需求”链接
说明: 如果“相关需求”列没有显示,可以调整页面大小来显示(Ctrl -)
-
在“需求详情”页面中,阅读需求描述,分析需求,确认设计测试用例的方法,数据分析,标编号,单击“建用例”按钮
-
在“建用例”页面中,输入用例信息,单击“保存”按钮
-
重复上述步骤,直到用例编写完成,最后,单击“完成”按钮。
说明:
用例类型:功能测试、性能测试、安全相关、接口测试
用例标题格式:
产品/项目名称_模块名称_功能点数字编号
禅道项目管理系统_组织视图_部门_添加部门001
ZENTAO_ZZST_BM_TJBM001
-
-
导入测试用例
步骤:
-
在“测试视图”中,单击“用例”菜单
-
在“工具栏”中,单击“导出”,选择“导出模板”选项
-
在“导出”窗口中,字符编码集,选择“GBK”,单击“保存”按钮
-
在模板中,编写测试用例,完成后,并保存
说明: 保存后的文件名,以产品名称_模块名称命名。
-
在“工具栏”中,单击“导入”按钮
-
在“导入”窗口中,选择要导入的文件,选择字符编码集(GBK),单击“保存”按钮
-
-
导出测试用例
步骤:
- 在“测试视图”中,单击“用例”菜单
- 在“工具栏”中,单击“导出”选择“导出数据”选项
- 在“导出”窗口中,输入文件名,选择文件类型(csv/html),选择字符编码集(GBK),选择导出方式(全部/部分),单击“导出”按钮
-
性能测试
-
功能测试VS性能测试
-
功能测试:
QQ 软件 发信息的功能 能不能接收信息
12306购票系统 购票功能 能不能订购成功 如果失败 要有相对应的提示信息
-
性能测试:时间(快,慢),多用户(多,少)
- 前提:程序的功能已经通过测试(功能没有问题)
- 影响系统性能的因素:客户端、网络、域名服务器、服务器(被测系统)、代码、应用服务器、数据库、硬件(CPU、内存、磁盘)、操作系统等……
- 性能测试关心的两个词:请求、响应
- 请求:客户端向服务器发送的请求,如:请求登录系统,请求购买一张票,请求注册账号…
- 响应:服务器根据客户端提交的请求内容,做出相应的应答
-
性能测试概念:通过工具来模拟各种负载条件下的压力,对系统进行测试,验证各项性能指标(响应时间、用户数……)是否满足性能需求
-
性能测试流程
-
分析需求(找到测试点,预期值)
测试点:被测系统的功能点,并不是所有的功能点都需要测试,用户常用的、主要的、与数据库相关的一些功能点需要做性能测试
预期值:需求中各项性能指标的值
-
编写性能测试计划
-
执行测试(Jmeter)
-
分析结果
- 通过,出性能测试结果报告
- 不通过,分析定位性能瓶颈
-
-
并发与并行
并发: 在用户量很大的情况下同时访问共有资源 如果系统性能不好,并发访问系统,有可能导致服务响应时间较长,也有可能导致服务宕机。
并行: 多用户的情况下,这些用户(线程)各占自己的资源同时访问服务器
-
-
Jmeter概述
-
性能测试工具:
loadRunner
Jmeter
-
Jmeter
是Apache开源组织开发的纯Java桌面应用,可以用来模拟用户产生负载,完成性能测试工作-----性能测试工具Jmeter
既可以安装在windows上也可以安装在Linux上,但是LR只有Load Generator可以安装在Linux系统Jmeter
是纯Java开发的,一般的Java程序都能够进行测试- 运行
Jmeter
需要Java环境 配置环境变量 Jmeter
安装文件是绿色版,解压即可使用
-
Jmeter的安装
-
下载安装文件:http://jmeter.apache.org/(官网)
-
安装JDK(注意版本)
-
配置JDK的环境变量 JAVA_HOME: 配置jdk根目录 ClASSPATH 配置 . PATH 配置JDK 下面bin路劲
Jmeter JDK C:\Program Files\Java\jdk1.6.0
路径:C:\Program Files\Java\jdk1.6.0
%JAVA_HOME%\bin;
-
安装Badboy工具录制脚本
-
总结:
-
Jmeter:性能测试工具
启动:在Jmeter安装文件下的bin目录中,双击jmeter.bat文件即可C:\Jmeter\apache-jmeter-2.12\bin\jmeter.bat
-
JDK:Java环境,运行Jmeter时需要
-
Badboy:其他测试工具,为Jmeter录制脚本
-
webtours:被测系统
-
-
-
Jmeter体系结构
-
为了便于Jmeter的讲解,我们统一一下名词
- 元件:如果未做特殊说明,后面出现的元件代表Jmeter工具栏的一个子菜单(功能),如:线程组、逻辑控制器、HTTP请求、集合点、事务…..都是一个元件
- 组件:一组元件的集合(一个或多个元件),如:监听器、取样器、逻辑控制器……
-
Jmeter主要的功能模块(元件)
-
测试计划(test plan):Jmeter 的一个脚本就是一个测试计划,测试计划就是一个管理单元,管理着本次测试包含的所有内容,如:测试人员(线程组)、请求(脚本)、结果……
测试计划的几要素
- 要素一:一个脚本只能有一个测试计划,启动Jmeter就是一个测试计划
- 要素二:测试计划中至少有一个线程组(测试小组),也可以有多个
- 要素三:至少有一个取样器(请求)
- 要素四:至少有一个监听器(用来查看脚本运行结果)
-
工作台:元件的暂存区域,在测试过程中把暂时不用的元件放入其中,待需要时再放回测试计划中,工作台中的元件,不参与测试,关闭Jmeter将丢失
-
线程组(Threads(Users)):性能测试需要模拟大量用户负载的情况,线程组就是用来完成这个工作的,在此元件中可以设置运行测试的线程数(让多少测试人员来执行测试)
- 每个测试计划的第一步就是添加线程组,线程组是任何一个测试计划的开始点,所有的控制器和取样器都必须在线程组下
- 添加方式:右击测试计划->添加->Threads(Users)->线程组
-
取样器(Sampler):向服务器发送的请求
- 取样器是Jmeter向服务器发送请求的最小单元,每个取样器可以设置不同的属性
- 测试不同的被测系统,需要添加不同的取样器,如:测试web系统,需要添加HTTP请求,测试FTP系统,需要添加FTP请求,测试数据库系统,需要添加JDBC请求等……
- 添加方式:右击线程组->添加->Sampler->HTTP请求/FTP请求/Java请求……
-
监听器(Listener):收集测试结果并进行可视化
- 在不同的监听器中显示不同的结果数据,请求内容、响应内容、吞吐量、错误率、响应时间等……
- 常用的监听器:察看结果树、聚合报告、图形结果、以表格查看结果
- 添加方式:右击线程组->添加->监听器->察看结果树/合报告
-
逻辑控制器(Logic Controller):可以自定义Jmeter发送请求的行为逻辑,结合Sampler可以模拟复杂的请求顺序,让请求执行不同的次数,按照不同的顺序执行,满足什么条件才执行
常用的逻辑控制器:循环控制器、事务控制器、if 控制器
-
断言(Assertions):类似于Loadrunner中的检查点
- 通过对比返回的响应数据与预期数据,用来判断请求是否成功,压力测试(性能测试)的前提就是保证功能的正确
- 添加方式:右击取样器(请求)->添加->断言->响应断言
-
-
-
补充:负载测试和压力测试的区别?
- 共同点:都是在测试过程中逐步加压(递增测试)
- 负载测试
Load Testing
是在正常范围内测试,满足性能需求、正常运行; - 压力测试
Stress Testing
可以在极端范围内测试,测试系统的性能极值.
性能测试:HP LoadRunner11
-
初步概念:
-
功能测试:测试产品的功能是否满足功能需求。
如:ATM取款(在线取款)是否成功
或转账操作是否成功
--一个用户
-
性能测试:测试产品的性能是否满足性能需求。
包括指标:时间、多用户共同使用
如:ATM取款(在线取款)耗时30分钟
十万人同时转账,系统崩溃了,都属于性能问题。
结论:性能测试基于功能,其要求高于功能
测试基本流程:
功能测试、安全测试、性能测试
-
-
性能测试
性能测试工具:HP LoadRunner11 份额:60%
其它工具:JMeter 20%
-
LoadRunner的初级部分:三大组件的基本运行
- 脚本生成器:录制、调试、增强性能测试脚本
- 控制台:好比总指挥部
- 结果分析器:分析性能测试结果数据,获取性能测试报告
-
LoadRunner高级部分:三大组件深入掌握
-
理解并行与并发
并行 :多任务占据各自资源一起运行
并发 :多任务抢占少量资源“一起运行”--交替运行
-
-
性能测试的概念
模拟真实的生产环境,制定性能测试计划,模拟不同用户使用不同压力去访问被测系统,根据计划中的性能指标分析系统是否满足性能需求。
-
常见性能指标:平均事务响应时间、TPS 每秒事务数、最大并发用户数……
-
注意:性能测试之前要做好系统备份!
-
性能测试首先看性能需求,如果没有需求,要和客户交流,根据被测系统相关资料,结合测试经验,编写性能测试计划(设计),测试计划是后续展开性能测试的重要依据。
-
负载测试和压力测试的区别?
-
共同点:都是在测试过程中逐步加压(递增测试)
-
负载测试
Load Testing
是在正常范围内测试,满足性能需求、正常运行;
-
压力测试
Stress Testing
可以在极端范围内测试,测试系统的性能极值;
-
举例:性能需求中要求系统支持100用户并发
负载测试:20 40 60 80 100
压力测试:100 200 300 ...
-
影响性能的因素:
- 数据库:60%以上的性能问题和数据库有关
- 硬件配置:好的系统可伸缩 增加、去除设备改变性能
- 操作系统:Linux/Unix 一般和系统配置有关
- 其它:网络、网络协议、客户端等
-
-
QTP基本概念
-
QTP概述
- 为什么功能测试需要做自动化?
- 功能测试存在大量的回归测试、大数据量测试。
- 自动化测试工具更高效、更严格。
- 功能自动化测试的条件:
- 需求相对稳定
- 冒烟测试通过
- 测试周期比较长
- 工具选型(常用PC端功能自动化测试工具):
- QTP(或叫做UFT)
- Selenium
- WinRunner
- QARun
- Robot
QTP
:Quick Test Professional,是HP公司的产品,是一款用于做功能自动化测试的商业软件,升级到11.5以后改名为UFT,教学环境里使用的是QTP10.0版本。QTP使用编码语言是:VBS(VBScript)QTP支持:关键字驱动测试、数据驱动测试。
- 为什么功能测试需要做自动化?
-
QTP使用
-
QTP的启动:开始=》程序=》QTP=》QTP
-
插件管理对话框(Add-in Manager):
- 默认安装QTP时,有三个插件:ActiveX、Visual Basic、Web,但是还可以购买并加载更多的插件。
- 根据被测系统使用的技术来决定加载什么插件。
-
录制和回放(运行):
- 录制Record:测试工程师演示如果执行测试用例,QTP记录该过程为测试代码。
- 回放(运行)Run:QTP通过运行测试代码来自动在被测系统上操作来执行测试用例。
-
常用的配置:
-
恢复界面布局:QTP菜单=》Tools=》Options=》General=》点击“Restore Layout”按钮,点击OK。
-
调整运行速度方式:设置步骤间运行间隔时间。
说明:QTP有两种运行模式,是Normal正常模式和Fast快速模式,建议选择Normal,并且设置步骤间的间隔时间为1000左右,单位是毫秒。
注意:无法调慢速度,QTP需要安装DebuggerSetUp.exe
-
设置字号:QTP菜单=》Tools=>Options=>Fonts and Colors=>Size
-
设置专家视图是否显示行号:QTP菜单=》Tools=>Options=>General=》Show line numbers
-
QTP界面中间位置显示的两个视图:
-
关键字视图Keyword View:用表格形式记录测试步骤。
-
专家视图Expert View:用VBS源代码形式记录测试步骤。
这两个视图中的步骤是一一对应的。
-
案例:计算器,123+456=
C:\WINDOWS\system32\calc.exe
Test1001
-
-
自动启动方式录制窗口类应用程序:---重点!
-
点击New来新建测试代码
-
关闭防病毒类软件、翻译类软件、被测系统。
-
点击Record
-
在弹出的Record and Run Settings对话框中:
-
将Web选项卡选择第一个单选按钮
-
将Windows Applications中选择第二个单选按钮
-
三个复选框保持默认第一个和第三个勾选
-
点击绿色小加号按钮,在弹出对话框中点击“...”按钮来浏览到被测系统的启动文件(xx.exe),其他选项保持默认,点击OK
-
点击“确定”
注意:列表中不要添加多个相同应用程序。
-
-
在自动启动的被测系统中,按照设计好的测试用例文档中描述的步骤来操作。
注意:不要做多余的操作。
-
点击Stop停止录制
-
点击Save或Ctrl+S,选择保存路径,输入测试代码名称,点击Save
-
先关闭防病毒软件、翻译类软件、被测系统后,点击Run,选择结果保存方式:
-
New run results folder新建结果文件夹---默认选项
-
Temporary run results folder临时结果路径(每次覆盖上次的结果)
注意:运行过程中不要操作鼠标和键盘。
-
-
最后查看自动弹出的测试结果报告,Failed数为0代表正常。
-
-
Selenium概述
- Selenium是一款针对Web应用程序做功能自动化测试的工具。
- Selenium主要用于回归测试、大数据量测试、兼容性测试。
- Selenium优势:
- 开源免费
- 支持“三多”:
- 支持多种平台:Windows、Linux、Mac等。
- 支持多种浏览器:Firefox、IE、Chrome、Safari等。
- 支持多种编程语言:Java、Python、C#、Ruby等。
- 代码更小巧、简洁、灵活。
- Selenium劣势:
- 功能有限,不能测试C/S结构的被测系统。
- 几乎没有图形化界面,学习成本高。
- 有很多组件。
- Selenium组件:
- Selenium Core:核心,有由JavaScript代码组成的代码资源库。
- Selenium IDE:是Firefox的插件,有图形化界面,支持录制和回放,可以转换代码格式,适合初学者使用,功能有限。
- Selenium RC:是Selenium 1.0版本最主要的组件,支持“三多”,功能强大,没有图形化界面,公司使用很少。
- Selenium WebDriver:是Selenium 2.0和3.0版本最主要组件,支持“三多”,最流行。---重点!
- Selenium Grid:实现并行、分布式测试,提升测试效率。
- 初学者做自动化测试的流程:
- 在Firefox中使用Selenium IDE录制代码、调试。
- 转换代码格式为支持Webdriver的高级语言的格式。
- 利用高级语言语法和Webdriver API进一步增强代码。
- 集成JUnit或TestNG等单元测试框架来批量运行代码,查看测试结果。