软件测试 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 佟伟光 1_ 第09章

上传人:E**** 文档编号:89541766 上传时间:2019-05-27 格式:PPT 页数:48 大小:129.50KB
返回 下载 相关 举报
软件测试 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  佟伟光  1_ 第09章_第1页
第1页 / 共48页
软件测试 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  佟伟光  1_ 第09章_第2页
第2页 / 共48页
软件测试 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  佟伟光  1_ 第09章_第3页
第3页 / 共48页
软件测试 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  佟伟光  1_ 第09章_第4页
第4页 / 共48页
软件测试 普通高等教育“十一五”国家级规划教材  教学课件 ppt 作者  佟伟光  1_ 第09章_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《软件测试 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 佟伟光 1_ 第09章》由会员分享,可在线阅读,更多相关《软件测试 普通高等教育“十一五”国家级规划教材 教学课件 ppt 作者 佟伟光 1_ 第09章(48页珍藏版)》请在金锄头文库上搜索。

1、第 9 章 软件测试自动化,9.1 软件自动化测试基础 9.2 自动化测试的作用和优势 9.3 软件自动化测试的引入条件 9.4 软件测试自动化的实施过程 9.5 软件测试工具分类 9.6 几种常用软件测试工具,9.1 软件自动化测试基础,1软件自动化测试的产生 随着计算机日益广泛的应用,计算机软件越来越庞大和复杂,软件测试的工作量也越来越大。,随着人们对软件测试工作的重视,大量的软件测试自动化工具不断涌现出来,自动化测试能够满足软件公司想在最短的进度内充分测试其软件的需求,一些软件公司在这方面的投入,会对整个开发工作的质量、成本和周期带来非常明显的效果。,2软件自动化测试的概念 软件测试自动

2、化就是通过测试工具或其他手段,按照测试工程师的预定计划对软件产品进行自动的测试,它是软件测试的一个重要组成部分,能够完成许多手工无法完成或者难以实现的一些测试工作。正确、合理地实施自动化测试,能够快速、全面地对软件进行测试,从而提高软件质量、节省经费、缩短产品发布周期。,自动化测试能够替代大量手工测试工作,避免重复测试,同时,它还能够完成大量手工无法完成的测试工作,如并发用户测试、大数据量测试、长时间运行可靠性测试等。,9.2 自动化测试的作用和优势,使用测试工具的目的就是要提高软件测试的效率和软件测试的质量。 通常,自动化测试的好处有: 产生可靠的系统; 改进测试工作质量; 减少测试工作量并

3、加快测试进度。,1产生可靠的系统 测试工作的主要目标一是找出缺陷,从而减少应用中的错误;另一个是确保系统的性能满足用户的期望。为了有效地支持这些目标,在开发生存周期的需求定义阶段,当开发和细化需求时则应着手测试工作。,使用自动化测试可改进所有的测试领域,包括测试程序开发、测试执行,测试结果分析、故障状况和报告生成。它还支持所有的测试阶段,其中包括单元测试、集成测试、系统测试、验收测试与回归测试等。,通过使用自动化测试可获得的效果可归纳如下。 (1)需求定义的改进 (2)性能测试的改进 (3)负载/压力测试的改进 (4)高质量测量与测试最佳化 (5)改进系统开发生存周期 (6)增加软件信任度,2

4、改进测试工作质量 通过使用自动化测试工具,可增加测试的深度与广度,改进测试工作质量。其具体好处可归纳如下。,(1)改进多平台兼容性测试 (2)改进软件兼容性测试 (3)改进普通测试执行 (4)使测试集中于高级测试问题 (5)执行手工测试无法完成的测试 (6)重现软件缺陷的能力,3提高测试工作效率 善于使用测试工具来进行测试,其节省时间并加快测试工作进度是毋庸置疑的,这也是自动化测试的主要优点。,表9-1列出了采用手工和自动化测试方式完成各测试步骤所需工作量的基准对比结果。该测试涉及1750个测试程序和700个错误。表9-1中的数字反映出通过测试自动化,测试工作总量减少75%。,软件自动化测试是

5、软件测试技术的一个重要的组成部分,引入自动化测试可以提高软件质量,节省经费,缩短产品发布周期。 自动化测试可以进行基于功能、路径、数据流或控制流的覆盖测试,许多工作是手工测试所无法完成的。测试自动化如果实施正确的话,可以减小了测试工作规模、加快了测试进度、生产出可靠的产品以及增强了测试过程。,9.3 软件自动化测试的引入条件,1. 软件测试自动化实施面临的主要问题 一些小规模公司和企业由于人员、资金、资源都不足,干脆认为测试自动化是个遥不可及的事情,认为不必实施测试自动化。 一些公司和企业一时热血沸腾实施测试自动化,购买了工具,推行了新的测试流程。可是一段时间后,工具却放在那里成了共享资源,测

6、试流程又仍然依旧,回到原来的模式。, 一些公司和企业虽实施了自动化测试,然由于开发与测试之间,甚至与项目经理之间矛盾重重,出了事情不知如何追究责任,虽还在勉强维持自动化测试,但实施成本比手工测试增加了,工作量比从前更大了,从而造成项目团队人员怨声载道,更怀念手工测试的岁月,很难发挥出自动化测试的优势。 一些公司和企业自动化测试实施相对比较成功,但或多或少还有些问题,比如工具选择不准确,培训不到位,文档不完备,人员分配不合理,脚本可维护度不高等,造成一种表面上的自动化测试流程,其实是一幅空架子,影响了测试质量和测试效率的提高。,2. 软件自动化测试的引入条件 管理层要充分意识到软件测试自动化的重

7、要性 对软件测试自动化有正确认识 有一个很好的计划和稳定的应用行为 实施测试自动化必须进行多方面的培训 (5)一个专注的、有着丰富技能的测试团队,并且被分配了足够的时间和资源,9.4 软件测试自动化的实施过程,(1) 熟悉、分析测试用例 (2) 把已有的测试用例归类,写成比较简单的测试自动化计划书 (3) 开始自动化测试程序的编写 (4) 尽量用“数据驱动”来将测试覆盖率提高 (5) 将测试用例写成自动化测试程序 (6) 不断地完善自动化测试系统,9.5 软件测试工具分类,软件测试工具的种类不少,有些以用途来分类,有些以价位来分类,有些则以使用特性来分类。基本上,分类只是一种归纳的方式,这里按

8、照测试工具的主要用途和应用领域将测试软件做了一个整理归纳,将自动化测试工具分为以下几类:, 捕获错误用途; 一般用途; GUI自动化用途; 专项用途; 软件产品功能、性能测试用途; 测试管理工具; 测试辅助工具。,1捕获错误用途 顾名思义就是用于捕获软件错误或程序调试。 2一般用途 这里所说的一般用途,是指这个测试工具在进行测试时,可以适用于大部分的软件。,3GUI自动化用途 目前许多以测试用软件为主要产品的软件公司,大多提供这类的自动化测试软件。这类软件除了提供在窗口界面中使用外,也有不少是针对浏览器接口开发的自动化测试工具。,4专项用途 以专项用途为主的测试工具,就是某种专项测试的软件。

9、(1)专用代码测试工具 (2)白盒测试工具 (3)黑盒测试工具 (4)网络测试工具,5软件产品功能、性能测试用途 这类测试工具通过自动录制、检测和回放用户的应用操作,将被测系统的输出记录同预先给定的标准结果进行比较。,6测试管理工具 测试管理工具用于对测试进行管理。 7测试辅助工具 这些工具本身并不执行测试,例如它们可以生成测试数据,为测试提供数据准备等。,9.6 几种常用软件测试工具,9.6.1 QACenter QACenter自动化测试系列工具是Compuware公司的产品,它能够帮助测试人员创建快速、可重用的测试过程。这些测试工具可以帮助管理测试过程,快速分析和调试程序,包括针对回归、

10、强度、单元、并发、集成、移植、容量、负载测试、自动执行测试和产生测试结果文档。,QACenter主要包括 QARun、 QALoad、 QADirector、 EcoTools 和TESTBytes等模块。,9.6.2 WinRunner WinRunner是Mercury Interactive公司提供的一个企业级的功能检测工具。WinRunner使功能测试得以自动化,从而保证了应用程序按照预定方式运行。它以测试脚本形式将业务的过程记录下来,并随着相应的应用程序的开发或更新来支持对脚本的改进。执行脚本及报告结果在整个的应用周期中可对脚本重复使用。,9.6.3 LoadRunner LoadR

11、unner是Mercury Interactive公司开发的一种预测系统行为和性能的负载测试工具,它可以通过模拟成千上万个用户和实施实时监测来确认和查找问题。对于有实力的大公司而言,这款软件可能比较适合,它的功能和QALoad相比不相上下。通过使用LoadRunner,企业能够最大限度地缩短测试时间、优化性能和加速应用系统的发布周期。,LoadRunner是一种具有较高规模适应性的自动负载测试工具,它能预测系统行为,优化性能,强调的是整个企业的系统。通过模拟实际用户的操作行为和实行实时性能监测,来查找和确认存在的问题。,9.6.4 全球测试管理系统 TestDirector 是第一个基于Web

12、的测试管理系统,它可以在企业内部或外部进行全球范围内测试的管理。通过在一个整体的应用系统中,集成了测试管理的各个部分,包括需求管理,测试计划,测试执行以及错误跟踪等功能,TestDirector极大地加速了测试过程。,TestDirector的基本特性和功能如下: 需求管理 计划测试 测试维护 自动化切换机制,9.6.5 GUI接口自动化测试工具 目前市场上有关GUI形式的自动化测试软件种类相当多,而且所支持的操作平台也越来越多。基本上GUI自动测试的原理就是以录制和播放(Record and Replay)为主要的操作方式。由于每一家开发公司所采用的开发技术不同,因此使用者所要学习的指令编写

13、方式也大不相同。,虽然学习这些指令并不困难,但是要将这些测试软件的功能发挥好,就必须非常熟悉软件所提供的API及函数,所以如果要学会所有的GUI自动测试软件指令,也不是一件容易的事。由于GUI自动化测试软件有相当多的种类,在这里只介绍两种GUI自动化测试软件。它们分别是Rational公司发行的Visual Test与Seapine公司发行的QA Wizard for Web版本。,(1)Visual Test 使用Visual Test并不困难,而且熟悉Microsoft Visual Studio的使用者会发现它与Visual Studio的使用界面几乎相同。 它使用类似Visual Ba

14、sic的语言,编程进行起来简单直接,同时它也具备使用指针处理复杂数据结构的高级功能,这让用Visual Test更容易调用Windows API。,它使用类似Visual Basic的语言,编程进行起来简单直接,同时它也具备使用指针处理复杂数据结构的高级功能,这让用Visual Test更容易调用Windows API。,(2)QA Wizard QA Wizard是由Seapine软件公司开发的。 基本上QA Wizard也是一个录制和播放的自动化测试。,目前的版本只支持Microsoft的IE浏览器,而未来将推出支持Netscape浏览器的版本。 QA Wizard最大的好处是它已经不需要

15、再去对所产生的Script进行修改,当然如果有必要的话,使用者也可以很容易地进行修改。在资料存储上它采用微软的Access MDB。,在使用QA Wizard录制使用者的操作行为时,在浏览器的上端会嵌入QA Wizard的功能栏,这个功能栏提供了Record、Run、Pause、Stop、Checkpoint及Properties 6种功能键。这6种功能可以让使用者自由地操作录制的过程。,9.6.6 BoundsChecker BoundsChecker是用于Visual C+开发环境所开发的程序代码的一个很优秀的自动捕捉错误及调试工具。它最主要的功能是协助程序开发人员快速找出与内存及资源有关

16、的错误,并且指出是哪一行程序代码所导致的。,9.6.7 JTEST jtest是parasoft公司推出的一款针对java语言的自动化白盒测试工具,它通过自动实现java的单元测试和代码标准校验,来提高代码的可靠性。,9.6.8 JUNIT JUnit是一个开源的java测试框架,它是Xuint测试体系架构的一种实现。 在JUnit单元测试框架的设计时,设定了三个总体目标,第一个是简化测试的编写,这种简化包括测试框架的学习和实际测试单元的编写;第二个是使测试单元保持持久性;第三个则是可以利用既有的测试来编写相关的测试。,9.6.9 JCheck JCheck是用来分析 Java执行过程与事件的工具,它可实时监控程序执行的状态。 JCheck的最大特点是能将Java语言的执行过程以图形化的方式表现出来。 JCheck提供的图形分析让开发人员能够更容易了解所开发程序的逻辑部署与控制流程。,9.6.10 CodeReview CodeReview是针对 Visual Basic开

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号