测试技术基础培训.pdf


beplayapp体育下载分类:bepaly下载苹果 | 页数:约124页 举报非法beplayapp体育下载有奖
1 / 124
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该beplayapp体育下载所得收入归上传者、原创者。
  • 3.下载的beplayapp体育下载,不会出现我们的网址水印。
1 / 124
beplayapp体育下载列表 beplayapp体育下载介绍
该【测试技术基础培训 】是由【流金岁月】上传分享,beplayapp体育下载一共【124】页,该beplayapp体育下载可以免费在线阅读,需要了解更多关于【测试技术基础培训 】的内容,可以使用beplayapp体育下载的站内搜索功能,选择自己适合的beplayapp体育下载,以下文字是截取该文章内的部分文字,如需要获得完整电子版,请下载此beplayapp体育下载到您的设备,方便您编辑和打印。:..测试技术基础培训:..培训内容?第一章测试技术的发展历程?第二章测试基本概念?第三章基本测试技术:..第一章测试技术的发展历程?60年代(软件工程建立前),为表明程序正确而进行测试。?1972年,BillHetzel在NorthCarolina大学举行第一次以软件测试为主题的正式会议。?1979年,GlenfordMyers《TheArtofSoftwareTesting》提出测试的目的是证伪。:..第一章测试技术的发展历程?1981年,BillHetzel开设“StructuredSoftwareTesting”公共课?1988年DavidGelperin&BillHetzel在“CommunicationsoftheACM”发表“TheGrowthofSoftwareTesting”。?70年代后期至80年代中期的QA部门。:..第一章测试技术的发展历程1996年提出的测试能力成熟度TCMM(TestingCapabilityMaturityModel)、测试支持度TSM(TestabilitySupportModel)、测试成熟度TMM(TestingMaturityModel)。:..第二章测试基本概念???????:..:..为什么会出现软件缺陷?导致软件缺陷最大的原因是产品说明书。?软件缺陷的第二大来源是设计方案。?编写代码其他10%?其他编写代码7%软件产品说明书(需求)设计56%27%:..软件缺陷的修复费用?从开始到计划、编制、测试、一直到公开使用的过程中,都有可能发现软件缺陷。?随着时间推移,修复软件缺陷的费用呈几何数级地增长。软件缺陷在不同阶段发现时修改的费用示意图:..测试模式测试方法论测试方法论测试组管理员测试组管理员测试模式测试模式测试团队测试团队测试组成员测试组成员测试计划及设计工具测试计划及设计工具测试工具测试工具测试开发及执行工具测试开发及执行工具测试评估及缺陷跟踪工具测试评估及缺陷跟踪工具:..?软件测试就是在软件投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。?软件生存期的各个阶段都可能产生错误。而软件需求分析、设计和实现阶段是软件的主要错误来源。:..?软件测试的对象?软件测试不等于程序测试。?需求规格说明、概要设计规格说明、详细设计规格说明、源程序都是软件测试的对象。?软件测试贯串于软件定义和开发的整个期间。:..?软件测试的分类–按测试用例设计方法:?白盒测试?黑盒测试。–按测试策略和过程:?单元测试、?集成测试、?确认测试、?系统测试。:..?软件测试的原则–尽早地和不断地进行软件测试–避免测试自己的程序–执行测试计划,排除随意性–增量测试,由小到大–周密的测试用例(输入条件(合理、不合理)、预期输出结果)–回归测试–出错统计和分析:..-软件开发过程各环节的关系:..-V模型:..-V模型?V模型:需求、功能、设计和编码的开发活动随时间而进行,而相应的测试活动(即针对需求、功能、设计和编码的测试)开展的次序正好相反。?成功应用软件开发V模型的关键因素是设计测试案例的时机。:..-V模型?V模型的问题:–误解:“测试是开发之后的一个阶段”、“测试的对象就是程序本身”。–实际应用中容易导致需求阶段的错误一直到最后验收阶段才被发现。:..-W模型:..-W模型?W模型:–测试伴随整个开发周期。–测试的对象不仅仅是程序,还包括需求和设计。?W模型应用:–相应开发活动完成,即可执行测试(例如:需求分析完成,即可对需求进行测试)。:..-W模型?W模型未解决V模型中的部分问题:–需求、设计、编码串行进行,无法并行工作。–未将测试流程的完整性表示出来。:..-H模型?测试流程:–测试准备活动:测试计划、测试设计、测试开发。–测试执行活动:测试运行、测试评估。:..-H模型?H模型:–测试不仅仅是测试执行,还包括其他活动。–测试是一个独立流程,贯穿产品整个周期,于其他流程并发进行。–测试要尽早准备,尽早执行。:..-H模型?应用H模型的意义:–测试准备和测试执行分离,有利于资源调配。降低成本,提高效率。–充分体现测试过程(不是技术)的复杂性。–有组织、结构化的独立流程,有助于跟踪测试投入的流向。:..-开发各阶段的测试工作:..?广义的软件测试是由确认、验证、测试3个方面组成。–确认(validation):评估将要开发的软件产品是否正确无误、可行和有价值的。确认意味着确保一个待开发软件是正确无误的,是对软件开发构想的检测。–验证(verification):检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各阶段的要求或期望的结果相一致。验证意味着确保软件会正确无误地实现软件的需求,开发过程是沿着正确的方向进行的。–测试:与狭隘的测试概念统一。:..?确认主要体现在计划阶段、需求分析阶段,也会出现在测试阶段;验证主要体现在设计阶段、编码阶段;测试主要体现在编码阶段和测试阶段。?确认、验证、测试是相辅相成的。确认产生验证和测试的标准,验证和测试帮助完成确认(特别在系统测试阶段)。:..,反映了软件的不同侧面,也适用于不同的开发环境:..?任何工程产品都可以使用以下的两种方法进行测试:–已知产品的功能设计规格,可以进行测试证明每个实现了的功能是否符合要求。(黑盒测试)。–已知产品的内部工作过程,可以通过测试证明每种内部操作是否符合设计规格的要求,所有内部成分是否已经过检查。(白盒测试)。:..-黑盒测试输出输出输入输入黑盒测试又称黑盒测试又称功能测试功能测试、数据驱动测试或基于、数据驱动测试或基于规格说明的测试,也可被成为规格说明的测试,也可被成为用户测试用户测试,主要,主要应用于快速应用开发应用于快速应用开发((RADRAD))环境环境:..-黑盒测试?黑盒测试法把程序看成一个黑盒子,完全不考虑程序内部结构和处理过程。?黑盒测试是在程序接口进行测试,它只是检查程序功能是否按照规格说明书的规定正常使用。?黑盒测试又称功能测试。:..-黑盒测试:..-黑盒测试?典型黑盒测试方法–等价类划分–因果图–边界值分析:..-黑盒测试?黑盒主要是为了发现以下几类错误:–是否有不正确或遗漏了的功能?–在接口上,输入能否正确地接受?能否输出正确的结果?–是否有数据结构错误或外部信息(例如数据文件)访问错误?–性能上是否能够满足要求?–是否有初始化或终止性错误?:..-白盒测试应用程序白盒测试又称白盒测试又称结构测试结构测试、逻辑驱动测试或基于、逻辑驱动测试或基于程序本身的测试,也可成为程序本身的测试,也可成为程序员测试程序员测试,主要,主要应用于结构化开发环境应用于结构化开发环境:..-白盒测试?白盒测试的前提是可以把程序看成装在一个透明的白盒子里,也就是完全了解程序结构盒处理过程,这种方法按照程序内部逻辑测试程序,检验程序中每条通路是否按预定要求正确工作。?白盒测试又称结构测试。:..-白盒测试:..?静态测试是指不利用计算机运行被测程序,而是通过其他手段达到检测的目的。包括需求评审、设计评审、代码审查等。?静态测试并不等同于人工测试,它也可以利用计算机作为对被测程序进行特性分析的工具,而只是不真正运行被测程序。?静态方法也常常被称为“分析”,静态测试是对被测程序进行特性分析的方法的总称。:..(CodeInspections)?代码审查会的过程如下:(1)会前准备:如组织者在会议开始之前把这个程序清单和设计规范分发给小组的其他成员,以便在会议之前熟悉这些材料。(2)会议期间:。。(3)会后检查:把已查出错误清单交程序员,并对修改结果进行跟踪。?代码审查关注下列类型问题:(1)数据引用错误(2)数据说明(3)计算(4)比较(5)控制流(6)接口(7)输入/输出(8)其它检查:..?静态测试阶段的任务:(1)检查算法的逻辑正确性。(2)检查模块接口的正确性。(3)检查输入参数是否有合法性检查。(4)检查调用其他模块的接口是否正确。(5)检查是否设置了适当的出错处理。(6)检查表达式、语句是否正确,是否含有二义性。(7)检查常量或全局变量使用是否正确。(8)检查标识符的使用是否规范、一致。(9)检查程序风格的一致性、规范性。(10)检查代码是否可以优化,算法效率是否最高。(11)检查代码注释是否完整,是否正确反映了代码的功能。:..?静态测试可以完成以下工作:(1)发现下列程序的错误:错用局部变量和全局变量;未定义的变量、不匹配的参数;不适当的循环嵌套或分支嵌套、死循环、不允许的递归;调用不存在的子程序,遗漏标号或代码。(2)找出以下问题的根源:从未使用过的变量;不会执行到的代码、从未使用过的标号;潜在的死循环。(3)提供程序缺陷的间接信息:所用变量和常量的交叉应用表;是否违背编码规则;标识符的使用方法和过程的调用层次。(4)为进一步查找做好准备。(5)选择测试用例。(6)进行符号测试。:..、动态测试?动态方法的主要特征是计算机必须真正运行被测试的程序,通过输入测试用例对其运行情况(即输入与输出的对应关系)进行分析,达到检测的目的。?动态测试包括:单元测试、集成测试、系统测试、用户的验收测试和回归测试。:..?使用静态和动态测试进行结构和功能测试:测试阶段执行人静态校验动态校验可行性评审开发人员,用户√需求评审开发人员,用户√设计评审开发人员√单元测试开发人员√集成测试开发人员,测试人员√系统测试开发人员在测试人员√的协助下完成验收测试用户√:..:..-测试的数据流:..-单元测试?单元测试又称为模块测试,是针对程序模块(软件设计的最小单位)来进行正确性检验的测试工作。?软件单元测试的目的是检测程序模块对《详细设计说明书》的符合程度;软件单元测试依据是《单元测试计划》。:..-单元测试?软件单元测试由测试工程师编制测试用例进行测试,及针对程序模块进行多次循环反复的单元测试,并将测试结果记录在针对单元测试的《软件测试报告》上。?若程序模块通过单元测试,则按《配置管理规范》所规定的标识方法进行标识。:..-单元测试?模块接口测试?局部数据结构测试?路径测试?错误处理测试?边界测试:..-单元测试的步骤?通常单元测试是在编码阶段进行的。在源程序代码编制完成。经过评审和验证,确认没有语法错误之后,就开始进行单元测试的测试用例设计。–驱动模块:相当于所测模块的主程序。–桩模块:也叫做存根模块。用以代替所测模块调用的子模块。:..-单元测试的环境:..-单元测试完成单元测试单元测试单元测试单元测试单元测试单元测试单元测试单元测试单元测试单元测试:..-集成测试?为什么要进行集成测试??实践表明,软件的一些模块能够单独地工作,但并不能保证组装连接之后也肯定能正常工作。程序在某些局部反映不出来的问题,在全局情况下有可能暴露出来,影响软件功能的实现。可能的原因有以下几方面:(1)模块相互调用时引入了新的问题,例如数据可能没有正确传递,一模块对另一模块产生了不利的影响等。(2)几个子功能组合后不能实现预期的主功能。(3)单个模块的误差累计达到了不可接受的程度。(4)全局数据结构出现问题。:..-集成测试?集成测试(IntegratedTesting)阶段是指每个模块完成单元测试后,需要按照设计时确定的程序结构图,把它们连接起来进行集成测试。集成测试也称为综合测试、组装测试、联合测试。?集成测试的对象:经过单元测试的程序模块间调用关系和接口数据。?集成测试的目的:找出与软件设计相关的程序结构,模块调用关系,模块间接口方面的问题。?集成测试的测试依据:程序结构设计beplayapp体育下载(包括概要设计说明书、详细设计说明书等)。?集成测试的基本方案:非增量式测试、增量式测试。:..-集成中的组装方法?非增量式测试是采用一步到位的方法来构造测试:对所有模块进行个别的单元测试后,按照程序结构图将各模块连接起来,把连接后的程序当作一个整体进行测试。?非增量式测试的缺点:当一次集成的模块较多时,这种测试容易出现混乱,因为测试时可能发现了许多故障,为每一个故障定位和纠正非常困难,并且在修正一个故障的同时,可能又引入了新的故障,新旧故障混杂,很难判定出错的具体原因和位置。:..-集成中的组装方法Ad1d2d3d4d5BCDBCDEFEFs1s2(1)程序结构图AABCDS3S4S5EF(2)单元测试示意图(3)集成测试示意图:..-集成中的组装方法?增量式测试的集成是逐步实现的:逐次将未曾集成测试的模块和已集成测试的模块(或子系统)结合成程序包,再将这些模块集成为较大系统,在集成的过程中边连接边测试,以发现连接过程中产生的问题。?按照不同的实施次序,增量式集成测试又可以分为三种不同的方法:?自顶向下增量式测试?自底向上增量式测试?混合增量式测试:..-集成中的组装方法?自顶向下增量式测试?这种集成方式是将模块按系统的程序结构自顶向下进行集成,即模块集成的顺序是首先集成主控模块(主程序),然后沿控制层次向下进行集成。从属于主控模块的按深度优先方式(纵向)或者广度优先方式(横向)集成到结构中去。?深度优先方式的集成:首先集成在结构中的一个主控路径下的所有模块,主控路径的选择是任意的。?广度优先方式的集成:首先沿着水平方向,把每一层中所有直接隶属于上一层的模块集中起来,直到最底层。:..-集成中的组装方法?自顶向下增量式测试的步骤:(1)以主控模块为所测模块兼驱动模块,所有直属于主控模块的下属模块全部用桩模块代替。(2)采用深度优先或广度优先的策略,用实际模块替换相应桩模块,再用桩模块代替实际模块的直接下属模块,与已测试的模块或子系统集成为新的子系统。下层的桩模块一次一次地被替换为真正的模块。(3)进行回归测试(即重新执行以前做过的全部测试或部分测试),排除集成过程中引起错误的可能。(4)判断是否所有的模块都已集成到系统中,是则结束测试,否则转到(2)去执行。:..-集成中的组装方法广度优先方式AABCDS1S2S3(1)EF(2)AABCD(3)BCDEFS4S5:..-集成中的组装方法深度优先方式AABCDS1S2S3(1)EF(2)(4)AABS2S3(3)BCS3EE:..-集成中的组装方法?自底向上增量式测试?这种集成方式是将模块按系统的程序结构自底向上进行集成,即从程序模块结构的最底层模块开始集成和测试。?由于是自底向上进行集成,对于一个给定层次的模块,它的子模块(包括子模块的所有下属模块)已经集成并测试完成,所以不再需要桩模块。在模块的测试过程中需要从子模块得到的信息可以直接运行子模块得到。:..-集成中的组装方法?自底向上增量式测试的步骤:(1)由驱动模块控制最底层模块的并行测试。(2)用实际模块代替驱动模块,与它已测试的直属子模块集成为子系统。(3)为子系统配备驱动模块,进行新的测试。(4)判断是否已集成到达主控模块,是则结束测试,否则执行(2)。:..-集成中的组装方法AABCDBCDEFEFd4d5d1d2d3BDECFEF:..-集成中的组装方法混合增殖式测试:对软件中、上层使用自顶向下,对软件的中下层采用自底向上。?集成步骤:–首先对输入/输出模块和引入新算法模块进行测试;–再自底向上组装成为功能相当完整且相对独立的子系统;–然后由主模块开始自顶向下进行增殖测试。:..-集成测试的组织和实施?集成测试是一种正规测试过程,必须精心计划,并与单元测试的完成时间协调起来。在制定测试计划时,应考虑如下因素:–是采用何种系统组装方法来进行组装测试。–组装测试过程中连接各个模块的顺序。–模块代码编制和测试进度是否与组装测试的顺序一致。–测试过程中是否需要专门的硬件设备。:..-集成测试完成的标志?成功地执行了测试计划中规定的所有组装测试。?修正了所发现的错误。?测试结果通过了专门小组的评审。:..-集成测试完成的标志组合测试组合测试组合测试组合测试集成测试组合测试组合测试组合测试组合测试:..-确认测试?确认测试又称有效性测试。?任务是验证软件的功能和性能及其他特性是否与用户的要求一致。?对软件的功能和性能要求在软件需求规格说明中已经明确规定。:..-确认测试的步骤:..-确认测试中的有效性测试?有效性测试是在模拟的环境(可能就是开发的环境)下,运用黑盒测试的方法,验证所测软件是否满足需求规格说明书列的需求。?在全部软件测试的测试用例运行完后,所有的测试结果可以分为两类:–测试结果与预期的结果相符。–测试结果与预期的结果不符。:..-确认测试中的软件配置复查?软件配置复查的目的是保证软件配置的所有成分都齐全。?各方面的质量都符合要求。?具有维护阶段所必需的细节。?而且已经编排好分类的目录。:..-系统测试?系统测试是将通过确认测试的软件,作为整个基于计算机系统的一个元素,与计算机硬件、外设、某些支持软件、数据和人员等其他系统元素结合在一起测试。?在实际运行(使用)环境下,对计算机系统进行一系列的组装测试和确认测试。?系统测试的目的在于通过与系统的需求定义作比较,发现软件与系统定义不符合或与之矛盾的地方。:..-系统测试?由于软件只是计算机系统中的一个组成部分,软件开发完成之后,最终还要和系统中的硬件系统、某些支持软件、数据信息等其他部分配套运行。因此,软件在投入运行以前需要完成系统测试,以保证各组成部分不仅能单独的得到检验,而且在系统各部分协调工作的环境下也能正常工作。?系统测试实际上是针对系统中各个组成部分进行的综合性检验。尽管每一个检验有特定的目标,然而所有的检测工作都要验证系统中每个部分均已得到正确的集成,并能完成指定的功能。?严格的说,系统测试超出了软件工程范围。通常这项工作并不由系统开发人员或系统开发组织来承担,而是由软件用户或软件开发机构委托独立测试机构来完成。:..-系统测试?系统测试与单元测试、集成测试的区别:(1)测试方法不同:系统测试属于黑盒测试,而单元测试大量采用白盒测试,集成测试则是结合使用白盒与黑盒测试方法。(2)考察范围不同:单元测试主要测试模块内部的接口、数据结构、逻辑、异常处理等对象。集成测试主要测试模块之间的接口和异常。系统测试主要测试整个系统相对于用户的需求。(3)评估基准不同:系统测试的评估基准是测试用例对需求规格的覆盖率;而单元测试和集成测试的评估主要是代码的覆盖率。:..-系统测试的15种测试类型?功能(机能)测试:目标中的功能是否真正实现了。?批量测试:企图证明程序不能处理目标中指出的大批数据。?强度测试:让程序在高负荷情况下运行(微软建议72小时)。?可用性测试:界面友好、错误信息简明易懂。?安全性测试:设法破坏程序的保密检查。:..-系统测试的15种测试类型?性能测试:在一定工作负荷和配置条件下,系统响应时间及处理速度。?存储量测试:测试程序所占用的内外存容量(静/动态)。?配置测试:至少每一类和最大最小的设备配置情况都要测试。?兼容/移植测试:对现有程序进行修改和补充后,要进行此类测试。?可安装性测试:测试系统的安装过程。:..-系统测试的15种测试类型?可靠性测试:如平均无故障时间(MTTF),需要模拟运行环境。?恢复测试:测试系统出错后如何恢复正常工作的。?可维护性测试:对维护过程和难易程度进行测试。?beplayapp体育下载测试:审查beplayapp体育下载的正确性,对beplayapp体育下载中的每个例子都要作为测试用例。?工序测试:测试操作工序的次序正确性。:..-系统测试完成系统联调:..-回归测试单元测试单元测试集成测试系统维护二次开发回归测试项目更新系统测试系统测试确认测试确认测试:..-α测试和β测试?α测试是由一个用户在开发环境下进行的测试,也可以是开发机构内部的用户在模拟实际操作环境下进行的测试。α测试的目的是评价软件产品的功能、可使用性、可靠性、性能和支持,尤其注重产品的界面和特色。?α测试可以从软件产品编码结束之时开始,或在模块(子系统)测试完成之后开始,也可以在确认测试过程中产品达到一定的稳定和可靠程度之后再开始。:..-α测试和β测试?β测试是由软件的多个用户在一个或多个用户的实际使用环境下进行的测试。与α测试不同的是,开发者通常不在测试现场。α测试的目的是衡量软件产品的功能、可使用性、可靠性、性能和支持,尤其注重产品的产品的支持性,包括beplayapp体育下载、客户培训和支持产品生产能力。?只有当α测试达到一定的可靠程度时,才能开始β测试。它处在整个测试的最后阶段。同时,产品的所有手册文本也应该在此阶段完全定稿:..?验收测试是检验软件产品质量的最后一道工序。验收测试是以用户为主的测试,同时软件开发人员也有一定的参与。?验收测试由用户参加设计测试用例,使用用户界面来输入测试数据,并分析测试的输出结果,一般使用生产中的实际数据进行测试。?在验收测试过程中,除了考虑软件的功能和性能外,还应对软件的可移植性、兼容性、可维护性等进行确认。:..-范围?软件验收测试应完成的工作包括:–明确验收项目,给定验收测试通过的标准。–确定测试方法。–决定验收测试的组织机构和可利用的资源。–选定测试结果分析方法。–制定验收测试计划并进行评审。–设计验收测试所用测试用例。–审查验收测试准备工作。–执行验收测试。–分析测试结果。–阐明验收测试结论,决定通过验收或是拒绝。:..2.

测试技术基础培训 来自beplayapp体育下载www.apt-nc.com转载请标明出处.

相关beplayapp体育下载 更多>>
非法内容举报中心
beplayapp体育下载信息
  • 页数124
  • 收藏数0收藏
  • 顶次数0
  • 上传人流金岁月
  • 文件大小5.38 MB
  • 时间2023-10-17