版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
软件实现1第1页软件测试软件测试基本概念软件测试技术实例2第2页软件测试基本概念什么是软件测试?目旳是什么?测试环节测试阶段信息流3第3页软件测试概念4.软件测试工作量一般占软件开发总工作量40%以上,有测试成本占到其他环节总成本3—5倍。1.软件测试是按照特定规则,发现软件错误过程;2.软件测试是对软件规格阐明、设计和编码最终复审;3.软件测试在软件生存周期中横跨两个阶段:模块和单元测试在编码阶段,综合测试在独立测试阶段;4第4页软件测试目旳软件测试是为了发现错误而执行程序过程;测试是程序执行过程,目旳在于发现错误;软件测试中需要数据,即为测试而精心设计测试用例,运用测试用例去运行程序,协助发现程序错误;一种好测试用例在于能发现至今未发现错误;一种成功测试是发现了至今未发现错误测试。软件测试绝对不是要证明程序对旳性,也证明不了程序对旳性.5第5页软件测试与软件调试辨别内容软件测试软件调试目标从一个侧面证实程序员失败;证实程序员正确;方法从已知条件开始,使用预先定义程序,且有预知结果,不可预见仅是程序是否经过测试;从不可知内部条件开始,除统计性调试外,结果是不可预见;约束有计划而且要进行测试设计;不受时间约束;过程发觉错误、更正错误、重新测试过程;是一个推理过程;方式执行是有规程;执行要求程序员进行必要推理;测试人员由独立测试组在不了解软件设计条件下完成;由了解详细设计程序员完成;工具大多数测试执行和设计可由工具支持。程序员能用工具主要是调试器。6第6页软件测试原则(1)3.进行回归测试,对程序任何修改,使用此前测试用例,重新进行测试,有助于发现修改程序引起新错误。1.设计测试用例,要给出测试预期成果。一种测试用例,必须由两部分构成:对输入数据描述及其这些输入数据所产生程序预期成果精确描述。2.设计非法输入用例。当有非法输入时,测试程序与否可以拒绝接受那些非法输入并给出提醒信息。7第7页软件测试原则(2)4.集中测试轻易出错程序段。测试记录成果表明:一段程序中发现错误越多,则其中存在错误概率也就越大。为了提高测试效率,在深入测试时,要集中测试那些轻易出错程序段。5.开发小组与测试小组应分离,两者在思想上、措施上是不一样样,前者是建设性,后者是“破坏性”。因此两者分离是成立测试小组基本规定。8第8页软件测试措施和技术软件测试人工测试(代码复审)机器测试(动态测试)代码会审走查和排练办公桌检验黑盒测试技术白盒测试技术9第9页软件测试措施和技术1.人工测试代码复审采用人工方式进行,目旳在于检查程序静态错误。2.机器测试(1)在设定测试数据上执行被测程序过程,也称为动态测试;(2)动态测试包括:测试用例、执行被测程序和分析执行成果并发现错误过程。10第10页软件测试环节步骤测试内容时间单元测试将每一个模块作为一个单独测试单元,确保每个模块作为一个单元能正确运行。编码阶段子系统测试将经过单元测试模块放在一起形成一个子系统来测试,以测试模块间接口正确性作为主要任务。集中测试阶段系统测试将经过测试子系统装配成一个完整系统来测试,检验系统是否确实能实现需求规格说明书中功效,以及系统动态特征是否符合预定要求。系统测试是指整个计算机系统(包含软硬件)测试,可与系统安装和验收相结合进行。验收测试在用户参加下,把软件系统作为单一实体进行测试,使软件系统能满足用户需要。测试内容与系统测试基本相同。验收阶段平行测试新旧两个系统同时运行进行比较,防止风险同时给用户对新系统一段熟悉时间。运行阶段11第11页单元测试在单元测试期间着重从下述5个方面对模块进行测试。1.模块接口重要检查下述几种方面:参数数目、次序、属性或单位系统与变元与否一致;与否修改了只作输入用变元;全局变量定义和使用措施在各个模块中与否一致。2.局部数据构造3.重要执行通路12第12页4.出错处理通路当评价出错处理通路时,应当着重测试下述某些也许发生错误:(1)对错误描述是难以理解;(2)记下错误与实际碰到错误不一样样;(3)在对错误进行处理之前,错误条件已经引起系统干预;(4)对错误处理不对旳;(5)描述错误信息局限性以协助确定导致错误位置。5.边界条件13第13页集成测试不管是子系统测试还是系统测试,都兼有检测和组装两重含义,一般称为集成测试。由模块组装成程序时有两种措施:1、非渐增式测试措施2、渐增式测试措施:a.自顶向下b.自底向上。14第14页自顶向下集成措施:从主控制模块开始,沿着程序控制层次向下移动,逐渐把各个模块结合起来。在把附属于(及最终附属于)主控制模块那些模块组装到程序构造中去时,或者使用深度优先方略,或者使用宽度优先方略。15第15页自顶向下集成把模块结合进软件构造详细过程由下述4个环节完毕:第一步,对主控制模块进行测试,测试时用存根程序替代所有直接附属于主控制模块模块;第二步,根据选定结合方略(深度优先或宽度优先),每次用一种实际模块代换一种存根程序(新结合进来模块往往又需要新存根程序);第三步,在结合进一种模块同步进行测试;第四步,为了保证加入模块没有引进新错误,也许需要进行回归测试(即,所有或部分地反复此前做过测试)。16第16页自顶向下结合17第17页自底向上集成实现自底向上结合方略环节:第二步,写一种驱动程序(用于测试控制程序),协调测试数据输入和输出;第三步,对由模块构成子功能族进行测试;第一步,把低层模块组合成实现某个特定软件子功能族;18第18页第四步,去掉驱动程序,沿软件构造自下向上移动,把子功能族组合起来形成更大子功能族。
上述第二步到第四步实质上构成了一种循环。
自底向上集成19第19页自底向上结合20第20页不一样样集成测试方略比较一般说来,一种措施长处恰好对应于另一种措施缺陷。自顶向下测试措施重要长处:不需要测试驱动程序,可以在测试阶段初期实现并验证系统重要功能,并且能在初期发现上层模块接口错误。自顶向下测试措施重要缺陷:需要存根程序,也许碰到与此相联络测试困难,低层关键模块中错误发现较晚,并且用这种措施在初期不能充足展开人力。可以看出,自底向上测试措施优缺陷与上述自顶向下测试措施优缺陷刚好相反。21第21页不一样样集成测试方略比较混合方略:(1)改善自顶向下测试措施。基本上使用自顶向下测试措施,不过在初期使用自底向上措施测试软件中少数关键模块。一般自顶向下措施所具有长处在这种措施中也均有,并且能在测试初期发现关键模块中错误;不过,它缺陷也比自顶向下措施多一条,即测试关键模块时需要驱动程序。(2)混合法。对软件构造中较上层使用自顶向下措施与对软件构造中较下层使用自底向上措施相结合。这种措施兼有两种措施长处和缺陷,当被测试软件中关键模块比较多时,这种混合法也许是最佳折衷措施。22第22页回归测试是指重新执行已经做过测试某个子集,以保证软件发生变化时没有带来非预期副作用。回归测试23第23页任何成功测试都会发现错误,并且错误必须被改正。每当改正软件错误时候,软件配置某些成分(程序、文档或数据)也被修改了。回归测试就是用于保证由于调试或其他原因引起变化,不会导致非预期软件行为或额外错误测试活动。回归测试24第24页回归测试可以通过重新执行所有测试用例一种子集人工地进行,也可以使用自动化捕捉回放工具自动进行。运用捕捉回放工具,软件工程师可以捕捉测试用例和实际运行成果,然后可以回放(即重新执行测试用例),并且比较软件变化前后所得到运行成果。回归测试25第25页回归测试集是指已执行过测试用例子集。回归测试集包括3类不一样样测试用例:(1)检测软件所有功能代表性测试用例;(2)专门针对也许受修改影响软件功能附加测试;(3)针对被修改正软件成分测试。26第26页确认测试需求分析阶段产生软件需求规格阐明书,精确地描述了顾客对软件合理期望,因此是软件有效性原则,也是进行确认测试基础。确认测试也称为验收测试,它目旳是验证软件有效性。验证指是保证软件对旳地实现了某个特定规定一系列活动。确认指是为了保证软件确实满足了顾客需求而进行一系列活动。软件有效性一种简朴定义是:假如软件功能和性能如同顾客所合理期待那样,软件就是有效。27第27页确认测试(Alpha测试与Beta测试)Alpha测试由顾客在开发者场所进行,并且在开发者对顾客“指导”下进行测试。Alpha测试是在受控环境中进行。Beta测试由软件最终顾客们在一种或多种客户场所进行。Beta测试是软件在开发者不能控制环境中“真实”应用。28第28页软件测试与开发各阶段关系29第29页测试阶段信息流30第30页软件测试技术其中最困难问题是设计测试用输入数据。设计测试方案是测试阶段关键技术问题。测试方案包括详细测试目旳(例如,预定要测试详细功能),应当输入测试数据和预期成果。把测试数据和预期输出成果称为测试用例。31第31页软件测试技术两种常用测试措施白盒测试:构造测试黑盒测试:功能测试
32第32页软件测试技术白盒测试把测试对象看做一种透明盒子,它容许测试人员运用程序内部逻辑构造及有关信息,设计或选择测试用例,对程序所有逻辑途径进行测试。通过在不一样样点检查程序状态,确定实际状态与否与预期状态一致。因此白盒测试又称为构造测试或逻辑驱动测试。
33第33页软件测试技术黑盒测试是把测试对象看做一种黑盒子,测试人员完全不考虑程序内部逻辑构造和内部特性,只根据程序需求规格阐明书,检查程序功能与否符合它功能阐明。黑盒测试又叫做功能测试或数据驱动测试。34第34页软件测试技术白盒测试对程序模块所有执行途径至少测试一次;对所有逻辑鉴定,取“真”与取“假”两种状况都至少测试一次;黑盒测试发现程序中错误,必须在所有也许输入条件和输出条件中确定测试数据,来检查程序与否都能产生对旳输出。35第35页软件测试技术白盒措施穷尽测试实例:36第36页包括不一样样执行途径数达520条,对每一条途径进行测试需要1毫秒,假定一年工作365×24小时,要想把所有途径测试完,需3170年。软件测试技术37第37页软件测试技术黑盒措施穷尽测试实例:38第38页在字长为32位计算机上运行。若X、Y取整数,按黑盒措施进行穷举测试,也许采用测试数据组:232×232=264假如测试一组数据需要1毫秒,一年工作365×24小时,完毕所有测试需5亿年。软件测试技术39第39页软件测试技术软件穷尽测试是不现实,因此测试无法证明对旳性。怎样花至少费用,得到最佳测试效果?------测试用例设计。40第40页软件测试技术一、白盒测试称为构造测试,测试者理解被测程序内部构造和处理过程,对程序所有逻辑途径进行测试,在不一样样点检查程序状态,确定实际状态与预期状态与否一致。二、白盒测试从程序逻辑构造入手,按照一定原则,来设计测试用例和测试数据,因此白盒测试法也称为逻辑覆盖法。41第41页软件测试技术三.由白盒测试产生测试实例应具有如下功能:1.保证在模块中独立途径至少被检查一次;2.检查每个逻辑判断真假两种状况;3.对每个循环变量初值、中间值和终止进行检查;4.检查程序内部构造与否有效。四.通过白盒测试发现错误:1.程序中逻辑错误和不对旳假设和条件;2.没预料到意外途径;3.语法检查未发现印刷或书写错误。42第42页一、逻辑覆盖逻辑覆盖:逻辑覆盖法是以程序内部逻辑构造为基础设计测试用例技术。从覆盖源程序语句和途径详尽程度分析,有如下不一样样覆盖原则:语句覆盖鉴定覆盖条件覆盖鉴定-条件覆盖条件组合覆盖途径覆盖43第43页软件测试技术示例示例(A>1)
and
(B=0)(A=2)
or
(X>1)X=X/AX=X+1TTFFabdce途径:ace——L1abd——L2abe——L3acd——L444第44页软件测试技术示例对于第一种判断:条件A>1取真为T1,取假为条件B=0取真为T2,取假为对于第二个判断:条件A=2取真为T3,取假为条件X>1取真为T4,取假为1T2T3T4T45第45页软件测试技术示例46第46页软件测试技术示例47第47页软件测试技术示例48第48页软件测试技术示例49第49页语句覆盖设计若干个测试用例,运行被测程序,使得每一可执行语句至少执行一次。在图例中,恰好所有可执行语句都在途径L1上,因此选择途径L1设计测试用例:【
(2,0,4)】注:(2,0,4)即:A=2,B=0,X=4下同。软件测试技术示例50第50页软件测试技术示例鉴定覆盖设计若干个测试用例,运行被测程序,不仅每个语句至少执行一次,并且每个鉴定每种也许成果都应当至少执行一次。对于图例,假如选择途径L3和L4,就可得满足规定测试用例:【(2,1,1)】覆盖【L3】【(3,0,3)】覆盖【L4】假如选择途径L1和L2,还可得另一组可用测试用例。例图51第51页
软件测试技术示例条件覆盖设计若干测试用例,运行被测程序,不仅每个语句至少执行一次,并且使鉴定表达式中每个条件都取到多种也许成果。测试用例覆盖分支条件取值【(2,0,4)】L1【(1,1,1)】L2需要注意是,条件覆盖不一定满足鉴定覆盖,如:测试用例覆盖分支条件取值【(2,0,1)】L1【(1,1,2)】L3例图52第52页软件测试技术示例鉴定/条件覆盖设计足够测试用例,使得判断表达式中每个条件都取到多种也许值,并且每个判断表达式也都取到多种也许成果。测试用例覆盖分支条件取值【(2,0,4)】L1【(1,1,1)】L2例图53第53页软件测试技术示例条件组合覆盖设计足够测试用例,运行被测程序,使得所有也许条件取值组合至少执行一次。记①A>1,B=0作
②A>1,B≠0作
③A≯1,B=0作④A≯1,B≠0作⑤A=2,X>1作
⑥A=2,X≯1作
⑦A≠2,X>1作
⑧A≠2,X≯1作第一种判断第二个判断例图54第54页
软件测试技术示例
测试用例覆盖分支覆盖条件覆盖组合
【(2,0,4)】(L1)①,⑤【(2,1,1)】(L3)②,⑥【(1,0,3)】(L3)③,⑦【(1,1,1)】(L2)④,⑧例图55第55页软件测试技术示例途径覆盖就是设计足够测试用例,覆盖程序中所有也许途径。测试用例通过途径覆盖条件【(2,0,4)】L1 【(1,1,1)】L2【(1,1,2)】L3 【(3,0,1)】L4例图56第56页二、控制构造测试基本途径测试57第57页基本途径测试思想:效果或覆盖原则:环节:控制构造测试通过计算程序环形复杂度,并用该复杂度为指南定义执行途径基本集合。从执行途径基本集合导出测试用例可以保证程序中每条语句至少执行一次,并且每个条件在执行时都将分别取真、假两种值。1、根据过程设计成果画出对应流图;2、计算流图环形复杂度;3、确定线性独立途径基本集合;4、设计可强制执行基本集合中每条途径测试用例58第58页流图画法流图:抽象化程序流图,突出体现控制流.符号○为流图一种结点,表达一种或多种无分支语句。箭头为边,表达控制流方向。59第59页流图画法在分支结构中,分支汇聚处应有一个汇聚结点.每一条边必须终止于一个结点60第60页流图画法假如判断中条件表达式是由一种或多种逻辑运算符(OR,AND,NAND,NOR)连接复合条件表达式,则需要改为一系列只有单个条件嵌套判断。61第61页计算环形复杂度流图G环形复杂度:V(G)=流图区域数V(G)=边数-结点数+2V(G)=单条件鉴定数+1环形(环路)复杂度措施,根据程序内单条件分支数或循环个数来度量程序复杂度.McCabe措施根据程序控制流复杂程度定量度量程序复杂程度,这样度量出成果称为程序环形复杂度。62第62页确定线性独立途径基本集合独立途径是:
path1:1-11
path2:1-2-3-4-5-10-1-11
path3:1-2-3-6-8-9-10-1-11
path4:1-2-3-6-7-9-10-1-11途径path1,path2,path3,path4构成了控制流图一种基本途径集。63第63页黑盒测试技术黑盒测试着重测试软件功能。黑盒测试并不能取代白盒测试,它是与白盒测试互补测试措施,它很也许发现白盒测试不易发现其他类型错误。黑盒测试力图发现下述类型错误:①功能不对旳或遗漏了功能;②界面错误;③数据构造错误或外部数据库访问错误;④性能错误;⑤初始化和终止错误。64第64页黑盒测试技术黑盒测试等价类法边界值分析法65第65页等价划分(等价类法)等价类法思想:划分等价类经验等价类法环节66第66页划分等价类思想把所有也许输入数据,包具有效和无效划提成若干个等价类,则可以合理地做如下假设:每类中一种经典值在测试中作用与其他值作用相似。因此可以从每个等价类中只取一组数据作为测试数据,这样选用测试数据最有代表性也最轻易发现问题。例如:三角形类别识别程序:等边、等腰、任意,不合理三角形等等无效等价类可以从多种角度考虑,如:只有两个输入边,输入不是实数,输入数据有负数等。67第67页划分等价类启发式规则(1)假如规定了输入值范围,则可划分出一种有效等价类(输入值在此范围内),两个无效等价类(输入值不不小于最小值或不小于最大值);(2)假如规定了输入数据个数,则类似地也可以划分出一种有效等价类和两个无效等价类;(3)假如规定了输入数据一组值,并且程序对不一样样输入值做不一样样处理,则每个容许输入值是一种有效等价类,此外尚有一种无效等价类(任一种不容许输入值);68第68页划分等价类启发式规则(4)假如规定了输入数据必须遵照规则,则可以划分出一种有效等价类(符合规则)和若干个无效等价类(从多种不一样样角度违反规则);(5)假如规定了输入数据为整型,则可以划分出正整数、零和负整数等3个有效类;(6)假如程序处理对象是表格,则应当使用空表,以及含一项或多项表。69第69页划分等价类经验等价类划分启发式规则输入条件:“...值可以是1到999…”“...项数可以是1到999…”无效等价类有效等价类无效等价类199970第70页划分等价类经验输入数据(教师职称):在教师住房分派软件中规定对专家、副专家、讲师和助教分别计算分数,做对应处理。四个有效等价类,一种无效等价类。输入规定:”标识符是一字母打头长度不超过八位串。”则字母打头长度在1~8位为一种有效等价类,非字母打头为一种无效等价类,长度不小于八位或为空也是一种无效等价类。71第71页划分等价类经验假如在已确定等价类中各元素在软件中处理方式不一样样,则应根据需要对等价类深入进行划分。编译程序能发现语法错误,不必测试。int
sum(intn){intm=0;for(inti=1;i<=n;i++)m=m+i;…}72第72页等价类法环节划分等价类建立等价类表,为每一种等价类规定一种唯一编号;输入条件有效等价类无效等价类…………………………………………73第73页等价类法环节选择测试用例:以尽量少测试用例覆盖所有有效等价类;为每个无效等价类设计一种测试用例。74第74页边界值分析法边界值分析法思想:程序总是在边界条件处失效,因此选用测试用例应当选边界值使用措施:与等价划分法联合使用75第75页黑盒测试技术例题某工厂公开招工,规定报名者年龄应在16周岁至35周岁之间(到3月30日止)。即出生年月不在上述范围内,将拒绝接受,并显示“年龄不合格”等出错信息。假定出生年月由6位数字字符表达,前4位代表年,后2位代表月。(1)运用等价类法设计测试用例.(2)运用边界值分析法设计测试用例。76第76页黑盒测试技术例题输入条件有效等价类无效等价类出生年月对应数值月份对应数值①6位数字字符②有非数字字符③少于6个数字符④多于6个数字符⑤在197003---198903之间⑧在1—12之间⑥<197003⑦>198903⑨等于0⑩>12等价类表如下:77第77页黑盒测试技术例题根据等价类法设计测试用例如下表:测试数据期望结果覆盖等价类197311MAY,7219725输入有效①⑤⑧输入无效197622②输入无效③1983011输入无效④195512输入无效输入无效输入无效输入无效⑥199510⑦197300⑨⑩78第78页黑盒测试技术例题根据边界值分析法设计测试用例如下表:测试数据期望结果5个数字字符7个数字字符有1个非法字符全是非法字符6个数字字符输入有效输入无效输入无效输入有效输入有效输入无效刚好35周岁刚好16周岁刚好>35刚好<16月份为
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2024建筑玻璃幕墙施工协议范本
- 2024年商业客户协议模板精简
- 2024年区域性成品油物流配送协议
- 2024年平面设计服务协议模板指南
- 2024年电脑设备租赁协议模板
- 2023-2024学年云南省玉溪市红塔区普通高中高三寒假检测试题数学试题
- 2024施工协议补充延期条款协议
- 2024借款额外条款协议汇编
- 2024年产品买卖协议范本2
- 2024工业物料采购协议模板解析
- 《观察叶片的结构》 说课课件
- 医院透析患者安全管理应急预案
- 《BIM技术的应用研究开题报告(含提纲)》
- GB/T 40997-2021经外奇穴名称与定位
- GB/T 27021.1-2017合格评定管理体系审核认证机构要求第1部分:要求
- GB/T 22796-2021床上用品
- 中国联通LAN工程施工及验收规范
- 二年级上册连续加减括号混合竖式计算180题
- 中间表模式接口相关-住院与his-adt方案
- 临床PCR检验的室内质控方法课件
- 拉曼光谱简介课件
评论
0/150
提交评论