第09九章软件测试精选文档.ppt
《第09九章软件测试精选文档.ppt》由会员分享,可在线阅读,更多相关《第09九章软件测试精选文档.ppt(80页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第09九章软件测试九章软件测试本讲稿第一页,共八十页测试阶段的信息流程测试阶段的信息流程2023/1/52本讲稿第二页,共八十页测试阶段的信息流程测试阶段的信息流程o输入流分软件配置和测试配置两项输入流分软件配置和测试配置两项,软件配置由需求软件配置由需求说明书、设计说明书和源代码组成说明书、设计说明书和源代码组成;测试配置中包测试配置中包含测试计划、测试工具、测试用例和期望结果含测试计划、测试工具、测试用例和期望结果,有有时测试配置亦作为软件配置的一个组成部分。时测试配置亦作为软件配置的一个组成部分。o测试人员根据上述输入信息测试程序并评价测试结测试人员根据上述输入信息测试程序并评价测试结
2、果果,当测试结果与期望结果存在差异时当测试结果与期望结果存在差异时,往往程序有往往程序有错。此时可采用排错技术定位错误并改正之。错。此时可采用排错技术定位错误并改正之。o通过对测试结果的收集和评价通过对测试结果的收集和评价,软件质量和软件可靠软件质量和软件可靠性的一些定性指标即能逐步确定下来。性的一些定性指标即能逐步确定下来。2023/1/53本讲稿第三页,共八十页测试用例和场景的设计测试用例和场景的设计o任何工程化的产品都有两种测试方法任何工程化的产品都有两种测试方法:n一种方法是已知产品应该具有的功能一种方法是已知产品应该具有的功能,通过测试通过测试检验每个功能是否都能正常使用检验每个功能
3、是否都能正常使用;n另一种方法是已知产品内部工作过程另一种方法是已知产品内部工作过程,通过测试通过测试检验产品内部动作是否按照产品规格说明的规定检验产品内部动作是否按照产品规格说明的规定正常进行。正常进行。o前者称为黑盒测试前者称为黑盒测试,后者称为白盒测试。后者称为白盒测试。o测试用例和测试场景将根据这两种测试方法的特性测试用例和测试场景将根据这两种测试方法的特性制定。制定。2023/1/54本讲稿第四页,共八十页黑盒测试黑盒测试o黑盒测试完全不考虑程序的内部结构和处理过程。黑盒测试完全不考虑程序的内部结构和处理过程。测试仅在程序界面上进行。测试仅在程序界面上进行。o设计测试用例旨在说明设计
4、测试用例旨在说明:软件的功能是否可操作软件的功能是否可操作;程序能否适当地接收输入数据并产生正确的输出程序能否适当地接收输入数据并产生正确的输出结果或在可能的场景中事件驱动的效果是否尽如结果或在可能的场景中事件驱动的效果是否尽如人意人意;能否保持外部信息能否保持外部信息(如数据文件如数据文件)的完整性。的完整性。2023/1/55本讲稿第五页,共八十页白盒测试白盒测试o白盒测试法密切关注处理细节白盒测试法密切关注处理细节,针对程序的每一条逻针对程序的每一条逻辑路径都要分别设计测试用例辑路径都要分别设计测试用例,检查分枝和循环的检查分枝和循环的情况。情况。o穷举测试不可取穷举测试不可取,一般选用
5、少量一般选用少量“最有效最有效”,即最有即最有可能暴露错误的路径进行测试。可能暴露错误的路径进行测试。o测试的目的是为了找出错误测试的目的是为了找出错误,所以无论采用黑盒法还所以无论采用黑盒法还是白盒法是白盒法,设计测试用例时总是期望用尽可能少的设计测试用例时总是期望用尽可能少的时间和代价发现尽可能多的错误。时间和代价发现尽可能多的错误。2023/1/56本讲稿第六页,共八十页例:例:o最多有最多有1014个个逻辑路径逻辑路径,假设假设每运行一个测每运行一个测试用例平均花试用例平均花费费1毫秒毫秒,总共总共需需3170年才年才能穷尽所有测能穷尽所有测试。试。2023/1/57本讲稿第七页,共八
6、十页软件测试的步骤软件测试的步骤o软件工程的开发过程和测试过程应该是对应的。第软件工程的开发过程和测试过程应该是对应的。第一章图一章图1.3采用采用V型图表示开发型图表示开发测试的对应关系,测试的对应关系,也可以采用图也可以采用图14.3所示的螺旋型图表示。所示的螺旋型图表示。o每旋转一圈每旋转一圈,测试的范围加大一次测试的范围加大一次:n螺旋中心对应单元测试螺旋中心对应单元测试,它测试源程序的每一模块它测试源程序的每一模块;n下一步是综合测试下一步是综合测试,它测试软件总体结构它测试软件总体结构;n再下一步是确认再下一步是确认(验收验收)测试测试,测试软件是否满足需求测试软件是否满足需求;n
7、最后一步是系统测试最后一步是系统测试,检查软件与系统中其他元素是否协调。检查软件与系统中其他元素是否协调。2023/1/58本讲稿第八页,共八十页软件测试技术软件测试技术o本节主要讨论当用白盒或黑盒测试法测试软件时本节主要讨论当用白盒或黑盒测试法测试软件时,如如何设计测试用例才能达到测试的目的。何设计测试用例才能达到测试的目的。o此外此外,对自动测试工具也作一些简单介绍。对自动测试工具也作一些简单介绍。2023/1/59本讲稿第九页,共八十页白盒测试白盒测试o白盒测试应该根据程序的控制结构设计测试用例白盒测试应该根据程序的控制结构设计测试用例,原原则是则是:保证模块中每一独立的路径至少执行一次
8、保证模块中每一独立的路径至少执行一次;保证所有判断的每一分枝至少执行一次保证所有判断的每一分枝至少执行一次;保证每一循环都在边界条件和一般条件下至少各保证每一循环都在边界条件和一般条件下至少各执行一次执行一次;验证所有内部数据结构的有效性。验证所有内部数据结构的有效性。2023/1/510本讲稿第十页,共八十页1.基本路径测试基本路径测试o基本路径测试的主要思想是,根据软件过程性描述基本路径测试的主要思想是,根据软件过程性描述(详细设计或代码详细设计或代码)中的控制流程确定复杂性度量中的控制流程确定复杂性度量,然后用此度量定义基本路径集合然后用此度量定义基本路径集合,由此导出一组测由此导出一组
9、测试用例,它们能保证每个语句至少执行一次。试用例,它们能保证每个语句至少执行一次。o为了使用图论的知识和术语为了使用图论的知识和术语,引入流图引入流图(亦称程序图亦称程序图)的概念的概念,流图即把流程图中结构化构件改用一般有流图即把流程图中结构化构件改用一般有向图的表示形式。向图的表示形式。o代表条件判断的结点称为谓词结点。代表条件判断的结点称为谓词结点。2023/1/511本讲稿第十一页,共八十页结构化构件在流图中的表示结构化构件在流图中的表示2023/1/512本讲稿第十二页,共八十页例:流程图例:流程图2023/1/513本讲稿第十三页,共八十页例:对应的流图例:对应的流图2023/1/
10、514本讲稿第十四页,共八十页条件处理条件处理o若判断中含复合条件若判断中含复合条件,则需增加谓词结点。如则需增加谓词结点。如OR运运算的处理。算的处理。2023/1/515本讲稿第十五页,共八十页基本路径测试的思想基本路径测试的思想pp基本路径n n至少引入一个新语句或者新判断的程序执行通道 pp测试用例的设计方法n n流程图=流图=基本路径=测试用例2023/1/516本讲稿第十六页,共八十页Step1 根据程序的逻辑结构画出流程图根据程序的逻辑结构画出流程图void Func(int nPosX,int nPosY)void Func(int nPosX,int nPosY)while(
11、nPosX 0)while(nPosX 0)int nSum=nPosX+nPosY;int nSum=nPosX+nPosY;if(nSum 1)if(nSum 1)nPosX-;nPosX-;nPosY-;nPosY-;else else if(nSum -1)nPosX-=2;if(nSum -1)nPosX-=2;else nPosX-=4;else nPosX-=4;/end of while/end of while 2023/1/517本讲稿第十七页,共八十页Step1 根据程序的逻辑结构画出流程图根据程序的逻辑结构画出流程图2023/1/518本讲稿第十八页,共八十页Step2
12、 根据流程图画出流图根据流程图画出流图2023/1/519本讲稿第十九页,共八十页Step3 确定基本路径的集合确定基本路径的集合pp基本路径基本路径n n流图的流图的CyclomaticCyclomatic复杂复杂度正好是基本路径的数目度正好是基本路径的数目pV(G)=E N+2 V(G)=11-9+2=4 2023/1/520本讲稿第二十页,共八十页 Step3 确定基本路径的集合确定基本路径的集合pp1-111-11pp1-2,3-4,5-10-1-111-2,3-4,5-10-1-11pp1-2,3-6-7-9-10-1-111-2,3-6-7-9-10-1-11pp1-2,3-6-8
13、-9-10-1-11 1-2,3-6-8-9-10-1-11 2023/1/521本讲稿第二十一页,共八十页Step4 对每条基本路径设计测试用例对每条基本路径设计测试用例pp对于路径对于路径1 11nPosX nPosX 取取-1,nPosY-1,nPosY取任意值取任意值pp1-2,3-4,5-10-1-11nPosX nPosX 取取1,nPosY1,nPosY取取1 1pp对于路径对于路径1-2,3-6-7-9-10-1 11nPosX nPosX 取取1,nPosY1,nPosY取取-1-1pp1-2,3-6-8-9-10-1-11 nPosX nPosX 取取1,nPosY1,nP
14、osY取取-3-32023/1/522本讲稿第二十二页,共八十页2.控制结构测试控制结构测试o基本路径测试是控制结构测试技术的一种基本路径测试是控制结构测试技术的一种,下面介绍下面介绍其他形式的控制结构测试其他形式的控制结构测试,它们比基本路径测试法它们比基本路径测试法覆盖程度更大覆盖程度更大,进一步提高了白盒测试的质量。进一步提高了白盒测试的质量。2023/1/523本讲稿第二十三页,共八十页条件测试法条件测试法o条件测试主要考虑程序中的条件判断条件测试主要考虑程序中的条件判断,以期发现条件以期发现条件判断内部的错误和程序中其他一些错误。判断内部的错误和程序中其他一些错误。o程序中程序中“条
15、件条件”分为简单条件和复合条件。简单条分为简单条件和复合条件。简单条件为一个布尔变量或一个关系表达式件为一个布尔变量或一个关系表达式(可能前缀逻可能前缀逻辑非辑非),复合条件由简单条件通过逻辑运算符复合条件由简单条件通过逻辑运算符(OR、AND、NOT)和括号连接而成。和括号连接而成。o因此条件中可能出现的错误类型包括因此条件中可能出现的错误类型包括:布尔运算符布尔运算符错、布尔变量错、括号错、关系运算符错和算术表错、布尔变量错、括号错、关系运算符错和算术表达式错。达式错。o最简单的条件测试是分支测试。最简单的条件测试是分支测试。2023/1/524本讲稿第二十四页,共八十页分支和关系运算测试
16、法分支和关系运算测试法BROo能用少于能用少于2n次测试发现条件中大多数错误次测试发现条件中大多数错误,采用该采用该方法的前提是条件中每个布尔变量和关系运算符至方法的前提是条件中每个布尔变量和关系运算符至多出现一次并无公共变量。多出现一次并无公共变量。oBRO方法引入条件约束的概念方法引入条件约束的概念,含含n个简单条件的个简单条件的复合条件复合条件C之约束之约束D表示为表示为(D1,D2,Dn),Di(0in)一般为某种符号一般为某种符号,它指明简单条件它指明简单条件Ci在在C中出中出现的约束。现的约束。C的一次执行覆盖约束条件的一次执行覆盖约束条件D指,指,C中出中出现的每个简单条件现的每
17、个简单条件Ci在这次执行中都满足在这次执行中都满足D中对应中对应的约束的约束Di。对于一个布尔表达式。对于一个布尔表达式,出现约束或为真出现约束或为真(t)或为假或为假(f);对于一个关系表达式对于一个关系表达式,出现约束用符出现约束用符号、或表示。号、或表示。2023/1/525本讲稿第二十五页,共八十页数据流测试法数据流测试法o数据流测试法是根据程序中变量定义和引用的位置数据流测试法是根据程序中变量定义和引用的位置选择测试路径。选择测试路径。o为说明数据流测试法为说明数据流测试法,假设程序中每个语句都被赋与假设程序中每个语句都被赋与一个唯一的标号一个唯一的标号,并且每个函数都不修改其参数和
18、并且每个函数都不修改其参数和全局变量全局变量,对以对以S为标号的语句定义下面两个集合为标号的语句定义下面两个集合:nDEF(S)=X|语句语句S中含中含X的定义的定义nUSE(S)=X|语句语句S中含对中含对X的引用的引用o当当S为分支或循环语句时为分支或循环语句时,DEF集合为空集合为空,USE集合集合由由S所含条件确定。如果从语句所含条件确定。如果从语句S到语句到语句S存在一存在一条路径并且在条路径并且在S中不存在中不存在X的再定义的再定义,则称在则称在S中定中定义的义的X在在S处活跃。处活跃。2023/1/526本讲稿第二十六页,共八十页数据流测试法(续)数据流测试法(续)o定义变量定义
19、变量X的定义的定义引用链引用链(DU链链)为为X,S,S,其中其中S,S为标号为标号,X DEF(S)USE(S)且且S中定中定义的义的X在在S处活跃。处活跃。o一种简单的数据流测试策略即对每条一种简单的数据流测试策略即对每条DU链至少覆链至少覆盖一次盖一次,称为称为DU测试策略测试策略,它对于测试含嵌套它对于测试含嵌套IF语语句和多重循环语句的程序特别有效。句和多重循环语句的程序特别有效。2023/1/527本讲稿第二十七页,共八十页循环测试循环测试o循环是大多数算法的基础循环是大多数算法的基础,循环测试的目的是检查循循环测试的目的是检查循环结构的有效性。环结构的有效性。o循环分为简单循环、
20、并列循环、嵌套循环和非结构循环分为简单循环、并列循环、嵌套循环和非结构循环四类:循环四类:2023/1/528本讲稿第二十八页,共八十页2023/1/529本讲稿第二十九页,共八十页循环测试(续)循环测试(续)o对于最多为对于最多为n次的简单循环次的简单循环,应作下列测试应作下列测试:1)完全跳过循环完全跳过循环;2)仅循环一次仅循环一次;3)循环两次循环两次;4)循环循环m次次,mn;5)分别循环分别循环(n-1)次次,n次次,n+1次。次。2023/1/530本讲稿第三十页,共八十页循环测试(续)循环测试(续)o对于嵌套循环若生搬硬套简单循环的测试策略。可能使测试次数对于嵌套循环若生搬硬套
21、简单循环的测试策略。可能使测试次数成几何级数增长成几何级数增长,减少测试次数的具体措施包括减少测试次数的具体措施包括:1)从最内层循环开始测试从最内层循环开始测试,此时所有外层循环都取最小值此时所有外层循环都取最小值,内层循环内层循环按简单循环的测试策略测试按简单循环的测试策略测试;2)由里向外由里向外,回退到上一层循环测试回退到上一层循环测试,这层循环的所有外层循环这层循环的所有外层循环仍取最小值仍取最小值,由该层循环嵌套的那些循环取一些典型值。由该层循环嵌套的那些循环取一些典型值。3)继续向外扩展继续向外扩展,直至所有循环测试完毕。直至所有循环测试完毕。o对于并置循环分两种情况对于并置循环
22、分两种情况,若两个循环完全独立若两个循环完全独立,采用简单循环的测采用简单循环的测试策略试策略,反之反之,若第一循环的计数器用作第二循环的初值若第一循环的计数器用作第二循环的初值,即两循环即两循环不独立不独立,需用嵌套循环测试策略测试。需用嵌套循环测试策略测试。o非结构化的循环需按结构化程序设计的思想首先将程序结构化然非结构化的循环需按结构化程序设计的思想首先将程序结构化然后再进行测试。后再进行测试。2023/1/531本讲稿第三十一页,共八十页黑盒测试黑盒测试o黑盒测试旨在测试软件是否满足功能要求黑盒测试旨在测试软件是否满足功能要求,它主要诊它主要诊断下列几类错误断下列几类错误:(1)不正确
23、或遗漏的功能;(2)界面错误;(3)数据结构或外部数据库访问错误;(4)性能错误;(5)初始化和终止条件错误。o值得指出的是值得指出的是,黑盒测试法与白盒测试法不能互相替黑盒测试法与白盒测试法不能互相替代代,相反两者应互为补充相反两者应互为补充,在测试的不同阶段为发现在测试的不同阶段为发现不同类型的错误而灵活选用。不同类型的错误而灵活选用。2023/1/532本讲稿第三十二页,共八十页1.等价分类法等价分类法o等价分类法的主要思想是把程序的输入数据集合按等价分类法的主要思想是把程序的输入数据集合按输入条件划分为若干个等价类输入条件划分为若干个等价类,每一等价类相对于每一等价类相对于输入条件表示
24、为一组有效或无效的输入输入条件表示为一组有效或无效的输入,然后为每然后为每一等价类设计一个测试用例一等价类设计一个测试用例,这样即可大大减小测这样即可大大减小测试的次数又不丢失发现错误的机会。试的次数又不丢失发现错误的机会。o因此等价分类法的关键是根据输入数据的类型和程因此等价分类法的关键是根据输入数据的类型和程序的功能说明划分等价类。序的功能说明划分等价类。2023/1/533本讲稿第三十三页,共八十页等价分类法等价分类法o常用的一些规则常用的一些规则:(1)如果能为输入条件指定一个范围,则可划分出一个有效的等价类(输入值落在此范围内)和两个无效的等价类(大于最大值的输入和小于最小值的输入)
25、;(2)如果能为输入条件指定一个特定值,则可类似地划分出一个有效等价类和两个无效等价类;(3)如果能为输入条件指定一个集合,则可划分出一个有效等价类(此集合)和一个无效等价类(此集合的补集);(4)如果能为输入条件指定一个布尔量,则可划分出一个有效等价类(此布尔量)和一个无效布尔量(此布尔量之非)。2023/1/534本讲稿第三十四页,共八十页2.边界值分析法边界值分析法o经验表明经验表明,大多数错误都发生在输入的边界值上。为大多数错误都发生在输入的边界值上。为此此,专门引入边界值分析专门引入边界值分析(Boundary Value Analysis)技术技术,旨在选择测试用例旨在选择测试用例
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 09 软件 测试 精选 文档
限制150内