测试基础理论分享_第1页
测试基础理论分享_第2页
测试基础理论分享_第3页
测试基础理论分享_第4页
测试基础理论分享_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

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

文档简介

1、测试(csh)基础理论分享分享(fn xin)人:xxx共四十八页CONTENTS软件测试 软件测试:是一种用来促进鉴定软件的正确性、完整性、安全性和质量的过程。换句话说,软件测试是一种实际输出与预期输出间的审核或者比较过程。 软件测试的经典定义是:在规定的条件(tiojin)下对程序进行操作,以发现程序错误,衡量软件质量,并对其是否能满足设计要求进行评估的过程。共四十八页大容纲CONTENTS内第一章、测试(csh)简介第二章、测试(csh)内容第三章、测试用例综合策略共四十八页第章测试(csh)简介11.1、测试(csh)原则1.2、测试目标1.3、测试过程共四十八页前言(qin yn)(

2、测试简介) 软件测试是使用人工操作或者软件自动运行的方式来检验它是否满足规定的需求或弄清预期结果与实际结果之间的差别的过程。它是帮助识别开发完成(中间或最终的版本)的计算机软件(整体或部分)的正确度(correctness) 、完善度(consummateteness)和质量(zhling)(quality)的软件过程;是SQA(software quality assurance软件质量(zhling)保证)的重要子域。共四十八页1.1、测试(csh)原则 一、测试应该尽早进行,最好在需求阶段就开始介入,因为最严重的错误不外乎是系统不能满足用户的需求。 二、程序员应该避免检查自己的程序,软件

3、测试应该由第三方来负责。 三、设计测试用例时应考虑到合法的输入和不合法的输入以及各种边界条件,特殊情况下要制造极端状态和意外状态,如网络异常中断、电源断电等。 四、应该充分注意测试中的群集现象。 五、对错误结果要进行一个确认过程。一般由A测试出来的错误,一定要由B来确认。严重的错误可以召开评审会议进行讨论和分析,对测试结果要进行严格地确认,是否真的存在这个问题以及严重程度等。 六、制定严格的测试计划。一定要制定测试计划,并且要有指导性。测试时间安排尽量宽松,不要希望在极短的时间内完成(wn chng)一个高水平的测试。 七、妥善保存测试计划、测试用例、出错统计和最终分析报告,为维护提供方便。共

4、四十八页1.2、测试(csh)目标1发现一些可以通过测试避免的开发风险。2实施测试来降低所发现的风险。3确定测试何时(h sh)可以结束。4在开发项目的过程中将测试看作是一个标准项目。共四十八页1.3、测试(csh)过程第一步:对要执行测试的产品/项目进行分析,确定测试策略,制定测试计划。该计划被审核批准后转向第二步。测试工作启动前一定要确定正确的测试策略和指导方针,这些是后期开展工作的基础。只有将本次的测试目标和要求分析清楚,才能决定测试资源的投入。第二步:设计测试用例。设计测试用例要根据测试需求和测试策略来进行,进度压力不大时,应该设计的详细,如果进度、成本压力较大,则应该保证(bozhn

5、g)测试用例覆盖到关键性的测试需求。该用例被批准后转向第三步。第三步:如果满足“启动准则”(EntryCriteria),那么执行测试。执行测试主要是搭建测试环境,执行测试用例。执行测试时要进行进度控制、项目协调等工作。第四步:提交缺陷。这里要进行缺陷审核和验证等工作。第五步:消除软件缺陷。通常情况下,开发经理需要审核缺陷,并进行缺陷分配。程序员修改自己负责的缺陷。在程序员修改完成后,进入到回归测试阶段。如果满足“完成准则”(ExitCriteria),那么正常结束测试。第六步:撰写测试报告。对测试进行分析,总结本次的经验教训,在下一次的工作中改。 总结:软件测试过程管理,主要包括软件测试是什

6、么样的过程,如何评价一个软件测试过程,如何进行配置管理和测试风险分析以及测试成本的管理。共四十八页第章测试(csh)内容22.1测试方法2.2详细(xingx)分类2.3测试流程2.4测试阶段2.5测试模型Contents共四十八页2.1、测试方法等价(dngji)类划分边界值因果图判定表正交排列法(正交实验法)场景法测试大纲法状态转换图法共四十八页、等价(dngji)类划分1.定义是把所有可能的输入数据,即程序的输入域划分成若干部分(子集),然后从每一个子集中选取少数具有代表性的数据作为测试用例。该方法是一种重要的,常用的黑盒测试用例设计方法。2.划分等价类等价类是指某个输入域的子集合。在该

7、子集合中,各个输入数据对于揭露程序中的错误都是等效的,并合理地假定:测试某等价类的代表值就等于对这一类其它值的测试,因此,可以把全部输入数据合理划分为若干等价类,在每一个等价类中取一个数据作为测试的输入条件就可以用少量代表性的测试数据取得较好的测试结果。等价类划分可有两种不同的情况:有效等价类和无效等价类。 1)有效等价类是指对于程序的规格说明来说是合理的、有意义的输入数据构成的集合。利用有效等价类可检验程序是否实现了规格说明中所规定的功能和性能。 2)无效等价类与有效等价类的定义恰巧(qiqio)相反。无效等价类指对程序的规格说明是不合理的或无意义的输入数据所构成的集合。对于具体的问题,无效

8、等价类至少应有一个,也可能有多个。共四十八页3.划分等价类的标准1)完备测试、避免冗余;2)划分等价类重要的是:集合的划分,划分为互不相交的一组子集,而子集的并是整个集合;3)并是整个集合:完备性;4)子集互不相交:保证一种形式的无冗余性;5)同一类中标识(biozh)(选择)一个测试用例,同一等价类中,往往处理相同,相同处理映射到相同的执行路径。4.划分等价类的方法1)在输入条件规定了取值范围或值的个数的情况下,则可以确立一个有效等价类和两个无效等价类。2)在输入条件规定了输入值的集合或者规定了必须如何的条件的情况下,可确立一个有效等价类和一个无效等价类。 4、例共四十八页、边界值1. 定义

9、:边界值分析法就是对输入或输出的边界值进行测试的一种黑盒测试方法。通常边界值分析法是作为(zuwi)对等价类划分法的补充,这种情况下,其测试用例来自等价类的边界。2. 与等价划分的区别1) 边界值分析不是从某等价类中随便挑一个作为代表,而是使这个等价类的每个边界都要作为测试条件。2) 边界值分析不仅考虑输入条件,还要考虑输出空间产生的测试情况。3. 边界值分析方法的考虑:长期的测试工作经验告诉我们,大量的错误是发生在输入或输出范围的边界上,而不是发生在输入输出范围的内部。因此针对各种边界情况设计测试用例,可以查出更多的错误。使用边界值分析方法设计测试用例,首先应确定边界情况。通常输入和输出等价

10、类的边界,就是应着重测试的边界情况。应当选取正好等于,刚刚大于或刚刚小于边界的值作为测试数据,而不是选取等价类中的典型值或任意值作为测试数据。共四十八页4. 常见的边界值1) 屏幕上光标在最左上、最右下位置2) 报表的第一行和最后一行3) 数组元素的第一个和最后一个4) 循环的第 0 次、第 1 次和倒数第 2 次、最后一次5. 边界值分析边界值分析使用与等价类划分法相同的划分,只是(zhsh)边界值分析假定错误更多地存在于划分的边界上,因此在等价类的边界上以及两侧的情况设计测试用例。6. 例共四十八页、因果(yngu)图1、定义(dngy):如果输入之间有关系,我们在测试时必须考虑输入条件的

11、各种组合,那么可以考虑使用一种适合于描述对于多种条件的组合,相应产生多个动作的形式来设计测试用例。而因果图方法最终生成的就是判定表它适合于检查程序输入条件的各种组合情况共四十八页2、四种因果关系3、关系概念1)恒等:若c1为1,则e1也为1,否则(fuz)e1为02)非:若c1为1,则e1为0,否则e1为13)或:若c1或c2或c3都是1,则e1为1,若三者都不为1,则e1为04)与:若c1与c2与c3都为1,则e1为1,若其中一个不为1,则e1为0共四十八页4、约束输入状态相互之间还可能存在某些依赖关系,称为约束。5、约束概念输入条件的约束:E约束(异):a和b中至多有一个(y )可能为1,

12、即a和b不能同时为1。I约束(或):a、b和c中至少有一个必须是1,即a、b和c不能同时为0。O约束(唯一);a和b必须有一个,且仅有1个为1。R约束(要求):a是1时,b必须是1,即不可能a是1时b是0。输出条件的约束:M约束(强制):若结果a是1,则结果b强制为0。共四十八页6、用因果图生成测试用例的基本步骤1)分析软件规格说明描述中,那些是原因(即输入条件或输入条件的等价类),那些是结果(即输出条件),并给每个原因和结果赋予一个标识符2)分析软件规格说明描述中的语义,找出原因与结果和原因与原因之间的对应关系3)用于语法和环境(hunjng)限制,有些原因与原因之间,原因与结果之间的组合情

13、况不可能出现,为表明这些特殊情况,在因果图上用一些记号标明约束和限制条件4)把因果图转换为判定表5)把判定表的每一列拿出来作为依据,设计测试用例 7、 例共四十八页、判定(pndng)表法1、定义判定表是分析和表达多逻辑条件下执行不同操作的情况。2.判定表的优点能够将复杂的问题按照各种可能(knng)的情况全部列举出来,简明并避免遗漏。因此,利用判定表能够设计出完整的测试用例集合。在一些数据处理问题当中,某些操作的实施依赖于多个逻辑条件的组合,即:针对不同逻辑条件的组合值,分别执行不同的操作。判定表很适合于处理这类问题。共四十八页3、判定表的组成1)条件桩(ConditionStub):列出了

14、问题得所有条件。通常认为列出的条件的次序无关紧要。2)动作桩(ActionStub):列出了问题规定可能采取的操作。这些操作的排列(pili)顺序没有约束。3)条件项(ConditionEntry):列出针对它左列条件的取值。在所有可能情况下的真假值。4)动作项(ActionEntry):列出在条件项的各种取值情况下应该采取的动作。共四十八页5.规则及规则合并1)规则:任何一个条件(tiojin)组合的特定取值及其相应要执行的操作称为规则。在判定表中贯穿条件(tiojin)项和动作项的一列就是一条规则。显然,判定表中列出多少组条件(tiojin)取值,也就有多少条规则,既条件(tiojin)项

15、和动作项有多少列。2)化简:就是规则合并有两条或多条规则具有相同的动作,并且其条件项之间存在着极为相似的关系。 6.例共四十八页、正交排列(pili)法(正交实验法)1、定义正交试验法是研究多因素、多水平的一种试验法,它是利用正交表来对试验进行设计,通过少数的试验替代全面试验,根据正交表的正交性从全面试验中挑选适量的、有代表性的点进行试验,这些有代表性的点具备了“均匀分散,整齐可比”的特点。2、设计方法从大量(dling)的(实验)数据(测试例)中挑选适量的、有代表性的点(例),从而合理地安排实验(测试)的一种科学实验设计方法。共四十八页、场景(chng jng)法共四十八页1、定义: 现在的

16、软件几乎都是用事件触发来控制流程(lichng)的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可引入到软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试员设计测试用例,同时使测试用例更容易理解和执行。(由此会产生很多组场景)2、例共四十八页、测试(csh)大纲法1、定义有多个(du )窗口,每个窗口有多个(du )动作,这些动作之间有相互联系,为了弄清动作之间的联系或者窗口之间的关系,可以使用测试大纲方法。2、操作步骤是:1)列提纲,列出所有的窗口以及每个窗口中的动作2)找出各窗口中动作的联系,编写用例。共四十八页、状态(

17、zhungti)转换图1、定义:为了更真实、全面地模拟用户的操作顺序、操作流程。2、操作步骤:1)找出所有的动作2)找出所有的状态3)把所有的动作单独加载到初始状态中,产生新的状态,然后(rnhu)再把这些动作单独加载到新的状态中,再次产生更新的状态,以此类推。3、状态转换图的核心动作:用户能够向软件做的操作状态:软件运行到某个时刻所处的情况共四十八页2.2、详细(xingx)分类1、角度细分从是否关心软件内部结构和具体实现的角度划分(按测试分类)A.白盒测试B.黑盒测试C.灰盒测试从是否执行程序的角度A.静态测试B.动态测试2、阶段细分从软件开发的过程按阶段划分有A.单元测试 B.集成测试C

18、.确认(qurn)测试D.系统测试E.验收测试F.回归测试G.Alpha测试H.Beta测试共四十八页测试过程按4个步骤进行,即单元测试、集成测试、确认测试和系统测试及发布测试。* 单元测试是集中对用源代码实现的每一个程序单元进行测试,检查各个(gg)程序模块是否正确地实现了规定的功能。*集成测试把已测试过的模块组装起来,主要对与设计相关的软件体系结构的构造进行测试。* 确认测试则是要检查已实现的软件是否满足了需求规格说明中确定了的各种需求,以及软件配置是否完全、正确。* 系统测试把已经经过确认的软件纳入实际运行环境中,与其它系统成份组合在一起进行测试。共四十八页1、黑盒测试:不考虑程序的内部

19、逻辑结构,把被测程序看成是一个黑盒子,只考虑程序的输入输出,检查程序是否按照需求规格说明书的规定正常的使用,黑盒测试又称为(chn wi)数据驱动测试,是基于功能的测试2、白盒测试:通过程序的内部逻辑结构的分析、检查来查找问题,白盒测试又称为透明盒测试和逻辑驱动测试,基于代码的测试3、灰盒测试:介于白盒测试与黑盒测试之间的一种测试,灰盒测试多用于集成测试阶段,不仅关注输出、输入的正确性,同时也关注程序内部的情况。灰盒测试不像白盒那样详细、完整,但又比黑盒测试更关注程序的内部逻辑,常常是通过一些表征性的现象、事件、标志来判断内部的运行状态。共四十八页1、静态测试静态方法是指不运行(ynxng)被

20、测程序本身,仅通过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序做结构分析、流程图分析、符号执行来找错。静态方法通过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不允许的递归、未使用过的变量、空指针的引用和可疑的计算等。静态测试结果可用于进一步的查错,并为测试用例选取提供指导。2、动态测试动态测试方法是指通过运行被测程序,检查运行结果与预期结果的差异,并分析运行效率、正确性和健壮性等性能。这种方法由三部分组成:构造测试用例、执行程序、分析程序的输出结果。3、Alpha测试在开发的环境中,由用户(一般

21、由开发方自己充当)对要交付的软件进行验证(简称内测)4、Beta测试在用户实际使用环境中,由最终用户对交付的软件进行验证,让最终的用户免费使用,遇到问题反馈回开发组,最后把这些bug解决后,再发布正式版(简称公测)共四十八页2.3、测试(csh)流程1、制定测试计划2、编辑测试用例3、执行测试用例4、发现并提交BUG5、开发组修正(xizhng)BUG6、对已修正BUG进行返测7、修正完成的BUG将状态置为已关闭,未正确修正的BUG重新激活共四十八页2.4、测试阶段测试阶段分:单元测试集成测试(csh)系统测试回归测试共四十八页单元测试单元测试是对软件组成单元进行测试,其目的是检验软件基本组成

22、单位的正确性,测试的对象是软件设计的最小单位:模块。集成测试集成测试也称联合测试,将程序模块采用适当的集成策略组装起来,对系统的接口及集成后的功能进行正确性检测的测试工作(gngzu)。其主要目的是检查软件单位之间的接口是否正确,集成测试的对象是已经经过单元测试的模块。系统测试系统测试主要包括功能测试、界面测试、可靠性测试、易用性测试、性能测试。 功能测试主要针对包括功能可用性、功能实现程度(功能流程&业务流程、数据处理&业务数据处理)方面测试。回归测试回归测试指在软件维护阶段,为了检测代码修改而引入的错误所进行的测试活动。回归测试是软件维护阶段的重要工作,有研究表明,回归测试带来的耗费占软件

23、生命周期的1/3总费用以上。共四十八页2.5、测试(csh)模型基本(jbn)模型:1)、V模型2)、W模型3)、H模型4)、X模型共四十八页1)、V模型测试阶段:单元、集成、系统实现意义:V模型是软件开发瀑布模型的变种(binzhng),它反映了测试活动与分析和设计的关系 。从左到右,描述了基本的开发过程和测试行为,非常明确地标明了测试过程中存在的不同级别,并且清楚地描述了这些测试阶段和开发过程期间各阶段的对应关系 。左边依次下降的是开发过程各阶段,与此相对应的是右边依次上升的部分,即各测试过程的各个阶段。 用户需求 验收测试需求分析和系统设计 确认测试和系统测试 概要设计 集成测试 详细设

24、计 单元测试 编码共四十八页V模型(mxng):共四十八页 V模型问题:1.测试是开发之后的一个阶段。2.测试的对象就是程序本身。3.实际应用中容易导致需求阶段的错误一直到最后系统测试阶段才被发现。4.整个软件产品的过程质量(zhling)保证完全依赖于开发人员的能力和对工作的责任心,而且上一步的结果必须是充分和正确的,如果任何一个环节出了问题,则必将严重的影响整个工程的质量(zhling)和预期进度共四十八页2)、W模型相对于V模型,W模型增加了软件各开发阶段中应同步进行的验证和确认活动。W模型由两个V字型模型组成,分别代表测试与开发过程,图中明确表示出了测试与开发的并行关系。 W模型强调:

25、测试伴随着整个软件开发周期,而且测试的对象不仅仅是程序(chngx),需求、设计等同样要测试,也就是说,测试与开发是同步进行的。W模型有利于尽早地全面的发现问题。例如,需求分析完成后,测试人员就应该参与到对需求的验证和确认活动中,以尽早地找出缺陷所在。同时,对需求的测试也有利于及时了解项目难度和测试风险,及早制定应对措施,这将显著减少总体测试时间,加快项目进度。 但W模型也存在局限性。在W模型中,需求、设计、编码等活动被视为串行的,同时,测试和开发活动也保持着一种线性的前后关系,上一阶段完全结束,才可正式开始下一个阶段工作。这样就无法支持迭代的开发模型。对于当前软件开发复杂多变的情况,W模型并

26、不能解除测试管理面临着困惑。共四十八页W模型(mxng):共四十八页3)、H模型定义:H模型中, 软件测试过程活动完全独立,贯穿于整个产品的周期,与其他流程并发地进行,某个测试点准备就绪时,就可以从测试准备阶段进行到测试执行阶段。软件测试可以尽早的进行,并且可以根据被测物的不同而分层次进行。H模型揭示了一个原理:软件测试是一个独立的流程,贯穿产品整个生命周期,与其他流程并发地进行。H模型指出软件测试要尽早准备, 尽早执行。不同的测试活动可以是按照某个次序先后(xinhu)进行的,但也可能是反复的,只要某个测试达到准备就绪点,测试执行活动就可以开展。共四十八页H模型(mxng):共四十八页4)、X模型X模型也是对V模型的改进,X模型提出针对单独的程序片段进行相互分离的编码和测试,此后通过频繁的交接,通过集成最终合成为可执行的程序。X模型的左边描述的是针对单独程序片段所进行的相互分离的编码和测试,此后将进行频繁的交接,通过集成最终成为可执行的程序

温馨提示

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

最新文档

评论

0/150

提交评论