软件测试自动化_第1页
软件测试自动化_第2页
软件测试自动化_第3页
软件测试自动化_第4页
软件测试自动化_第5页
已阅读5页,还剩55页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

软件测试自动化8.1软件测试自动化的意义1、软件测试与软件测试自动化(1)软件测试(2)软件测试自动化利用测试工具自动完成或辅助完成测试任务。利用软件来测试软件。这里所用的软件主要是自动测试脚本。第2页,共60页,2024年2月25日,星期天8.1软件测试自动化的意义2、手工测试——优势测试用例的设计界面和用户体验测试逻辑判断的正确性检查第3页,共60页,2024年2月25日,星期天8.1软件测试自动化的意义2、手工测试——局限性通过手工测试无法做到覆盖所有代码路径;

许多与时序、死锁、资源冲突、多线程等有关的错误通过手工测试很难捕捉到在系统负载、性能测试时,需要模拟大量数据、或大量并发用户等各种应用场合时,也很难通过手工测试来进行在进行系统可靠性时,需要模拟系统运行十年、几十年,以验证系统能否稳定运行,也是手工测试无法模拟的。如果有大量(几千)的测试用例,需要在短时间内完成,手工测试又怎么办呢?测试可以发现错误,并不能表明程序的正确性。第4页,共60页,2024年2月25日,星期天8.1软件测试自动化的意义3、软件测试自动化的优势(1)自动运行的速度快。(2)测试结果准确。(3)高复用性。(4)永不疲劳(5)可靠(6)独特的能力第5页,共60页,2024年2月25日,星期天8.1软件测试自动化的意义4、软件测试自动化带来的好处(1)对程序的新版本回归测试时,开销小。(2)可以在较少的时间内运行更多的测试。(3)可执行一些手工测试困难或不可能做的测试。(4)代替人完成重复性工作,更好地利用人力资源。(5)测试具有一致性和重复性。(6)缩短了测试时间,使产品更快推向市场。(7)好的测试软件可以增加软件信任度。第6页,共60页,2024年2月25日,星期天8.1软件测试自动化的意义5、软件测试自动化的局限性(1)不能取代手工测试。(2)手工测试比自动测试发现的错误更多。(3)自动测试脚本可能包含错误。(4)测试自动化可能会制约软件开发。第7页,共60页,2024年2月25日,星期天8.1软件测试自动化的意义6、对软件测试自动化的误解(1)希望将所有测试活动自动化。(2)购买一个测试工具,满足所有自动化测试需求。(3)马上减轻测试工作负担。(4)在缩短进度上立竿见影。(5)期望自动产生测试计划。(6)达到100%的测试覆盖率。第8页,共60页,2024年2月25日,星期天8.2测试自动化的原理和方法1、测试自动化的原理

软件测试自动化实现的基础是通过设计的特殊程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编译系统那样对程序进行静态检查。第9页,共60页,2024年2月25日,星期天8.2测试自动化的原理和方法2、测试自动化实现的方法1)直接对代码进行静态和动态分析2)测试过程的捕获和回放(录制——回放)3)脚本技术4)自动比较

第10页,共60页,2024年2月25日,星期天1)代码分析代码分析类似于高级语言编译系统,一般针对不同的高级语言去构造分析工具,在工具中定义类、对象、函数、变量等定义规则、语法规则;在分析时对代码进行语法扫描,找出不符合编码规范的地方;根据某种质量模型评价代码质量,生成系统的调用关系图等。第11页,共60页,2024年2月25日,星期天2)捕获和回放捕获和回放是一种黑盒测试的自动化方法。

捕获是将用户每一步操作都记录下来。这种记录的方式有两种:程序用户界面的像素坐标或程序显示对象(窗口、按钮、滚动条等)的位置,以及相对应的操作、状态变化或是属性变化。所有的记录转换为一种脚本语言所描述的过程,以模拟用户的操作。

回放时,将脚本语言所描述的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的标准结果比较。第12页,共60页,2024年2月25日,星期天3)脚本技术脚本是一种特殊的计算机程序。包括:数据和指令。(2)脚本的产生(1)什么是脚本?直接用脚本语言编写通过录制测试的操作产生第13页,共60页,2024年2月25日,星期天3)脚本技术(续)(3)自动化功能测试脚本的开发方式——录制手工执行的测试用例得到的脚本。——类似结构化程序设计,有各种逻辑结构。——把代表应用程序行为的脚本在其他脚本之间共享。线性脚本结构化脚本共享脚本第14页,共60页,2024年2月25日,星期天3)脚本技术(续)(3)自动化功能测试脚本的开发方式——把检查点和执行操作的控制都维护在外部数据文件中。——把测试数据从脚本中分离出去,存储在外部文件中。数据驱动脚本关键字驱动脚本第15页,共60页,2024年2月25日,星期天线性脚本第16页,共60页,2024年2月25日,星期天结构化脚本第17页,共60页,2024年2月25日,星期天数据驱动脚本第18页,共60页,2024年2月25日,星期天3)脚本技术(续)(4)测试脚本的开发流程P238第19页,共60页,2024年2月25日,星期天3)脚本技术(续)(5)测试脚本应具备以下特性:结构化可读性复用性可维护性第20页,共60页,2024年2月25日,星期天4)自动比较的类型(1)静态比较和动态比较(3)敏感性比较和健壮性比较(2)简单比较和复杂比较(4)比较过滤器第21页,共60页,2024年2月25日,星期天8.3自动化测试的引入和应用1、引入软件测试自动化的策略(1)从组织的需要出发考虑投资自动化测试工具。(2)在项目的预算和时间约束条件下(3)确定项目中适合自动化执行的测试任务。(4)确定购买或自主开发(5)通过小范围试用确定是否需要工具第22页,共60页,2024年2月25日,星期天8.3自动化测试的引入和应用2、适合自动化执行的任务单元测试、集成测试、系统负载测试、性能测试、稳定性测试、可靠性测试等比较适合采用自动化测试。自动化测试工具在进行功能测试时,其准确的含义是回归测试工具,这时工具不能发现更多的新问题,但可以保证对已经测试过部分的准确性和客观性。第23页,共60页,2024年2月25日,星期天8.4软件测试工具的分类1、按照测试方法分为:(1)白盒测试工具(2)黑盒测试工具2、按照测试的对象和目的,可以分为:

单元测试工具、功能测试工具、负载测试工具、

性能测试工具、Web测试工具、数据库测试工具、

回归测试工具、嵌入式测试工具、

页面链接测试工具、测试设计与开发工具、

测试执行和评估工具、测试管理工具等。第24页,共60页,2024年2月25日,星期天8.4软件测试工具的分类3、按照测试工具的收费方式分为:(1)商业测试工具(2)开源测试工具(3)免费测试工具(4)自主开发测试工具第25页,共60页,2024年2月25日,星期天8.5如何选择测试工具

测试人员在选择和使用自动化测试工具时,可以从以下角度来考虑:按照用途选择匹配的测试工具在适当的生命周期选择测试工具按照测试人员的实际技能选择匹配的测试工具第26页,共60页,2024年2月25日,星期天8.6目前市场上主流的测试工具

目前市场上专业开发软件测试工具的公司有很多,比如MI公司和Rational公司。1、MI公司的产品(1)LoadRunner

(2)WinRunner

(3)TestDirector

(4)QTP(quicktestProfessional)第27页,共60页,2024年2月25日,星期天2、IBMRational公司的产品(1)RationalTestmanager

(2)RationalClearQuest

(3)RationalRobot

(4)RationalPurify3、Telelogic公司产品

最有名的logiscope白盒测试工具4、Parasoft公司产品

JTest白盒测试工具

C++Test白盒测试工具第28页,共60页,2024年2月25日,星期天8.7QTP工具介绍

QTP的全称是QuickTestProfessional,是MI公司继WinRunner之后开发的一款功能测试工具。

QTP能够测试Windows标准程序、各种Web对象、ActiveX控件、VisualBasic应用程序等。第29页,共60页,2024年2月25日,星期天8.7QTP工具介绍1、QTP简介

QTP的全称是QuickTestProfessional,是MI公司继WinRunner之后开发的一款功能测试工具。

QTP能够测试Windows标准程序、各种Web对象、ActiveX控件、VisualBasic应用程序等。第30页,共60页,2024年2月25日,星期天8.7QTP工具介绍2、QTP测试方法使用QTP执行测试与人工测试一样。QTP会仿真鼠标的动作与键盘的输入,会将应用程序的所有操作都记录下来,比如点击一个链接、选择一个复选框等操作都会被QTP捕获,并自动将窗体中的各个控件对象记录下来,存储在对象仓库中。不过QTP比人工测试快得多,可以加速整个测试的过程。第31页,共60页,2024年2月25日,星期天8.7QTP工具介绍3、QTP的测试过程(1)编写测试计划(2)录制测试脚本(3)编辑测试脚本(4)运行测试(5)结果分析第32页,共60页,2024年2月25日,星期天8.7QTP工具介绍4、QTP的安装用户可以选择的安装版本有:

演示版单机版网络版第33页,共60页,2024年2月25日,星期天8.7QTP工具介绍4、QTP的界面介绍

在QTP界面中包含标题栏、菜单栏、文件工具栏、测试工具栏、调试工具栏、测试脚本管理窗口、数据表窗口、活动窗口和状态栏。第34页,共60页,2024年2月25日,星期天QTP界面第35页,共60页,2024年2月25日,星期天测试案例

QTP中自带了两个测试案例:(1)Flight是单机版的软件,用来管理民航系统的订票记录,具有新建订单和查询订单的功能(2)MercuryToursWebsite是MI公司开发的一个B/S结构的小型网站第36页,共60页,2024年2月25日,星期天录制/执行测试脚本录制前的准备(1)已经在MercuryTours示范网站上注册了一个新的使用者账号;(2)在正式录制一个测试之前,关闭所有已经打开的IE窗口;(3)关闭所有与测试不相关的程序窗口;第37页,共60页,2024年2月25日,星期天录制/执行测试脚本(续)在这里我们使用QTP录制一个测试脚本,在MercuryTours示范网站上预定一张从纽约(NewYork)到旧金山(SanFrancisco)的机票。第38页,共60页,2024年2月25日,星期天录制脚本的步骤:

(1)执行QTP并开启一个全新的测试脚本(2)开始录制测试脚本(3)登录MercuryTours网站(4)输入订票数据(5)选择飞机航班(6)输入必填字段(7)完成定制流程(8)停止录制(9)保存脚本第39页,共60页,2024年2月25日,星期天RecordandRunSettings对话框第40页,共60页,2024年2月25日,星期天RecordandRunSettings对话框第41页,共60页,2024年2月25日,星期天分析测试脚本在测试过程中,QTP会在测试管理脚本管理窗口中产生对每一个操作的相应记录。并在关键字视图中一类似Excel工作表的方式显示所录制的测试脚本。测试脚本管理窗口显示的内容如图所示:第42页,共60页,2024年2月25日,星期天测试脚本管理窗口第43页,共60页,2024年2月25日,星期天在关键字视图中的每一个字段的意义:Item:以阶层式图标表示这个操作步骤所作用的组件Operation:要在作用到的组件上执行的操作Value:执行动作的参数Documentation:自动产生用来描述此操作步骤的英文解释第44页,共60页,2024年2月25日,星期天执行测试脚本

当运行录制好的测试脚本时,QTP会打开被测试程序,执行在测试中录制的每一步操作。步骤:(1)打开录制的Flight测试脚本(2)在工具栏上点击“Run”按钮,打开“Run”对话框,询问本次测试运行结果保存到何处(3)点击“OK”按钮开始执行测试脚本第45页,共60页,2024年2月25日,星期天Run对话框第46页,共60页,2024年2月25日,星期天分析测试结果

测试运行结束后,QTP会显示本次运行的结果。

测试结果窗口如下图所示:第47页,共60页,2024年2月25日,星期天测试结果窗口第48页,共60页,2024年2月25日,星期天

在这个测试结果窗口中分两部分显示测试执行的结果:左边显示Testresultstree,以阶层图标的方式显示测试脚本所执行的步骤。右边则是显示测试结果的详细信息。在第一个表格中显示哪些迭代是已经通过的,哪些是失败的。在第二个表格中显示测试脚本的检查点,哪些是通过的,哪些是失败的,以及有几个告警信息。第49页,共60页,2024年2月25日,星期天建立检查点通过前面的学习我们已经掌握了如何录制、执行测试脚本以及查看测试结果。实现了测试执行自动化,但是没有实现测试验证的自动化在测试脚本中设置检查点,验证执行结果的正确性检查点是将指定属性的当前值与该属性的期望值进行比较的第50页,共60页,2024年2月25日,星期天检查点的种类检查点类型说明范例标准检查点检查对象的属性检查某个按钮是否被选取文字检查点检查网页或是窗口上出现的文字是否正确检查图片的来源文件是否是正确的表格检查点检查表格的内容检查表格内的内容是否是正确的网页检查点检查网页的属性检查网页加载的时间或是网页是否含有不正确的链接第51页,共60页,2024年2月25日,星期天

可以在录制测试脚本的过程中,或录制结束后向测试脚本中添加检查点创建检查点

打开Flight测试脚本,将脚本另存为“Checkpoint”测试脚本。在Checkpoint测试脚本中创建4个检查点,分别是:对象检查点、网页检查点、文字检查点和表格检查点。第52页,共60页,2024年2月25日,星期天创建标准检查点步骤(例检查旅客的姓氏)

(1)打开Checkpoint测试脚本(2)选择要建立检查点的网页”BookaFlightMercury”

(3)建立标准检查点对“ActiveScreen”中的“FirstName”编辑框点击鼠标右键,显示插入选择点的类型。选择“InsertStandardCheckpoint”,显示“ObjectSelection-CheckpointProperties”对话框,确定当前的焦点定位在“WebEdit:passFirst0”上,点击“确定”按钮第53页,共60页,2024年2月25日,星期天创建网页检查点步骤

(1)打开Checkpoint测试脚本(2)选择要建立检查点的网页”BookaFlightMercury”

(3)建立网页检查点对“ActiveScreen”中的任意地方点击鼠标右键,显示插入选择点的类型。选择“InsertStandardCheckpoint”显示“ObjectSelection-CheckpointProperties”对话框,确定当前的焦点定位在“Page:BookaFlight:Mercury”上,点击“确定”按钮第54页,共60页,2024年2月25日,星期天创建文字检查点步骤

(1)打开Checkpoint测试脚本(2)选择要建立检查点的网页”FlightConfirmation:Mercury”

(3)建立文字检查点对“ActiveScreen”中选择在“Departing”下方的“NewYork”点击鼠标右键,显示插入选择点的类型。选择“InsertTextCheckpoint”,显示“TextCheckpointProperties”对话框点击“确定”按钮第55页,共60页,2024年2月25日,星期天创建表格检查点步骤

(1)打开Checkpoint测试脚本(2)选择要建立检查点的网页”Book

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论