[精选]计算机软件技术(软件工程6)15153.pptx
《[精选]计算机软件技术(软件工程6)15153.pptx》由会员分享,可在线阅读,更多相关《[精选]计算机软件技术(软件工程6)15153.pptx(50页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第9章面向对象的测试章面向对象的测试测试是软件开发周期的最后一个阶段,也是保测试是软件开发周期的最后一个阶段,也是保证软件质量至关重要的一个环节。证软件质量至关重要的一个环节。本章学习内容本章学习内容9.1 软件测试的概念软件测试的概念9.2 黑盒测试黑盒测试9.3 白盒测试白盒测试9.4 多模块程序的测试多模块程序的测试9.5 面向对象的测试方法面向对象的测试方法9.1 软件测试的概念软件测试的概念一、软件测试的概念一、软件测试的概念1.什么是软件测试什么是软件测试 软件测试是为了发现错误而执行程序的过程。通软件测试是为了发现错误而执行程序的过程。通过在计算机上执行程序,暴露程序中潜在的错
2、误。然过在计算机上执行程序,暴露程序中潜在的错误。然后对程序错误进行纠错。后对程序错误进行纠错。2.软件测试的目的软件测试的目的(1)以最少的时间和人力,系统地找出软件中潜在的)以最少的时间和人力,系统地找出软件中潜在的各种错误和缺陷。如果我们成功地实施了测试,我们各种错误和缺陷。如果我们成功地实施了测试,我们就能够发现软件中的错误。就能够发现软件中的错误。(2)测试的附带收获是,它能够证明软件的功能和性)测试的附带收获是,它能够证明软件的功能和性能与需求说明相符合。能与需求说明相符合。(3)实施测试收集到的测试结果数据为可靠性分析提)实施测试收集到的测试结果数据为可靠性分析提供了依据。供了依
3、据。(4)测试不能表明软件中不存在错误,它只能说明软)测试不能表明软件中不存在错误,它只能说明软件中存在错误。件中存在错误。3.测试与纠错的关系测试与纠错的关系测试评价纠错程序测试用例测试结果期望结果错误信息改正信息4.软件测试的指导原则软件测试的指导原则(1)应当把应当把“尽早地和不断地进行软件测试尽早地和不断地进行软件测试”作为软作为软件开发者的座右铭。件开发者的座右铭。(2)测试用例应由测试输入数据和对应的预期输出结测试用例应由测试输入数据和对应的预期输出结果这两部分组成。果这两部分组成。(3)程序员应避免检查自己的程序。程序员应避免检查自己的程序。(4)在设计测试用例时,应包括合理的输
4、入条件和不在设计测试用例时,应包括合理的输入条件和不合理的输入条件。合理的输入条件。(5)充分注意测试中的群集现象。经验表明,测试后充分注意测试中的群集现象。经验表明,测试后程序中残存的错误数目与该程序中已发现的错误数目程序中残存的错误数目与该程序中已发现的错误数目成正比。成正比。(6)严格执行测试计划,排除测试的随意性。严格执行测试计划,排除测试的随意性。(7)应当对每一个测试结果做全面检查。应当对每一个测试结果做全面检查。(8)妥善保存测试计划,测试用例,出错统计和最终妥善保存测试计划,测试用例,出错统计和最终分析报告,为维护提供方便。分析报告,为维护提供方便。二、软件测试的特性二、软件测
5、试的特性1.挑剔性挑剔性 测测试试是是为为了了证证明明程程序序有有错错,而而不不是是证证明明程程序序无无错错。因因此此,只只有有抱抱着着为为证证明明程程序序有有错错的的目目的的去去测测试试,才才能能把程序中潜在的大部分错误找出来。把程序中潜在的大部分错误找出来。2.复杂性复杂性 设计测试用例是一项需要细致和高度技巧的工作,设计测试用例是一项需要细致和高度技巧的工作,稍有不慎就会顾此失彼,发生不应有的疏漏。稍有不慎就会顾此失彼,发生不应有的疏漏。3.不彻底性不彻底性 “程序测试只能证明错误的存在,但不能证明错程序测试只能证明错误的存在,但不能证明错误不存在误不存在”。也就是说也就是说一切实际测试
6、都是不彻底的,一切实际测试都是不彻底的,不能够保证测试后的程序不存在遗留的错误。不能够保证测试后的程序不存在遗留的错误。4.经济性经济性 为了降低测试成本,在程序测试中,选择一些典为了降低测试成本,在程序测试中,选择一些典型的、有代表性的测试用例,进行有限的测试。以便型的、有代表性的测试用例,进行有限的测试。以便能使用尽可能少的测试用例,发现尽可能多的程序错能使用尽可能少的测试用例,发现尽可能多的程序错误。误。三、软件测试的种类及测试的文档三、软件测试的种类及测试的文档1.测试种类测试种类程序测试静态分析(程序不执行)动态测试(程序执行)静态分析器分析(自动方式)人工方式代码评审代码会审走查办
7、公桌检查黑盒测试(测试程序功能)白盒测试(测试程序结构)2 测试文档测试文档为了保证测试质量,软件测试必须完成规定的文档。为了保证测试质量,软件测试必须完成规定的文档。按照软件工程的要求,测试文档主要应包括按照软件工程的要求,测试文档主要应包括:测试计测试计划划、测试报测试报告告两个方面的内容。两个方面的内容。测试计划的主体是测试计划的主体是“测试内容说明测试内容说明”,它包括测试项,它包括测试项目的名称、各项测试的目的、步骤、进度以及测试用目的名称、各项测试的目的、步骤、进度以及测试用例的设计等。例的设计等。测试报告的主体是测试报告的主体是“测试结果测试结果”,它包括测试项目名,它包括测试项
8、目名称、实测结果与期望结果的比较、发现的问题以及测称、实测结果与期望结果的比较、发现的问题以及测试达到的效果等。试达到的效果等。3 测试用例和测试结果的定义测试用例和测试结果的定义测试用例测试用例=测试数据测试数据+期望结果期望结果 测试结果测试结果=测试数据测试数据+期望结果期望结果+实际结果实际结果 9.2 黑盒测试黑盒测试黑盒测试就是把测试程序看成是一个黑盒子,测黑盒测试就是把测试程序看成是一个黑盒子,测试人员只针对输入与输出的关系,对被测试程序功能试人员只针对输入与输出的关系,对被测试程序功能及外部特性进行测试,而不考虑其内部逻辑和内部特及外部特性进行测试,而不考虑其内部逻辑和内部特性
9、,所以也称为性,所以也称为功能测试功能测试。用黑盒法设计测试用例,常用技术有:用黑盒法设计测试用例,常用技术有:等价分类等价分类法法、边界值分析法边界值分析法、错误猜测法错误猜测法等。等。一、等价分类法一、等价分类法1.特点特点等价分类法就是把输入数据的可能值划分为若干等价分类法就是把输入数据的可能值划分为若干等价类,使每类中的任何一个测试用例,都能代表同等价类,使每类中的任何一个测试用例,都能代表同一等价类中的其它测试用例。一等价类中的其它测试用例。例:某工厂公开招工,规定报名者年龄应在例:某工厂公开招工,规定报名者年龄应在16周岁至周岁至35周岁之间(假定到周岁之间(假定到2002年年3月
10、月30日止)。即出生年月日止)。即出生年月不在上述范围内,将拒绝接受,并显示不在上述范围内,将拒绝接受,并显示“年龄不合格年龄不合格”等出错信息。试用等价分类法设计对这一程序功能等出错信息。试用等价分类法设计对这一程序功能的测试用例。的测试用例。解第一步:划分等价类。解第一步:划分等价类。假定已知出生年月由假定已知出生年月由6位数字字符表示,前位数字字符表示,前4位代表年,位代表年,后后2位代表月,则可以划分为位代表月,则可以划分为3个有效等价类,个有效等价类,7个无效个无效等价类,如下表所示。等价类,如下表所示。输入数据输入数据有效等价类有效等价类无效等价类无效等价类出生年月出生年月(1)6
11、位数字字符位数字字符(2)有非数字字符有非数字字符(3)少于少于6个数字符个数字符(4)多于多于6个数字符个数字符对应数值对应数值(5)在在196702198603之间之间(6)198603月份对应数值月份对应数值(8)在在112之间之间(9)等于等于“0”(10)12第二步:设计有效等价类需要的测试用例。第二步:设计有效等价类需要的测试用例。上表中的上表中的(1),(5),(8)等等3个有效等价类,可以公用一个有效等价类,可以公用一个测试用例,例如:个测试用例,例如:测试数据期望结果测试范围测试数据期望结果测试范围 197011 输入有效输入有效(1),(5),(8)第三步:为每一无效等价类
12、至少设计一个测试用例。第三步:为每一无效等价类至少设计一个测试用例。本例具有本例具有7个无效等价类,需要个无效等价类,需要7个测试用例:个测试用例:测试数据期望结果测试范围测试数据期望结果测试范围 MAY,70 输入无效输入无效(2)19705 输入无效输入无效(3)1970011 输入无效输入无效(4)195512 年龄不合格年龄不合格 (6)197012 年龄不合格年龄不合格 (7)196200 输入无效输入无效(9)196222 输入无效输入无效(10)2.采用这一技术要注意以下两点:采用这一技术要注意以下两点:1)划分等价类不仅要考虑代表)划分等价类不仅要考虑代表“有效有效”输入值的有
13、效输入值的有效等价类,还须考虑代表等价类,还须考虑代表“无效无效”输入值的无效等价类;输入值的无效等价类;2)每一无效等价类至少要用一个测试用例,不然就可)每一无效等价类至少要用一个测试用例,不然就可能漏掉某一类错误,但允许若干有效等价类合用同一能漏掉某一类错误,但允许若干有效等价类合用同一个测试用例。个测试用例。二、边界值分析法二、边界值分析法1.含义含义所所谓边谓边界界值值分析,就是要把分析,就是要把测试测试的重点放在各个的重点放在各个等价等价类类的的边边界上,界上,选选取取刚刚好等于、好等于、刚刚刚刚大于和大于和刚刚刚刚小小于于边边界界值值的数据的数据为测试为测试数据,并据此数据,并据此
14、设计设计出相出相应应的的测测试试用例。用例。2.特点特点由于在由于在处处理理边边界情况界情况时时,很容易因疏忽或考,很容易因疏忽或考虑虑不不周周发发生生编码错误编码错误,采用,采用边边界界值值分析法,就是要分析法,就是要这样这样来来选择选择在在边边界界值值及其附近运行的及其附近运行的测试测试用例,使得被用例,使得被测测程程序能更有效地暴露序能更有效地暴露程序中潜藏的错误。程序中潜藏的错误。例程序同上例。例程序同上例。试试用用边边界界值值分析法分析法设计设计其其测试测试用用例。例。解用等价分解用等价分类类法法设计测试设计测试用例用例时时,测试测试数据可以数据可以在等价在等价类值类值域内任意域内任
15、意选选取。就拿上例来取。就拿上例来说说,为为了只接了只接受年受年龄龄合格的合格的报报名者,程序中可能名者,程序中可能设设有有语语句句 if(196702=value(birthdate)=198603)then read(birthdate)else write“invalid age”三、错误猜测法三、错误猜测法1.特点特点就是猜测被测程序在哪些地方容易出错,然后针对可就是猜测被测程序在哪些地方容易出错,然后针对可能的薄弱环节来设计测试用例。能的薄弱环节来设计测试用例。它比前它比前2 2种方法更多地依靠测试人员的直觉与经验。种方法更多地依靠测试人员的直觉与经验。9.3 白盒测试白盒测试白盒测
16、试是对系统的内部过程性细节做细致的检白盒测试是对系统的内部过程性细节做细致的检查,把被测试的程序看成是透明的盒子,所以也称为查,把被测试的程序看成是透明的盒子,所以也称为结构测试。结构测试。用白盒法设计测试用例,常用技术有:用白盒法设计测试用例,常用技术有:逻辑覆盖逻辑覆盖测试法测试法、路径测试法路径测试法等。等。一、逻辑覆盖测试法一、逻辑覆盖测试法1.特点特点逻辑覆盖测试法通过流程图来设计测试用例,它逻辑覆盖测试法通过流程图来设计测试用例,它考察的重点是图中的判定框考察的重点是图中的判定框(菱形框菱形框)。因为这些判定。因为这些判定若不是与选择结构有关,就是与循环结构有关,是决若不是与选择结
17、构有关,就是与循环结构有关,是决定程序结构的关键成份。定程序结构的关键成份。2.逻辑覆盖测试的逻辑覆盖测试的5种覆盖标准种覆盖标准发现错误的能力弱强语 句覆盖每条语句至少执行一次判 定覆盖每一判定的每个分支至少执行一次条 件覆盖每一判定中的每个条件,分别按“真”、“假”至少各执行一次判 定/条 件覆盖同时满足判定覆盖和条件覆盖的要求条 件组 合覆盖求出判定中所有条件的各种可能组合值,每一可能的条件组合至少执行一次二、路径测试法二、路径测试法1.含义含义路径测试就是着眼于程序执行路径的测试方法,路径测试就是着眼于程序执行路径的测试方法,对程序图中每一条可能的程序执行路径至少测试一次。对程序图中每
18、一条可能的程序执行路径至少测试一次。如果程序中含有循环如果程序中含有循环(在程序图中表现为环在程序图中表现为环),则每个,则每个循环至少执行一次。循环至少执行一次。2.特点特点1)满足结构测试的最低要求。满足结构测试的最低要求。2)有利于安排循环测试。有利于安排循环测试。9.4 多模块程序的测试多模块程序的测试 实际的应用程序大都是多模块程序,在软件工程实际的应用程序大都是多模块程序,在软件工程中,软件测试主要指多模块程序的测试。多模块程序中,软件测试主要指多模块程序的测试。多模块程序要比单模块小程序复杂得多。这种复杂性的主要表现要比单模块小程序复杂得多。这种复杂性的主要表现是测试的层次性,多
19、模块程序的测试共包括是测试的层次性,多模块程序的测试共包括4 4个层次。个层次。第一层为单元测试第一层为单元测试 第二层为集成测试第二层为集成测试第三层为确认测试第三层为确认测试第四层是系统测试第四层是系统测试 一、单元测试一、单元测试1.含义含义以模块或子程序为单位进行测试,又称模块测试。以模块或子程序为单位进行测试,又称模块测试。2.目的与任务目的与任务目的:目的:是通过对模块的静态分析与动态测试,使其代是通过对模块的静态分析与动态测试,使其代码达到模块说明书的需求。码达到模块说明书的需求。任务:任务:对模块代码进行编译,发现并纠正其语法错误;对模块代码进行编译,发现并纠正其语法错误;对模
20、块代码进行静态分析,并据此设计一组测试用例对模块代码进行静态分析,并据此设计一组测试用例和必要的测试软件;用选定的测试用例对模块进行测和必要的测试软件;用选定的测试用例对模块进行测试,直至满足测试终止标准为止;最后,编制单元测试,直至满足测试终止标准为止;最后,编制单元测试报告。试报告。3.测试步骤测试步骤编译其检查对象是代码中的语法错误。编译其检查对象是代码中的语法错误。静态分析器检查静态分析器检查代码评审代码评审动态测试重点是发现单元的功能性错误。动态测试重点是发现单元的功能性错误。检查对象已从语法错误改检查对象已从语法错误改变为以结构性错误为主的变为以结构性错误为主的其它错误其它错误 4
21、.特点特点单单元不是独立的程序。在多模元不是独立的程序。在多模块块程序中,每一模程序中,每一模块块都可能都可能调调用其它模用其它模块块或者被其它模或者被其它模块块所所调调用。所以在用。所以在单单元元测试时测试时,需要,需要为为被被测测模模块编块编制若干制若干测试软测试软件,件,给给它的上它的上级级模模块块或下或下级级模模块块作替身。替身模作替身。替身模块应该块应该是真是真实实模模块块的的简简化,化,仅须仅须模模拟拟与被与被测测模模块块直接相关的一部直接相关的一部分功能。分功能。二、集成测试二、集成测试1.含义含义通过了单元测试的模块,按照一定的策略在组装为通过了单元测试的模块,按照一定的策略在
22、组装为完整的程序的过程中进行的测试,称为集成测试或组完整的程序的过程中进行的测试,称为集成测试或组装测试。装测试。2.目的与任务目的与任务是将是将经过单经过单元元测试测试的模的模块块逐步逐步组组装成具有良好一致装成具有良好一致性的完整的程序。性的完整的程序。三、确认测试三、确认测试1.含义含义确认测试是对整个程序的测试,用于确认组装完毕确认测试是对整个程序的测试,用于确认组装完毕的程序确能满足用户的全部需求。的程序确能满足用户的全部需求。2.目的与任务目的与任务确认测试继集成测试之后进行,其目的在于确认组确认测试继集成测试之后进行,其目的在于确认组装完毕的程序是否满足软件需求规格说明书(装完毕
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 精选 计算机软件 技术 软件工程 15153
限制150内