自动化测试.ppt.ppt
《自动化测试.ppt.ppt》由会员分享,可在线阅读,更多相关《自动化测试.ppt.ppt(74页珍藏版)》请在三一办公上搜索。
1、自动化测试与IATF框架介绍,WiseFly Technology Corporation,Boris Wang,人与工具,工欲善其事,必先利其器。荀子曰:吾尝终日而思矣,不如须臾之所学也。吾尝足支而望矣,不如登高之博见也。登高而招,臂非加长也,而见者远。顺风而呼,声非加疾也,而闻者彰。假舆马者,非利足也,而致千里。假舟辑者,非能水也,而绝江河。君子生非异也,善假于物也。君子性非异也,善假于物也。,测试面临的问题,测试用例会越来越多,工作量越来越大,而且许多测试用例会被不断地重复执行。如果由手工来完成,不仅占用很多人力资源,而且工作重复单调,会影响测试人员的积极性,降低测试工作人员的热情 怎么
2、办?,自动化测试,目录,第一部分 自动化测试测试自动化的内涵自动化测试的原理测试工具的分类和选择自动化测试成熟度自动化测试项目的开展第二部分 IPSHOT自动化项目介绍 ITAF框架介绍 关于IPSHOT-Automation 1.01 自动化测试演示 讨论,测试自动化内涵,本节内容什么是自动化测试自动化测试特点手工测试VS自动化测试,什么是自动化测试,用工具代替/辅助人工完成软件测试活动的过程,泛指所有能用工具辅助进行的有关测试活动。自动化测试可分为测试过程自动化和测试结果分析自动化。测试过程的自动化指的是不用手工逐个的对用例进行测试。测试结果分析自动化指的是不用人工一点点去分析测试过程中的
3、中间结果或数据流。软件自动化测试就是模拟手动测试步骤,执行用某种程序设计语言编制的测试程序,控制被测软件的执行,完成全自动或半自动测试的过程。全自动测试就是指在自动测试过程中,根本不需要人工干预,由程序自动完成测试的全过程。半自动测试就是指在自动测试过程中,需要手动输入测试用例或选择测试路径,再由自动测试程序按照人工指定的要求完成自动测试。,什么是自动化测试,自动化测试焦点集中在测试执行,主要是由测试工具自动地完成测试。测试自动化指“一切可以由计算机系统自动完成的测试任务都已经由计算机系统或软件工具、程序来承担并自动执行”,.,测试自动化 理念 全过程 所有测试活动 包括测试设计 测试管理,.
4、,自动化测试 测试工具 测试执行 单项活动,自动化测试特点,自动运行的速度快测试结果准确高复用性永不疲劳 可以执行一些手工测试困难或不可能进行的测试 可以更好地硬件资源,节省人力资源,降低企业成本 测试具有一致性和可重复性 可以更快地将软件推向市场 可以增加软件信任度 高昂的团队士气,手工测试 vs.自动测试,手工测试,发现缺陷率高 容易实施 创造性、灵活性 覆盖率量化困难 重复测试效率低 不一致性、可靠性低 依赖人力资源,高效率(速度)高复用性 覆盖率容易度量 准确、可靠 不知疲劳 激励团队士气 机械、难以发现缺陷 一次性投入大,手工测试VS自动化,手工测试原因项目时间少测试工具花钱习惯手工
5、测试测试人员缺少自动化技术必须手工用户体验、相关性等比较主观的不稳定的、经常变化的核心至关重要的,必须靠人来非常复杂的,自动化成本过高的,手工测试VS自动化,自动化神话自动化总能保证软件质量所有项目都适合自动化自动化只有优点适合自动化回归测试每日构建和冒烟测试不太变化的重复测试(第n1轮)数据驱动测试性能&安全,互相配合,目录,第一部分 自动化测试测试自动化的内涵自动化测试的原理测试工具的分类和选择自动化测试成熟度自动化测试项目的开展第二部分 IPSHOT自动化项目介绍 ITAF框架介绍 关于IPSHOT-Automation 1.01 自动化测试演示 讨论,自动化测试原理,本节内容代码分析G
6、UI对象识别DOM对象识别捕获和回放脚本技术自动比较技术,自动化测试原理,自动化测试的实现方法,对于静态测试和动态测试有很大的不同:动态测试的自动化实现主要通过特定的程序来模拟软件的操作过程或操作行为,然后对软件所做出的反应或输出结果进行检查或验证。静态测试的自动化实现是按照代码规范和软件开发的最佳实践建立各种代码规则,然后依据这些规则对代码进行自动扫描,发现和规则不匹配的各种问题。软件测试自动化实现的原理和方法主要有:直接对代码进行静态和动态分析、测试过程的捕获和回放、测试脚本技术、自动比较技术、虚拟用户技术和测试管理技术等。,代码分析,代码分析类似于高级编译系统,一般是针对不同的高级语言去
7、构造分析工具,在工具中定义类、对象、函数、变量和常量等各个方面的规则。在分析时,通过对代码进行扫描和解析,找出不符合编码规范的地方,从而给出错误信息和警告信息。还可以根据某种质量模型评价代码的质量,生成系统的调用关系图,评估代码的复杂度等。,代码分析,举例1:用Findbugs做Java代码的分析,Findbugs是一个静态分析工具,它检查类或JAR文件,将字节码与一组缺陷模式(Java代码规范)进行对比以发现各种可能存在的问题。通过静态分析工具可以在不运行程序的情况下对软件进行测试,更早地发现软件中的缺陷。安装Findbugs(Findbugs可以独立运行,也可以作为Eclipse的插件)设
8、置Java环境:安装JDK;配置环境变量安装Eclipse:下载Eclipse软件包并解压在Eclipse中安装Findbugs插件URL:http:/findbugs.cs.umd.edu/eclipse,代码分析,举例1:用Findbugs做Java代码的分析(续),安装成功后,在Eclipse的“窗口”-“首选项”中,展开“Java”后发现Findbugs项,从中可以发现Findbugs定义了很多种检查器(Detector),而且分为不同的模式(pattern)和类型(category):纠错(correctness)、不合理的(dodgy)、不好的实践(bad practice)、安全
9、性(security)、性能(performance)和多线程纠错(multithreaded correctness)等问题。使用Findbugs:创建或打开一个Java项目选择该项目并单击右键,从菜单中执行“Find bugs”运行后的警告信息会显示在右下区域的Problems视图中双击某条警告信息会自动定位到编辑器中对应的源代码行,代码分析,举例1:用Findbugs做Java代码的分析(续),代码分析,举例1:用Findbugs做Java代码的分析(续),上述例子中没有执行代码,而是通过对代码的逐行扫描来分析代码,找出问题。这种静态测试是通过事先所建立的代码规则、由软件工具来自动执行。
10、代码静态分析的关键是建立各种规则,而这种规则的建立依赖于相应编程语言的语法。利用这些规则可以找出Java源程序的许多问题,如:没有用到的变量、多余的变量创建操作、空的catch块等。还可以自定义一些代码规则来供静态分析工具使用。例如,代码复杂度和代码重复率是代码质量关心的主要问题之一。对于代码复杂度可能是含有过多的条件语句(if,while或for语句等)造成的,可通过圈复杂度的度量来检查。当圈复杂度为10或超过10时,一般就表明该方法过于复杂。所以,可设立如下的代码规则:,GUI对象识别,功能测试工具需要和用户界面打交道,就要能操作、控制用户界面上的各种对象,所以大部分功能测试工具是基于GU
11、I对象识别技术来实现自动化测试的。基于GUI对象识别和控制的自动化测试工具,一般在脚本语言中采用Windows API(Application Programming Interface,应用程序编程接口)函数调用的方法来实现。Windows API涵盖了系统的管理、诊断、图形和多媒体、网络、安全性等各个方面,但在自动化测试工具中或对象识别中,主要使用Windows User Interface(用户界面)一类的API。这类函数封装了操作应用软件所需的接口函数,包括键盘和鼠标操作的捕获,以及窗口、按钮、选择项等的识别和操作。自动化测试工具可以基于这些API函数,来完成对象的识别和操作。,GUI
12、对象识别,举例2:用QTP识别Windows对象,安装功能测试工具QTP10.0工具下载URL:192.168.0.11shareTools QTP安装成功后,打开QTP,点击对象属性获取工具 就可对Windows对象和Web对象进行识别了,DOM对象识别,有些测试工具(如Selenium)直接访问Web浏览器,利用脚本语言操纵浏览器和Web页面,这时就需要对DOM(Document Object Model,文档对象模型)对象进行识别,从而模拟用户控制浏览器中页面元素的操作。也只有获取DOM对象的属性,才可以验证页面实际的表现,即确定实际结果和期望结果是否一致。DOM定义了HTML的标准对象
13、集合,是HTML文档的编程接口,与浏览器、平台、语言无关。DOM也就是定义了标准的访问和操纵HTML对象的方式,使得其他程序或软件可以访问页面的标准组件。DOM以层次结构组织节点、内容等相关信息,从而将一个Web页面转换为一个基于树或基于对象的多层次集合。DOM的本质是建立网页与脚本语言或程序语言沟通的桥梁。,DOM对象识别,举例3:用IE Web Developer识别DOM对象,安装IE Web Developer工具下载URL:Web Developer可以在IE浏览器内查看页面,获取完整的DOM信息。打开IE浏览器,点击“查看”-“浏览器栏”-“IE Web Developer”,启动
14、后就可以看到当前页面的结构,并查看页面的各个元素,如下图所示。,DOM对象识别,举例3:用Firebug识别DOM对象,最好的DOM识别工具是Firebug,它可以JavaScript文件方式支持在IE、Opera和Safari等浏览器中运行,但推荐作为Firefox的一个插件使用。Firebug功能强大,集HTML查看和编辑、JavaScript控制台、CSS/script/DOM查看器、网络状况监视器、测试于一体,可从各个不同的角度剖析Web页面内部的细节层面。安装Firebug工具下载URL:http:/,也可使用Firefox浏览器加载附加组件方式安装打开Firefox工具下的Fire
15、bug后,在浏览器载入任何页面时,Firebug都可以生成DOM树,点击HTML标签,鼠标只要停在某个对象上,浏览器页面上相应的对象就会被明显标识出来。点击某个对象属性的参数,Firebug还可以编辑HTML。如果点击DOM标签,可以更详细的了解页面的DOM结构及其元素。,DOM对象识别,举例4:用Firebug识别DOM对象(续),捕获和回放,代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。捕获是将用户每一步操作都记录下来。这种记录的方式有两种:程序用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、状态变化或是属性变化。所有的记录转
16、换为一种脚本语言所描述的过程,以模拟用户的操作。回放时,将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。这可以大大减轻黑盒测试的工作量,在迭代开发的过程中,能够很好地进行回归测试。,关于自动化测试中的“录制-回放”技术 目前的自动化负载测试解决方案几乎都是采用“录制-回放”的技术。所谓的“录制-回放”技术,就是先由手工完成一遍需要测试的流程,同时由计算机记录下这个流程期间客户端和服务器端之间的通信信息,这些信息通常是一些协议和数据,并形成特定的脚本程序(Script)。然后在系统的统一管理下同时生成多个虚拟用户,并运行该脚本,监控硬件和软件平台的
17、性能,提供分析报告或相关资料。这样,通过几台机器就可以模拟出成百上千的用户对应用系统进行负载能力的测试。,脚本技术,脚本是一组测试工具执行的指令集合,也是计算机程序的一种形式。脚本可以通过录制测试的操作产生,然后再做修改,这样可以减少脚本编程的工作量;也可以直接用脚本语言编写脚本。自动化测试脚本和程序代码比较接近,包括指令和数据,还包括其他内容,如:同步,何时进行下一个输入;比较信息,是测试验证点所需要的,包括比较什么、如何比较及和谁比较;捕获何种屏幕数据及存储在何处;从何处读取测试数据;控制信息等。,脚本技术,测试脚本可以分为以下几类:线性脚本:是录制手工执行的测试用例得到的脚本。结构化脚本
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 自动化 测试 ppt
链接地址:https://www.31ppt.com/p-2905508.html