自动化测试培训课件PPT
合集下载
自动化测试讲解 PPT课件
5
一、简述自动化测试框架
• 也许很多人印象里的自动化测试框架就是一个能够进 行自动化测试的程序似的。其实这不全面,真正的自 动化测试框架可以不是一个程序,它仅仅是一种思想 和方法的集合,说白了,就是一个架构,大家应该都 知道操作系统其实也是一个架构吧,你可以把其理解 成一个基础的自动化测试框架为一个简单的操作系统, 它定义了几层架构,定义了各层互相通信的方式。通 过这个架构我们才能在上面进行拓展我们的测试对象 (核心体)、测试库(链接库)、测试用例集(各个 windows进程)、测试用例(线程),而其之间的通 过参数的传递进行通信(即相当于系统中的消息传 递)。
重要性不言而喻; • 集成测试在很多情况下非常适合使用自动化的手段去运行,最明显的例子是rails里的integration test;
(unit test:就是独立测试每个功能块的功能.integration test:是测试那些有相互联系的功能块之间的 联系, 和共同运行的结果.system test: 测试整个系统,所有的功能块都要考虑.) • 当单元测试和集成测试都没做好,甚至是没有做的情况下,UI级的自动化测试可以扮演救火队员的 角色,尽管成本很高,但是可维护的UI测试代码是回归测试的福音,也是提高测试生产力的重要手 段; • 自动化测试可以培养团队,一个团队如果可以把自动化测试做好,那么他们的开发水平一定不低, 而且如果这些人去做开发,代码的质量反而比一般的开发人员要高,原因很容易理解,测试人员坚 信没有测试过的东西就是不可信的,代码如果没有被测试过,那么代码自然是不可信的,不可信的 代码就需要用单元测试去覆盖,因此这可以从根本上提高代码的质量。 那么自动化测试如何去学习呢?这里给出一个很平滑的线路图。 • 学习一门脚本语言,ruby python or javascript。当然,如果你信仰优雅,追求美感的话,你可以学 习ruby(本框架使用的语言) • 学习语言的过程是漫长而枯燥的,你可以通过使用selenium webdriver api来更加有效率的学习。在 学会自动化测试的同时也搞定了一门语言,而且每一步都很有成就感。
一、简述自动化测试框架
• 也许很多人印象里的自动化测试框架就是一个能够进 行自动化测试的程序似的。其实这不全面,真正的自 动化测试框架可以不是一个程序,它仅仅是一种思想 和方法的集合,说白了,就是一个架构,大家应该都 知道操作系统其实也是一个架构吧,你可以把其理解 成一个基础的自动化测试框架为一个简单的操作系统, 它定义了几层架构,定义了各层互相通信的方式。通 过这个架构我们才能在上面进行拓展我们的测试对象 (核心体)、测试库(链接库)、测试用例集(各个 windows进程)、测试用例(线程),而其之间的通 过参数的传递进行通信(即相当于系统中的消息传 递)。
重要性不言而喻; • 集成测试在很多情况下非常适合使用自动化的手段去运行,最明显的例子是rails里的integration test;
(unit test:就是独立测试每个功能块的功能.integration test:是测试那些有相互联系的功能块之间的 联系, 和共同运行的结果.system test: 测试整个系统,所有的功能块都要考虑.) • 当单元测试和集成测试都没做好,甚至是没有做的情况下,UI级的自动化测试可以扮演救火队员的 角色,尽管成本很高,但是可维护的UI测试代码是回归测试的福音,也是提高测试生产力的重要手 段; • 自动化测试可以培养团队,一个团队如果可以把自动化测试做好,那么他们的开发水平一定不低, 而且如果这些人去做开发,代码的质量反而比一般的开发人员要高,原因很容易理解,测试人员坚 信没有测试过的东西就是不可信的,代码如果没有被测试过,那么代码自然是不可信的,不可信的 代码就需要用单元测试去覆盖,因此这可以从根本上提高代码的质量。 那么自动化测试如何去学习呢?这里给出一个很平滑的线路图。 • 学习一门脚本语言,ruby python or javascript。当然,如果你信仰优雅,追求美感的话,你可以学 习ruby(本框架使用的语言) • 学习语言的过程是漫长而枯燥的,你可以通过使用selenium webdriver api来更加有效率的学习。在 学会自动化测试的同时也搞定了一门语言,而且每一步都很有成就感。
TestComplete自动化测试培训PPT课件
弊端版本发布频繁系统部分功能很稳定每次发布新版本时这部分功能基本没有更改根据测试工具的特点及当前测试人员掌握的技术分析稳定的功能哪些适合做自动化2222测试实践测试实践3333认识认识testcompletetestcomplete1111了解自动化了解自动化脚本所支持的语言多样性便宜测试架构清晰简单易用查看测试结果执行测试强化脚本录制脚本关联录制的应用程序新建project2222测试实践测试实践3333认识认识testcompletetestcomplete1111了解自动化了解自动化检查测试结果回放脚本使用ado参数化添加判断录制一个普通电话受理实例1
12
13
➢ 识别验证码
➢ 说明:通过第三方的工具,在脚本里面进行调用从而实现对 验证码的识别。
➢ 使用地方:单图层的验证码,不能识别中文。 ➢ 使用方法:解压工具,在脚本中调用工具,工具把验证码
的值输出到文本中,然后通过脚本去读取值,输入在前台 控件中。
14
15
➢ on error resume next ‘遇到错误时,跳过错误,继续运行程序。 ➢ Log.Picture(Sys.Desktop.Picture)调用截图,打印当前桌面输出到日志 ➢ Aconnection.execute “update...“改动数据库数据。 ➢ 在object browser中找到要加入Namemapping的对象,点击右键,选择Map
➢ 使用地方:使用TC录制后,会自动生成脚本及NameMapping。 一般回放找不到对象或是动态对象时,便要修改NameMapping。
➢ 使用方法:1、在NameMapping中修改相应的对象属性。2、在 object browser中找到要加入Namemapping的对象,点击右键, 选择Map the object name……,再弹出的对话框中选择需要 转换的Namemapping,逐一添加。
12
13
➢ 识别验证码
➢ 说明:通过第三方的工具,在脚本里面进行调用从而实现对 验证码的识别。
➢ 使用地方:单图层的验证码,不能识别中文。 ➢ 使用方法:解压工具,在脚本中调用工具,工具把验证码
的值输出到文本中,然后通过脚本去读取值,输入在前台 控件中。
14
15
➢ on error resume next ‘遇到错误时,跳过错误,继续运行程序。 ➢ Log.Picture(Sys.Desktop.Picture)调用截图,打印当前桌面输出到日志 ➢ Aconnection.execute “update...“改动数据库数据。 ➢ 在object browser中找到要加入Namemapping的对象,点击右键,选择Map
➢ 使用地方:使用TC录制后,会自动生成脚本及NameMapping。 一般回放找不到对象或是动态对象时,便要修改NameMapping。
➢ 使用方法:1、在NameMapping中修改相应的对象属性。2、在 object browser中找到要加入Namemapping的对象,点击右键, 选择Map the object name……,再弹出的对话框中选择需要 转换的Namemapping,逐一添加。
自动化测试技术PPT课件
哪些能自动化?
软件需求变动不频繁 测试脚本的稳定性决定了自动化测试的维 护成本,如果变动过于频繁,维护成本太高。 项目周期足够长 若项目周期太短,或是紧急上线的新功能, 新产品是不适合去用自动化测试的。 自动化测试脚本可重复使用 若自动化脚本利用率不高,测会造成人力的 浪费。
自动化工具介绍
PHPUnit 简介 PHPUnit是一个轻量级的PHP测试框架。它 是在PHP5下面对JUnit3系列版本的完整移植, 是xUnit测试框架家族的一员(它们都基于模式先 锋Kent Beck的设计)。 类似的其他语言的还有JUNIT(java), NUNIT(c#),UNITTEST(python)以及 Rspec(Ruby).
/files/seleniumserver-standalone-2.22.0.jar
安装selenium server:只要安装了jdk1.6 或1.7 都 可以运行selenium-server,在命令行输入: java -jar selenium-server-standalone-2.22.0.jar
测试用例编写及测试过程
测试脚本的录制 用Selenium录制测试操作,并转化成PHPUNIT脚 本,保存成对应该的文件。在要检测的地方,加上适 当的Assert语句。 运行Selenium Server 服务器 在CMD窗口是运行命令: java -jar seleniumserver-standalone-2.22.0.jar
自动化测试技术分享
宋现锋 @潜龙0318来自内 容提要何为自动化?
哪些能自动化? 自动化工具介绍 测试用例编写及测试过程 编写自动化用例中应注意的问题 目前编写的自动化用例介绍
何为自动化?
自动化(Automation)是指机器设备、系统或过 程(生产、管理过程)在没有人或较少人的直接 参与下,按照人的要求,经过自动检测、信息处 理、分析判断、操纵控制,实现预期的目标的过 程。 我们测试领域中的自动化,就是“把以人为驱动的 测试行为转化为机器执行的一种过程。” 自动化测试的 7 个步骤:改进自动化测试过程,定义 需求,验证概念,支持产品的可测试性,具有可 延续性的设计,有计划的部署和面对成功的挑战。
自动化测试理论知识 PPT课件
(1)代码分析 代码分析类似于高级编译系统,一般针对不同的高级语
言去构造分析工具,在工具中定义类、对象、函数、变量等 定义规则、语法规则;在分析时对代码进行语法扫描,找出 不符合编码规范的地方;根据某种质量模型评价代码质量, 生成系统的调用关系图等。
9
自动化测试的原理和方法(续)
(2)捕获和回放 代码分析是一种白盒测试的自动化方法,捕获和回放则
12
1.4 自动化测试工具的作用及优势
软件测试自动化通常借助测试工具进行。测试工具可以进 行部分的测试设计、实现、执行和比较的工作。部分的测 试工具可以实现测试用例的自动生成,但通常的工作方式 为人工设计测试用例,使用工具进行用例的执行和比较。 如果采用自动比较技术,还可以自动完成测试用例执行结 果的判断,从而避免人工比对存在的疏漏问题。
软件测试实行自动化进程,绝不是因为厌烦了重复的测 试工作,而是因为测试工作的需要,更准确地说是回归测试 和系统测试的需要。
6
1.2 自动化测试的定义和引入
自动化测试的定义:使用一种自动化测试工具来验证各种 软件测试的需求,它包括测试活动的管理与实施。
在进行自动化测试前,首先要建立一个对软件测试自动化 的认识观。软件测试工具能提高测试效率、覆盖率和可靠 性等,自动化测试虽然具有很多优点,但它只是测试工作 的一部分,是对手工测试的一种补充。自动化测试绝不能 代替手工测试,它们各有各自的特点,其测试对象和测试 范围都不一样。
通常,软件测试的工作量很大(据统计,在一个软件的生命 周期中,测试会占用到40%;一些可靠性要求非常高的软件, 测试时间甚至占到60%)。而测试中的许多操作是重复性的、 非智力性的和非创造性的,并要求做准确细致的工作,计算 机就最适合于代替人工去完成这样的任务。
言去构造分析工具,在工具中定义类、对象、函数、变量等 定义规则、语法规则;在分析时对代码进行语法扫描,找出 不符合编码规范的地方;根据某种质量模型评价代码质量, 生成系统的调用关系图等。
9
自动化测试的原理和方法(续)
(2)捕获和回放 代码分析是一种白盒测试的自动化方法,捕获和回放则
12
1.4 自动化测试工具的作用及优势
软件测试自动化通常借助测试工具进行。测试工具可以进 行部分的测试设计、实现、执行和比较的工作。部分的测 试工具可以实现测试用例的自动生成,但通常的工作方式 为人工设计测试用例,使用工具进行用例的执行和比较。 如果采用自动比较技术,还可以自动完成测试用例执行结 果的判断,从而避免人工比对存在的疏漏问题。
软件测试实行自动化进程,绝不是因为厌烦了重复的测 试工作,而是因为测试工作的需要,更准确地说是回归测试 和系统测试的需要。
6
1.2 自动化测试的定义和引入
自动化测试的定义:使用一种自动化测试工具来验证各种 软件测试的需求,它包括测试活动的管理与实施。
在进行自动化测试前,首先要建立一个对软件测试自动化 的认识观。软件测试工具能提高测试效率、覆盖率和可靠 性等,自动化测试虽然具有很多优点,但它只是测试工作 的一部分,是对手工测试的一种补充。自动化测试绝不能 代替手工测试,它们各有各自的特点,其测试对象和测试 范围都不一样。
通常,软件测试的工作量很大(据统计,在一个软件的生命 周期中,测试会占用到40%;一些可靠性要求非常高的软件, 测试时间甚至占到60%)。而测试中的许多操作是重复性的、 非智力性的和非创造性的,并要求做准确细致的工作,计算 机就最适合于代替人工去完成这样的任务。
自动化测试介绍 PPT课件
用。 ③ 数据配置: QTP+QC方式:每次运行时必须一个一个业务流或者执行流的配置数据; QTP+其它辅助工具的方式:辅助工具可以将本次执行的脚本用的所有参数进
行统一配置。
QTP方式、QTP+QC方式、QTP+其它辅助工具的方式 QTP+QC方式、QTP+其它辅助工具的方式的不同:
④ 执行目的的直观性: QTP+QC方式:脚本按照一定顺序组成的业务流或者执行流,不能快速直观
自动化测试的优势
4 .通过自动化测试发现系统的隐患,保证了系统上线后的稳定运行,避免了由于系 统缺陷造成的损失。
成本
成本
开
升级
发
运维
阶
阶段
段
手工测试
时 间
广州南天
开
升级
时
发
运维
间
阶
阶段
段
自动化测试
自动化测试的优势
5 .其他优势:
✓ 创建优良可靠的测试过程,减少人为错误; ✓ 可以运行更多更繁琐的测试; ✓ 可以执行一些手工测试困难或不可能进行的测试; ✓ 更好的利用资源; ✓ 测试具有一致性和重复性; ✓ 测试脚本的重用性;
测试耗时图
140
120
100
80
时间
60
40
20
0
0
300
功能点
350
手工测试
自动化测试
400
自动化测试的优势
3.增强测试的覆盖率,从而提高产品质量,降低潜在风险
90% 88% 86% 84% 82% 80% 78% 76% 74% 72% 70%
开发中
上线前
手工测试
上线后变更1
行统一配置。
QTP方式、QTP+QC方式、QTP+其它辅助工具的方式 QTP+QC方式、QTP+其它辅助工具的方式的不同:
④ 执行目的的直观性: QTP+QC方式:脚本按照一定顺序组成的业务流或者执行流,不能快速直观
自动化测试的优势
4 .通过自动化测试发现系统的隐患,保证了系统上线后的稳定运行,避免了由于系 统缺陷造成的损失。
成本
成本
开
升级
发
运维
阶
阶段
段
手工测试
时 间
广州南天
开
升级
时
发
运维
间
阶
阶段
段
自动化测试
自动化测试的优势
5 .其他优势:
✓ 创建优良可靠的测试过程,减少人为错误; ✓ 可以运行更多更繁琐的测试; ✓ 可以执行一些手工测试困难或不可能进行的测试; ✓ 更好的利用资源; ✓ 测试具有一致性和重复性; ✓ 测试脚本的重用性;
测试耗时图
140
120
100
80
时间
60
40
20
0
0
300
功能点
350
手工测试
自动化测试
400
自动化测试的优势
3.增强测试的覆盖率,从而提高产品质量,降低潜在风险
90% 88% 86% 84% 82% 80% 78% 76% 74% 72% 70%
开发中
上线前
手工测试
上线后变更1
自动化测试PPT课件
– 在分析时对代码进行语法扫描,找出不符合编码规 范的地方
– 根据某种质量模型评价代码质量 – 生成系统的调用关系图等
.
15
代码分析—白盒
• 常用技术
– Syntax analysis – Parsing – Control flow analysis – Data flow analysis – Constraint based analysis – Abstract interpretation – Type-effect system – Symbolic execution
• 兼容性
是否允许测试用例为不同的测试目标而以不同方式组合
• 可用性
定制或更改测试用例是否容易,使用是否容易
• 健壮性
是否可以处理意外情况而不退出或终止
• 可移植性
在不同环境中运行测试的能力
.
13
C. 自动化测试的原理和方法
• 测试自动化实现的基础
– 可以通过设计的特殊程序模拟测试人员对计算机的操作 过程、操作行为,或者类似于编译系统那样对计算机程 序进行检查。
• 优秀自动化测试体系的七个属性
–应根据测试目标,有针对性地提高自己关注的属性,实 施符合需要的自动化测试体系
• 高效的自动化测试体系源于好的测试软件
–应根据需要和能力决定自主开发或选购适合的测试工具
.
11
优秀自动化测试体系的七个属性
• 可维护性
是否很容易使测试更新跟上软件升级的步伐 –自动化测试的维护工作量过大可能导致整个测试自动
.
16
控制流图
void m() throws Exception{ s1; if(s2) throw new Exception();
– 根据某种质量模型评价代码质量 – 生成系统的调用关系图等
.
15
代码分析—白盒
• 常用技术
– Syntax analysis – Parsing – Control flow analysis – Data flow analysis – Constraint based analysis – Abstract interpretation – Type-effect system – Symbolic execution
• 兼容性
是否允许测试用例为不同的测试目标而以不同方式组合
• 可用性
定制或更改测试用例是否容易,使用是否容易
• 健壮性
是否可以处理意外情况而不退出或终止
• 可移植性
在不同环境中运行测试的能力
.
13
C. 自动化测试的原理和方法
• 测试自动化实现的基础
– 可以通过设计的特殊程序模拟测试人员对计算机的操作 过程、操作行为,或者类似于编译系统那样对计算机程 序进行检查。
• 优秀自动化测试体系的七个属性
–应根据测试目标,有针对性地提高自己关注的属性,实 施符合需要的自动化测试体系
• 高效的自动化测试体系源于好的测试软件
–应根据需要和能力决定自主开发或选购适合的测试工具
.
11
优秀自动化测试体系的七个属性
• 可维护性
是否很容易使测试更新跟上软件升级的步伐 –自动化测试的维护工作量过大可能导致整个测试自动
.
16
控制流图
void m() throws Exception{ s1; if(s2) throw new Exception();
自动化功能测试技术PPT课件
值 (value)
关键字驱动
关键字包括三类:被 操作对象(Item)、操 作(Operation)和值 (value),用面向对 象形式可将其表现为
Item.Operation(Value)
值 (value)
-
11
1:自动化功能测试难点
1. 设计——功能分解 2. 实现——对象识别
-
12
1:自动化功能测试功能分解
自动化测试需要有完善的测试流程和测试策略做保证。
自动化测试的脚本的维护成本比较高。
-
5
1:自动化功能测试优势
手工测试
自动化测试
测试设计 测试用例
1 输入数据
所
2 操作
所
占
3 预期结果 占
用
用
的
的
时
时
间
间
测试设计 测试实现
测试用例 1 业务数据 2 业务功能
实现业务功能
测试执行
测试执行
-
6
1:自动化功能测试优势
ebButton(“text:=保存”).Click 在第二个被创建的IE窗口,查找按钮,该按钮上 显示的文字是“测试对象识别(动态)
一个好助手——Object Spy
通过Object Spy可以查看到所需要识别的对象的 所有属性值,挑选其中可以唯一识别该对象的一 个属性或多个属性,对该对象进行描述。
自动化功能测试技术
-
1
目录
1
自动化功能测试框架
2
QuickTest Pro主要功能
3
QuickTest Pro测试流程
4
QuickTest Pro上机实践
-
2
1:自动化功能测试背景
关键字驱动
关键字包括三类:被 操作对象(Item)、操 作(Operation)和值 (value),用面向对 象形式可将其表现为
Item.Operation(Value)
值 (value)
-
11
1:自动化功能测试难点
1. 设计——功能分解 2. 实现——对象识别
-
12
1:自动化功能测试功能分解
自动化测试需要有完善的测试流程和测试策略做保证。
自动化测试的脚本的维护成本比较高。
-
5
1:自动化功能测试优势
手工测试
自动化测试
测试设计 测试用例
1 输入数据
所
2 操作
所
占
3 预期结果 占
用
用
的
的
时
时
间
间
测试设计 测试实现
测试用例 1 业务数据 2 业务功能
实现业务功能
测试执行
测试执行
-
6
1:自动化功能测试优势
ebButton(“text:=保存”).Click 在第二个被创建的IE窗口,查找按钮,该按钮上 显示的文字是“测试对象识别(动态)
一个好助手——Object Spy
通过Object Spy可以查看到所需要识别的对象的 所有属性值,挑选其中可以唯一识别该对象的一 个属性或多个属性,对该对象进行描述。
自动化功能测试技术
-
1
目录
1
自动化功能测试框架
2
QuickTest Pro主要功能
3
QuickTest Pro测试流程
4
QuickTest Pro上机实践
-
2
1:自动化功能测试背景
自动化测试教程PPT学习课件
从无到有 - 初级篇
这个过程主要是熟悉QTP的界面设置,以及一些基本的用法,包括最 基础的录制回放,低级录制,参数化,OUTPUT输出,验证点。总体 来说这个阶段还是属于一个入门,比较容易能够接受,也是大多数测 试人员能够达到的层次水平。
从有到懂 - 中级篇
这个过程中我们已经有了一些基础知识,这个时候我们不可以把自己 再停留在录制回放了,而是需要在专家视图进行自行编写测试脚本, 我们需要熟悉QTP的各种内置保留对象,需要熟悉QTP对象库的原理 ,描述性编程以及GETRO,GETTO,SETTO的用法,DATATABLE的方法应 用,自定义REPORT,能够熟练的使用F7脚本生成器来编写脚本,随 后我们需要对VBS有一定的了解,可以先学习一下VBS的一些基础知 识,并能够熟练的运用它,
返回值 常数值 说明 vbOK 1 确定 vbCancel 2 取消 vbAbort 3 终止 vbRetry 4 重试 vbIgnore 5 忽略 vbYes 6 是 vbNo 7 否 实例演示:
2020/3/1
12
VBS程序的输入函数
输出函数inputbox(“”) InputBox(prompt[, title] [, default]) Prompt 必需的。作为对话框消息出现的字符串表达式。 prompt 的最大长度大约是 1024 个字符,由所用字符的宽度决定。 如果 prompt 包含多个行,则可在各行之间用 回车符 (Chr(13))、换行符 (Chr(10)) 或回车换行符的组合 (Chr(13) & Chr(10)) 来分隔。
Else
End if
对多个条件进行判断
–Select Case语句
Select Case iValue
自动化测试讲解 PPT
大家学习辛苦了,还是要坚持
继续保持安静
我们的自动化框架
支持EXL编辑测试用例
支持EXL编辑测试计划
框架功能介绍
Gui介绍
GUI 即人机交互图形化用户界面设计。
Element介绍
Func介绍Case及Pln介绍执行结果的展示简单的应用的方式可以用一个EXCEL表,里面包括“对象类型”“对象名称”“对象操作名称”“判断方式”“预期结果”。这样 的话,可以通过导入不同的对象类型和名称、不同的对象操作来构建成了一个测试用例表了。
以上只是对这些思想的个人理解,做好自动化测试,不是说你掌握了一个框架,而是要掌握其自动化的思想,然后根据这些思想, 结合你不同的测试环境和流程来构建你自己的自动化测试框架。
自动化测试讲解
自动化测试的概念及难点
自动化测试的意义
自动化框架思想与构建
序言
一、简述自动化测试框架
二、自动化测试框架思想
首先,我们来看看自动化测试的一个发展,就能更加明白这些思想的真谛了。
a)第一代自动化测试,即自动化测试思想刚开始诞生时,依靠的是传统的“录制-回放”技术,这种技术与现在的工具的“录制回放”思想不一样,其其实就是一个“模拟”的过程,即模拟你对PC的操作而形成的,其基于你对键盘的输入与对鼠标的操作, 原理与按键精灵等类似,这种机制对环境的依赖性太强,对变化性太过于敏感,因此不可能发展成一种规模。
3、所谓数据驱动思想,众说纷纭,很多人都觉仅仅依靠用EXCLE表进行不同数据的读取仅是一个高级的参数化,其实怎么理解并 不重要,关键是其思想能够好的应用到你的框架中。而我的理解就是变量不变,数据驱动结果,不同的数据导致了不同的结果的 产生。而对于数据的导入,可以通过很多方式,例如:EXCLE表、XML(用在WEB中)、数据库(DB)、CSV文件、TXT等都可以。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
大纲二
小工具介绍Firebug/xpather/iedeveloper Selenium常用API 现有框架详细解析 自动化测试开展过程中的注意事项 实战-搭建本公司自动化测试框架 安全性测试介绍 APPScan使用介绍 测试管理流程
测试流程
发布流程: FAT---UAT---点火 堡垒测试(smoking)---Baking(灰度)---Rolling(Prod)
质量报告
Security Test Training
2014重大安全事故
2014年2月比特币交易站受攻击破产 2014年4月中国快递1400万信息泄露 2014年5月22日,eBay要求近1.28亿活跃用户全部重
新设置
2014年9月,大约有500万谷歌的账户和密码的数据库 被泄露密
2014年12月25日,乌云漏洞报告平台报告称,大量 12306用户数据在互联网疯传,内容包括用户帐号、 明文密码、身份证号码、手机号码和电子邮箱等码
课程内容 测试流程 Security Testing 自动化测试理论 Selenium webdriver 自动化测试框架搭建 自动化测试框架使用
目标一
本次培训目标: 了解Selenium基本框架结构 具备自动化测试思想 会搭建自动化测试环境 了解selenium常用API 了解自动化测试开展过程中的注意事项
安全性测试
常见安全问题类型 CSRF(Cross-site request forgery),跨站请求伪造 XSS又叫CSS (Cross Site Script) ,跨站脚本攻击 SQL Injection( SQL 注入) 传输中与存储时的密码没有加密 ,不安全的通信 目录遍历 缓冲区溢出
安全测试
测试经理以及领导对安全测试要足够重视 安全测试也要有测试计划 安全测试是一个体系,需要从需求/设计/开发规范/编
码到测试一起努力。 从测试的角度,必须有部分手工安全性验证的case,有
必要在发布之前建立安全checklist 代码扫描只是安全测试的一部分工作 开发团队要有专人解决安全性问题
例:一个验证用户登陆的页面, 如果使用的sql语句为: Select * from table A
where username=’’ + username+’’ and pass word …..
则在Sql语句后面 输入 ‘ or 1=1 ―― 就可以不输入任何password进行攻击
SELECT count(*) FROM users WHERE username='a' or 'a'='a' AND password='a' or 'a'='a'
敏感页面要采用https访问 不要选择记住密码
XSS
XSS又叫CSS (Cross Site Script) ,跨站脚本攻击。它指的是恶意攻击者往Web 页面里插入恶意脚本代码,当用户浏览该页之时,嵌入其中Web里面的脚本代码会被 执行,从而达到恶意攻击用户的特殊目的。最常见就是钓鱼网站(在有漏洞的正规 网站上嵌入登陆框套取账户和密码)
安全测试case分层
从测试工程师角度去设计Testcase: 应用程序安全测试 (密码/权限划分/超时/代码扫描) 操作系统安全测试(帐号/文件服务/日志) 数据库安全测试(账户/口令/IP限制/定期备份/演练 方案) 服务器安全测试(日志/补丁/身份验证/超时设置/跳 板机) 网络环境安全测试(防火墙/网段/异地备份)
目标二
能够在原有框架基础上进行二次开发(框架升级维护和 使用)
具备安全性测试思想 了解常见安全性问题类型原理 会使用APPScan进行代码扫描并提交分析报告 测试管理流程 Q/A
大纲一
自动化测试行业现状 自动化测试投入产出分析 什么时候开展自动化测试 自动化测试最新的发展技术 自动化测试工具比较 自动化测试环境搭建 Selenium框架介绍 Xpath基础介绍
测试方法:在输入框中输入下列字符,可直接输入脚本来看 HTML标签:<…>…</…> 转义字符:&(&);<(<);>(>); (空格) ; 脚本语言:<script>alert(document.cookie);</script> 特殊字符:‘ ’ <>/ 最小和最大的长度 是否允许空输入 对Grid、Label、Tree view类的输入框未作验证,输入的内容会按照html语法解
CSRF
跨站请求伪造(英语:Cross-site request forgery),也被称为one-click attack或者session riding,通常缩写为CSRF或者XSRF, 是一种挟制用户在当 前已登录的Web应用程序上执行非本意的操作的攻击方法。跟跨网站脚本(XSS)相 比,XSS利用的是用户对指定网站的信任,CSRF 利用的是网站对用户网页浏览器的 信任
解决方案:
1、转义敏感字符及字符串,SQL的敏感字符包括: ”Union”,”cmd”,”+”,”//”,”..”,”;”,”‘”,”--”,”%”,”0x”,”><=!-*/()|”,和”空格”. 2、屏蔽出错信息:阻止攻击者知道攻击的结果 3、在服务端正式处理之前提交数据的合法 性(数据类型,数据长度,敏感字符的校验)
析出来,要控制脚本注入的语法要素。比如:javascript离不开:“<”、“>”、 “(”、“)”、“;”. 在输入或输出时对其进行字符过滤或转义处理
SQL on
SQL注入是描述一个利用写入特殊SQL程序码攻击应用程序的动作,用户可以提交一段数据库查询代码,根据 程序返回的结果,获得某些他想得知的数据.只要是带有参数的动态网页且此网页访问了数据库,那么就有 可能存在SQL注入
Automation Test Training
刘万红 2015-08-15
课程安排
时间安排 2015/08/22 9:30am—12:00am 2015/08/22 13:00pm—18:00pm 2015/08/23 9:30am—12:00am 2015/08/23 13:00pm—18:00pm