




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件测试主讲:许福联络方式:62336516手机:10910901邮件:xufu@地址:信息学院软件教研室主楼411第四章软件自动化测试主要内容4.1自动化测试根底4.2软件自动化测试生存周期方法学4.3软件测试工具分类4.4选择适当的测试工具4.5常见自动测试工具简介4.1自动化测试根底4.1.1自动化测试的意义4.1.2自动化测试的定义和引入4.1.3自动化测试的原理和方法4.1.4自动化测试工具的作用及优势4.1.5自动化测试的运用4.1.1自动化测试的意义软件测试的任务量很大〔据统计,测试会占用到40%的开发时间;一些可靠性要求非常高的软件,测试时间甚至占到开发时间的60%-80%〕。而测试中的许多操作是反复性的、非智力性的和非发明性的,并要求做准确细致的任务,计算机就最适宜于替代人工去完成这样的义务。软件自动化测试是相对手工测试而存在的,主要是经过所开发的软件测试工具、脚本等来实现,具有良好的可操作性、可反复性和高效率等特点。手工测试的局限性经过手工测试无法做到覆盖一切代码途径。简单的功能性测试用例在每一轮测试中都不能少,而且具有一定的机械性、反复性,任务量较大。许多与时序、死锁、资源冲突、多线程等有关的错误,经过手工测试很难捕捉到。进展系统负载、性能测试时,需求模拟大量数据或大量并发用户等各种运用场所时,很难经过于工测试来进展。进展系统可靠性测试时,需求模拟系统运转10年、几十年,以验证系统能否稳定运转,这也是手工测试无法模拟的。假设有大量〔几千〕的测试用例,需求在短时间内〔1天〕完成,手工测试几乎不能够做到。自动化测试带来的益处缩短软件测试周期,让产品更快投放市场。测试效率高,充分利用硬件资源。节省人力资源,降低测试本钱。加强测试的稳定性和可靠性。提高软件测试的准确度和准确度。使测试任务开展相对比较容易,产生更高质量的产品。手工不能做的事情,自动化测试能做,如负载、性能测试。
软件测试实行自动化进程,绝不是由于腻烦了反复的测试任务,而是由于测试任务的需求,更准确地说是回归测试和系统测试的需求。建立正确的自动化测试目的目前,软件自动化测试还不能处理一切的测试问题,因此,需求建立正确的自动化测试目的。测试方案产生:主要靠测试工程师与软件消费质量保证专家的协作,自动化工具只能起到一定的辅助作用。一种测试工具不完全适用于一切测试自动测试不一定减轻任务量测试进度能够不一定缩短测试工具不一定易于运用自动化测试的普遍运用存在局限测试覆盖率不会到达百分之百
4.1.2自动化测试的定义自动化测试可以被了解为运用一个商业通用测试自动化工具编写一个软件来测试其它软件,是经过编写软件去测试其它软件。编写驱动被测运用程序的测试脚本以执行键盘、鼠标动作和后台进程并验证运用程序的呼应和行为。自动化测试的定义和引入(续)对自动化测试需求有正确认识能提高测试效率、覆盖率和可靠性等。自动化测试是对手工测试的一种补充,不能完全替代手工测试。它们各有特点,其测试对象和测试范围都不一样:在系统功能逻辑测试、验收测试、适用性测试、涉及物理交互性测试时,多采用黑盒测试的手工测试方法单元测试、集成测试、系统负载测试、性能测试、稳定性测试、可靠性测试等比较适宜采用自动化测试。不稳定软件的测试、开发周期很短的软件、一次性的软件等不适宜自动化测试。自动化测试工具在进展功能测试时,其准确的含义是回归测试工具,这时工具不能发现更多的新问题,但可以保证对曾经测试过部分的准确性和客观性。
多数情况下,手工测试和自动化测试应该相结合,以最有效的方法来完成测试义务。自动化测试的定义和引入〔续〕通常,当软件开发过程具有以下情况时,就需求思索引入自动化测试:非常重要的测试;涉及范围很广的测试;对主要功能的测试;容易自动化的测试;很快有报答的测试;运转最频繁的测试;测试个案的生成,包括测试输入、测试输出、测试操作指令等;测试的执行与控制,包括单机运转和网络多机分布式的运转,在节假日的运转,测试个案调用控制,测试对象、测试范围与测试版本的控制等;测试结果与规范输出进展对比;不吻合预期的测试结果的分析、记录、分类和报告,及总体测试情况的统计及报表的产生。
并非任何测试自动化都可以起到预期效果,只需好的自动化测试体系才干扬长避短,到达建立自动化测试体系的初衷,在质量保证方面有所作为。否那么测试自动化能够会由于其建立和维护等方面的负担呵斥延误工期、本钱浪费,甚至最终被完全放弃。选择高效的自动化测试体系
如何评价一个测试或测试自动化体系能否优越呢?为此,我们应该关注自动化测试体系的以下七个方面的属性。
(1)可维护性
指能否可以很容易使测试更新跟上软件晋级的步伐。
软件会变卦或晋级是注定的现实,防止变卦或晋级呵斥自动化测试的维护任务量过大是很重要的,否那么整个测试自动化任务将能够被全面否决,甚至束之高阁。
(2)高效性
效率是与本钱严密联络的,自动化测试的一个重要目的就是更经济地运转测试。应在测试和测试自动化的设计阶段全面审视各方面要素,在科学合理的测试流程根底上利用优秀的自动化战略将自动化测试与手工测试有机结合,才干实现效率最大化。
(3)可靠性
指测试体制能否能给出准确而且可重现的结果。
(4)兼容性
指能否允许测试用例为不同的测试目的而以不同的方式组合。
(5)可用性
指定制或更改测试用例能否容易,测试人员或用户掌握和了解其运用方法能否容易。
(6)强壮性
指能否可以处置不测情况而不退出或终止,并尽量给出正确有用的信息。
(7)可移植性
指在不同环境中运转测试的才干。
应根据运用自动化测试体系的实践目的,综合思索这七个方面的详细属性,有针对性地提高本人关注的属性,以实施符合实践需求的自动化测试体系。4.1.3自动化测试的原理和方法软件自动化测试是经过设计特殊程序模拟测试人员对计算机的操作过程、操作行为,或者类似于编译系统那样对计算机程序进展检查。软件测试自动化实现的原理和方法主要有:对代码进展静态和动态分析测试过程的捕获和回放测试脚本技术虚拟用户技术代码分析一种白盒测试的自动化方法。代码分析类似于高级编译系统,普通针对不同的高级言语去构造分析工具,在工具中定义类、对象、函数、变量等定义规那么、语法规那么。在分析时对代码进展语法扫描,找出不符合编码规范的地方。根据某种质量模型评价代码质量,生成系统的调用关系图等。捕获和回放
一种黑盒测试的自动化方法。捕获是将用户每一步操作都记录下来。将用户界面的像素坐标或程序显示对象〔窗口、按钮、滚动条等〕的位置,以及相对应的操作、形状变化或是属性变化。一切的记录转换为一种脚本言语所描画的过程,以模拟用户的操作。回放是将脚本言语所描画的过程转换为屏幕上的操作,然后将被测系统的输出记录下来同预先给定的规范结果比较。可以大大减轻黑盒测试的任务量,在迭代开发的过程中,可以很好地进展回归测试。捕获和回放<续>
自动化负载测试几乎都是采用“录制-回放〞技术。首先,由手工完成一遍需测试的流程,由计算机记录下客户端和效力器端之间的通讯信息〔这些信息通常是一些协议和数据〕,构成特定的脚本程序(Script)。统终身成多个虚拟用户,运转该脚本,监控系统性能,并提供分析报告。这样,经过几台机器就可以模拟出成百上千用户,以便于对系统进展负载才干测试。捕获和回放<续>
脚本技术
脚本是测试工具执行的一组指令的集合,是计算机程序的一种方式。脚本可以经过录制测试的操作产生,然后再做修正,这样可以减少脚本编程的任务量。也可以直接用脚本言语编写脚本。脚本技术可以分为以下几类:线性脚本——录制手工执行的测试用例得到的脚本。构造化脚本——类似于构造化程序设计,具有各种逻辑构造〔顺序、分支、循环〕,而且具有函数调用功能。共享脚本——是指某个脚本可被多个测试用例运用,即脚本言语允许一个脚本调用另一个脚本。数据驱动脚本——将测试输入存储在独立的数据文件中。关键字驱动脚本——是数据驱动脚本的逻辑扩展。自动化测试工具的特征软件测试自动化通常借助测试工具进展。支持脚本化言语(ScriptingLanguage)对程序界面中对象的识别才干支持函数的可重用支持外部函数库笼统层—将程序界面中的对象实体映射成逻辑对象分布式测试(DistributedTest)的支持支持数据驱动测试(Data-DrivenTest)错误处置调试器(Debugger)源代码管理支持脚本的命令行(CommandLine)方式4.1.4自动化测试工具的优势和局限测试工具可以进展部分的测试设计、实现、执行和比较的任务。部分的测试工具可以实现测试用例的自动生成,但通常的任务方式为人工设计测试用例,运用工具进展用例的执行和比较。采用自动比较技术,还可以自动完成测试用例执行结果的判别,从而防止人工比对存在的疏漏问题。自动化测试工具的作用:〔1〕确定系统最优的硬件配置。〔2〕检查系统的可靠性。〔3〕检查系统硬件和软件的晋级情况。〔4〕评价新产品。自动化测试工具的作用及优势〔续〕自动化测试工具的优势主要表达在以下几个方面:〔1〕记录业务流程并生成脚本程序的才干。〔2〕对各种网络设备〔客户机或效力器、其它网络设备〕的模拟才干。〔3〕用有限的资源生成高质量虚拟用户的才干。〔4〕对于整个软件和硬件系统中各个部分的监控才干。〔5〕对于测试结果的表现和分析才干。测试自动化限制测试自动化可以带来非常明显的收益,但也有以下限制:不能取代手工测试手工测试比自动测试发现的缺陷更多对测试质量的依赖性极大测试自动化不能提高有效性测试自动化能够会制约软件开发工具本身并无想象力
另外,人工测试比测试工具更优越的另一个方面是可以处置不测事件。虽然工具也能处置部分异常事件,但是对真正的突发事件和不能由软件处理的问题就无能为力。4.1.5自动化测试的运用测试用例〔TestCase,测试个案〕的生成测试的执行与控制测试结果与规范输出的对比不吻合测试结果的分析处置测试形状的统计和报表的生成自动化测试与开发中产品每日构建的配合采用自动化比较技术4.2软件自动化测试生存周期方法学自动化测试生存周期方法学1.自动化测试决议2.测试工具获取3.自动化测试引入过程4.测试方案、设计与开发5.测试执行与管理6.测试评审与评价自动化测试生存周期方法学构造自动化测试生存周期方法的运用自动化测试生存周期方法学1.自动化测试决议2.测试工具获取3.自动化测试引入过程4.测试方案、设计与开发5.测试执行与管理6.测试评审与评价A.系统生存周期过程评价与改良F.生成维护阶段C.小型工具先导/原型D.系统设计与开发阶段B.业务分析与需求阶段E.组装与测试阶段4.3自动化测试工具的分类根据测试方法不同,自动化测试工具可以分为:白盒测试工具黑盒测试工具自动化测试工具的分类(续)按照主要用途和运用领域分类:捕获错误用途:用于捕获软件错误或程序调试。代码覆盖率分析器和代码丈量器内存走漏监测工具可运用性测试工具测试数据生成器测试管理工具网络测试工具GUI测试工具负载和性能测试工具公用工具4.4选择自动化测试工具测试人员在选择和运用自动化测试工具时,可以从以下角度来思索:关注组织的需求自主开发购买按照用途选择匹配的测试工具在适当的生命周期选择测试工具按照测试人员的实践技艺选择匹配的测试工具选择一个可提供的测试工具4.5几种常用软件测试工具QACenterQACenter自动化测试系列工具是Compuware公司的产品,它可以协助测试人员创建快速、可重用的测试过程。这些测试工具可以协助管理测试过程,快速分析和调试程序,包括针对回归、强度、单元、并发、集成、移植、容量、负载测试、自动执行测试和产生测试结果文档。WinRunnerWinRunner是MercuryInteractive公司提供的一个企业级的功能检测工具。WinRunner使功能测试得以自动化,从而保证了运用程序按照预定方式运转。它以测试脚本方式将业务的过程记录下来,并随着相应的运用程序的开发或更新来支持对脚本的改良。执行脚本及报告结果在整个的运用周期中可对脚本反复运用。LoadRunnerLoadRunner是Merc
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 防虫植物墙施工方案
- 2025年抗菌药物培训试卷(+答案)
- 2025年叉车司机考试车辆维修保养知识考试题库及答案
- 图书馆馆藏建设课件
- 零冷水燃热改造工程方案(3篇)
- 工程施工方案预算会议(3篇)
- 图书馆图书分类课件
- 2025年教育质量评估与认证体系教育质量评价体系风险防控研究报告
- 新能源行业2025年危机公关应对策略创新与实践案例研究
- 直播带货2025年主播品牌合作策略与行业创新研究报告
- 金属冶炼安全事故案例与分析
- 动物诊疗机构报告登记表
- 南京市2023-2024高一上学期期末英语试卷及答案
- 非法人经营授权书饿了么
- 了解胃肠肿瘤
- 2023年产科手术分级及安全核查培训考试试题
- 数字孪生及车间实践第三篇数字孪生车间
- 时间像小马车课件
- 2022-CSP-J入门级第一轮试题答案与解析
- GB/T 43211-2023软木粒机械筛分测定粒度的试验方法
- 液压与气动技术PPT完整版全套教学课件
评论
0/150
提交评论