收藏 分享(赏)

软件测试-软件自动化测试.ppt

上传人:无敌 文档编号:4722 上传时间:2018-03-03 格式:PPT 页数:48 大小:2.02MB
下载 相关 举报
软件测试-软件自动化测试.ppt_第1页
第1页 / 共48页
软件测试-软件自动化测试.ppt_第2页
第2页 / 共48页
软件测试-软件自动化测试.ppt_第3页
第3页 / 共48页
软件测试-软件自动化测试.ppt_第4页
第4页 / 共48页
软件测试-软件自动化测试.ppt_第5页
第5页 / 共48页
点击查看更多>>
资源描述

1、软件测试教程,福建工程学院软件学院 叶家青 2011年2月21日,第六章 软件自动化测试,自动化测试的设计与开发常用自动化测试工具简介性能测试实例,本章内容,2,软件自动化测试是相对于手工测试而存在的,主要是通过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可重用性和高效率等特点。测试自动化是软件测试中提高测试效率、覆盖率和可靠性的重要测试手段,也可以说,测试自动化是软件测试不可分割的一部分。,本章概述,3,1.1自动化测试的产生及定义,自动化测试产生的背景:软件测试是一项艰苦的工作;软件测试具有一定的反复性,需要重复进行测试 自动化测试(Testing Automation)就是希

2、望通过自动化测试工具或其他手段,按照测试工程师的预定计划进行自动地测试,目的是减轻手工测试的工作量,从而达到提高软件质量的目的。,4,自动化测试的本质,测试自动化项目本质上是软件开发项目一个测试自动化项目必须具有:清晰定义并严格实施的过程来自组织各级的支持周密的计划具体的设计和架构,5,1.2 自动测试的内涵,为什么要软件测试自动化自动化测试的引入和应用测试自动化的基本结构测试自动化的原理和方法 测试自动化普遍存在的问题,6,手工测试的局限性,7,通过手工测试无法做到覆盖所有代码路径; 许多与时序、死锁、资源冲突、多线程等有关的错误通过手工测试很难捕捉到 在系统负载、性能测试时,需要模拟大量数

3、据、或大量并发用户等各种应用场合时,也很难通过手工测试来进行 在进行系统可靠性时,需要模拟系统运行十年、几十年,以验证系统能否稳定运行,也是手工测试无法模拟的。 如果有大量(几千)的测试用例,需要在短时间内完成,手工测试又怎么办呢? 测试可以发现错误,并不能表明程序的正确性。,手工测试的局限性(2),8,自动测试定义软件系统功能规格书(Spec)只是从书面上的一套软件产品是由一套完整的可运行的测试来定义的测试所有可能情况将遭遇“组合爆炸”问题Win98, WinME, WinNT, Win2k, WinXP, WinXP TablePC Ed, WinXP MediaCenter Ed, Lo

4、nghorn, etcEnglish, German, Japanese, Chinese, Arabic, ThaiOffice 97, Office2000, Office XP, Office 2003X86 32-bit, Intel 64-bit, AMD 64-bit, Alpha, MIPSSQL Server 6.5, SQL Server 7.0, SQL Server 2000 Visual Studio 6, VS .NET, VS .NET 2003, Whidbey,手工测试 vs.自动测试,9,手工测试,耗费时间低可靠性人力资源不一致性仅对于一次性的测试有益,速度

5、可重复 覆盖率 可靠 可以再度使用 重复测试节省时间,自动测试,自动化测试带来的好处,10,1. 缩短测试周期- 回归测试2. Attributes of TA(自动测试的属性),Speed 速度Efficiency 效率Accuracy and Precise 准确、精确 Relentlessness 无情3. 容易实施、结果可靠4. 做手工不能做,自动化测试的局限性,11,并非所有的测试都可以用自动化测试来实现;新的软件缺陷越多,自动化测试失败的几率就越大;技术问题、组织问题、脚本维护问题;测试工具与其他软件的互操作性。,自动化测试的适用情况,12,不现实的期望注定测试自动化的失败测试自动

6、化能:显著降低重复手工测试的时间建立可靠、重复的测试,减少人为错误增强测试质量和覆盖率测试自动化不能:完全替代手工测试和手工测试工程师保证100%的测试覆盖率弥补测试实践的不足,自动化测试的适用情况(2),13,软件测试自动化(TA)虽然具有很多优点,但只是对手工测试的一种补充,TA绝不能代替手工测试,有各自的特点: 在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法; 单元测试、集成测试、系统负载或性能、稳定性、可靠性测试等比较适合采用TA; 对那种不稳定软件的测试、开发周期很短的软件、一次性的软件等不适合测试自动化,自动化测试的适用情况(3),14

7、,软件测试自动化(TA)虽然具有很多优点,但只是对手工测试的一种补充,TA绝不能代替手工测试,有各自的特点: 工具本身并没有想象力和灵活性,根据经验报道,自动测试只能发现15%的缺陷,而手工测试可以发现85%的缺陷;TA工具在进行功能测试时,其准确的含义是回归测试工具,因为工具不能发现更多的新问题,但可以保证对已经测试过部分进行测试的准确性和客观性,自动化测试的工作流程,15,收集测试信息,测试需求是什么?那里能得到用到的数据?,建立基本测试,纪录用户的操作核实成功回放,提高基本测试,插入测试点驱动测试数据,整体测试,关联数据建立综合的测试场景,自动化测试的基本结构,16,拷贝测试文件,拷贝测

8、试结果,分派工作,分派工作,查询结果,Build系统编译,获取测试任务、数据,更新显示,软件包,发布指令,测试自动化的原理和方法,17,代码分析: 类似于高级编译系统,在工具中定义类/对象/函数/变量等定义规则、语法规则等,在分析时对代码进行语法扫描,找出不符合编码规范的地方。 捕获和回放: 代码分析是一种白盒测试的自动化方法,捕获和回放则是一种黑盒测试的自动化方法。,对象识别-1,18,编辑框,下拉框,按钮,复选框,选择框,对象识别-2,19,逻辑名称是对象属性之一的值数值 用于识别对象名称,对象识别-3,20,对象库 是本地在测试结构范围内 存储对像信息.,对象库,例如对象 (属性) 包含

9、登陆窗口在记录过程中捕获的:- Agent Name field- Password field- OK button- Cancel button- Help button,脚本技术,21,线性脚本,是录制手工执行的测试用例得到的脚本,这种脚本包含所有的击键、移动、输入数据等,所有录制的测试用例都可以得到完整的回放。 结构化脚本,类似于结构化程序设计,具有各种逻辑结构、函数调用功能。 共享脚本,是指某个脚本可以被多个测试用例使用。 数据驱动脚本,将测试输入存储在独立的(数据)文件中,而不是存储在脚本中。 关键字驱动脚本,是数据驱动脚本的逻辑扩张,脚本例子 -1,22,GUI Script (

10、.rec)Low-Level scriptVU Script (.S)GUI Shell Script (.rec)Project Header File (.sbh)SQABasic File (.sbl),脚本例子 -2,23,GUI 脚本类型,24,TS-scriptt include the script which can not be re-used, we often use it to generate test log.它属于不能被重用的脚本, 我们经常用它生成测试日志.B-scriptTA Building block, it include the script whic

11、h can be re-used. 自动测试构件库,它包括那些能够被重用的脚本U-scriptUsed to make sure all code in a function can work normally. 用于确定一个函数中所有能够正常工作的代码,测试自动化普遍存在的问题,25,不正确的观念或不现实的期望 缺乏具有良好素质、经验的测试人才 测试工具本身的问题影响测试的质量 没有进行有效的、充分的培训 没有考虑到公司的实际情况,盲目引入测试工具 没有形成一个良好的使用测试工具的环境 其它技术问题和组织问题,测试自动化普遍存在的问题,26,不正确的观念或不现实的期望 缺乏具有良好素质、经验

12、的测试人才 测试工具本身的问题影响测试的质量 没有进行有效的、充分的培训 没有考虑到公司的实际情况,盲目引入测试工具 没有形成一个良好的使用测试工具的环境 其它技术问题和组织问题,1.3 测试工具的运用及作用,软件测试的过程是一项很复杂而费时的工作,它不仅执行每一个测试用例,还要设置运行环境、记录输出、运行后清理并记录失败信息。仅仅依靠测试人员手工完成是很困难的。所以必须研究测试工具以帮助测试人员自动或半自动的完成测试。 在资金和人力、时间的供给一定的条件下面,拥有好的测试工具能够提高测试效率从而降低测试成本,则能够选择更高的测试充分性标准进行测试,从而提高软件质量。,27,测试工具的例子,2

13、8,测试工具的分类,29,代码分析工具- 静态分析- 动态分析测试执行工具- 捕获和回放 ( Record & Playback)- 监控工具- 测试桩和驱动桩- 自动化测试环境测试用例生成工具,测试工具的选择,30,测试工具的主流产品介绍,31,面向开发的单元测试工具负载和性能测试工具GUI功能测试工具基于Web应用的测试工具软件测试管理和其他工具,面向开发的单元测试工具,32,根据不同的语言进行分类:C/C+单元级测试工具Panorama C+,C+Test, Numega JUnit是一个开发源代码的Java测试框架根据工具的功能特点进行分类: 内存资源泄漏检查工具:Numega中的Bo

14、unceChecker, Rational的Purify等 代码覆盖率检查工具:Numega的TrueCoverage, Rational的PureCoverage,TeleLogic公司的Logiscope 代码性能检查工具:Logiscope和 Macabe等。 软件纠错工具Rational Purl等。,负载和性能测试工具,33,GUI功能测试工具,34,将操作应用程序的各种动作和输入记录下来,包括键盘操作、鼠标点击等捕捉(Record)下来,生成一个脚本文件,这个脚本以后可以被“回放( playback)” 。在实际测试过程中,要根据测试需求对录制的脚本进行一些必要的修改或加入一些参数

15、,如选择不同的测试数据、脚本中插入检查点(Check Point)进行跟踪调试等。 基于GUI功能测试工具主要适合回归测试阶段。当一个应用开发基本完成后,程序界面基本定型,虽然业务的需求会很频繁变化,但测试脚本结构基本不需要改动,只需要做些小调整,就可以自动运行,则可大大提高了测试的效率和测试的准确性。 目前主要产品有MI公司的 WinRunner, Compuware的QARun, Rational的 SQA Robot,MS Visual Test Suite等,GUI自动化测试,35,设计测试用例,并手工进行测试。 如果测试未通过,则先改正缺陷,再次执行测试。 如果测试通过,利用测试工具

16、运行该测试过程,捕获运行过程需要检测的屏幕对象,并保存。 在进行回归测试,自动利用测试工具运行测试,并比较运行过程的屏幕对象与保存的屏幕对象比较,从而判断测试用例是否通过。,基于Web应用的测试工具,36,基于Web应用的测试工具主要进行链接检查、HTML检查、Web功能和Web站点安全性等各个方面的测试。 主要Web测试工具有MI公司的Astra系列(如AstraQuickTest)、RSW公司的 E-Test Suite等;Web系统测试工具: WorkBench、Web Application Stress Tool(WAS)、页面链接测试Link Sleuth等。,Web应用的性能测试

17、测什么?,37,各种操作的响应速度最大并发用户数最大数据容量,其他Web负载发生工具,38,Cyranos OpenSTA Quest Softwares Benchmark Factory Empirixs E-Test Suite 6.0 RadViews WebLoad 5.0 Rational Softwares Rational Robot Mercury Interctives Astra LoadRunner 7.5 Compuwares QA Load 4.7 Segue Softwares SilePerformer 5.0,1.4 性能测试实例,39,例:某培训中心试题库的

18、性能测试该试题库是用来对参加培训的人员培训结果的一个考核.试题库在培训中心内部Web服务器上,假设开设50个账号和密码可供50个考生同时参加考试。要求,每台机器只能由一个用户使用,每个用户只能使用各自不同的账号登陆考试系统,做完题目后,要求提交考试结果,若在指定的时间内不能提交,则系统强制提交考试结果。,1.4.1 现场测试环境,40,硬件:50台PC机,Web服务器软件:Loadrunner 8.0,Windows 2000,IE 5.0和IE 6.0。人员:质控小组2人,执行现场测试。项目小组22人,提供现场环境。技术小组1人,提供技术支持。,1.4.2 测试要求,41,50个用户拥有独立

19、IP地址,不同的用户及密码登录,试题完成后各自同时提交。,1.4.3 测试内容,42,50个用户以不同的用户名和密码登陆试题库。试题完成后,提交考试结果。测试结果是否能正常提交以及正确评分。,1.4.4 测试方案,43,完成20台实际的PC机进行现场测试分3轮9遍执行,每一轮分别设定用户全部提交、用户分批提交两种情况,并设定第一遍使用IE5.0,第二遍使用IE5.0和IE6.0混合的方式,第三遍使用IE6.0的方式进行测试。具体过程参见书本。,1.4.4 测试方案,44,模拟20个用户(含10台PC机)进行测试模拟20个用户(含5台PC机)进行测试模拟35个用户进行测试模拟50台用户进行测试重

20、复测试方案550台PC机现场测试,1.4.5 测试过程,45,注意:该测试过程针对虚拟IP地址情况。一台PC机上创建15个虚拟的IP地址启动Virtual User Gennerator,并录制脚本,由于50个用户的账号和密码各不相同,所以,要修改脚本,设置参数。,1.4.5 测试过程,46,启动LoadRunner Controller,先将刚才保存的脚本添加进来。然后单击Scenario菜单,激活其中的Enable IP Spoofer。单击屏幕右方的Generators,添加已经建立的IP,然后建立连接。,1.4.5 测试过程,47,对连接起来的不同用户(IP地址)分配不同的脚本,在Controller中design中,单击Load Gennerators其中,每个脚本有一个用户执行。执行Scenario。,谢谢!,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 中等教育 > 职业教育

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报