第9章-软件测试.ppt
《第9章-软件测试.ppt》由会员分享,可在线阅读,更多相关《第9章-软件测试.ppt(45页珍藏版)》请在咨信网上搜索。
1、1目录页软件测试第九章本章本章要点要点n 掌握软件测试的目标与原则;n 理解软件测试方法;n 掌握等价类划分法、边界值分析法、错误推测法等黑盒法测试用例的设计;n 熟悉逻辑覆盖法等白盒法测试用例的设计;n 理解软件测试的过程;n 了解软件测试工具;n 了解软件调试概念;n 了解面向对象软件测试的特点。2目录页软件测试第九章项目项目任务任务n对瑞天图书管理系统主要模块进行功能测试,设计测试用例;n对瑞天图书管理系统主要模块进行界面测试,设计测试用例;n 根据本节提供的测试用例,完成对瑞天图书管理系统相应模块的实际测试。3目录页9.1 软件测试概述第9章软件测试的目的是为了发现软件产品中存在的软件
2、缺陷,进而保证软件产品的质量。软软件测试的目的是为了发现软件产品中存在的软件缺陷,进而保证软件产品的质量。软件测试是软件开发过程中的一个重要阶段,是软件产品正式投入运行前,对软件需求分析、件测试是软件开发过程中的一个重要阶段,是软件产品正式投入运行前,对软件需求分析、设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试的结果也是分析软设计规格说明和编码的最终复审,是软件质量保证的关键步骤。软件测试的结果也是分析软件可靠性的重要依据。件可靠性的重要依据。测试阶段的根本目标是以最少的人力、物力和时间,尽可能多地发现并排除软件中潜在测试阶段的根本目标是以最少的人力、物力和时间,尽可能多地
3、发现并排除软件中潜在的错误,最终把一个高质量的软件系统交给用户使用。的错误,最终把一个高质量的软件系统交给用户使用。9.1.1 软件测试的目标软件测试的目标4目录页9.1 软件测试概述第9章在软件测试中,应注意以下指导原则:在软件测试中,应注意以下指导原则:(1)所有测试都应追溯到需求。)所有测试都应追溯到需求。(2)坚持)坚持“尽早地和不断地进行软件测试尽早地和不断地进行软件测试”。(3)测试用例应由输入数据和预期的输出结果两部分组成。)测试用例应由输入数据和预期的输出结果两部分组成。(4)程序员应避免测试自己的程序。)程序员应避免测试自己的程序。(5)在设计测试用例时,应当包括合理的输入条
4、件和不合理的输入条件。)在设计测试用例时,应当包括合理的输入条件和不合理的输入条件。(6)充分注意测试中的群集现象。)充分注意测试中的群集现象。(7)严格执行测试计划,排除测试的随意性。)严格执行测试计划,排除测试的随意性。(8)应当对每个测试结果做全面检查。)应当对每个测试结果做全面检查。(9)在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做)在测试程序时,不仅要检验程序是否做了该做的事,还要检验程序是否做了不该做的事。的事。(10)应长期保留所有测试用例。)应长期保留所有测试用例。9.1.2 软件测试的原则软件测试的原则 5目录页9.1 软件测试概述第9章软件测试时
5、需要三类测试信息流,如图软件测试时需要三类测试信息流,如图9-1所示。所示。9.1.3 软件测试的信息流软件测试的信息流 6目录页9.2 软件测试方法第9章软件测试方法很多,按照测试过程是否执行程序来分,一般分为静态测试方法和动态测软件测试方法很多,按照测试过程是否执行程序来分,一般分为静态测试方法和动态测试方法。动态测试方法又根据测试用例的设计方法不同,分为黑盒测试和白盒测试两类。测试方法。动态测试方法又根据测试用例的设计方法不同,分为黑盒测试和白盒测试两类。测试方法的分类如图试方法的分类如图9-2所示。所示。7目录页9.2 软件测试方法第9章静态测试包括代码检查、静态结构分析、代码质量度量
6、等,是指不在计算机上执行被测静态测试包括代码检查、静态结构分析、代码质量度量等,是指不在计算机上执行被测试软件,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试可以由试软件,而是采用人工检测和计算机辅助静态分析的手段对程序进行检测。静态测试可以由人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。经验表明,人工测人工进行,充分发挥人的逻辑思维优势,也可以借助软件工具自动进行。经验表明,人工测试能有效发现试能有效发现30%70%的逻辑设计错误和编码错误。的逻辑设计错误和编码错误。(1)人工测试:是指不依靠计算机而靠人工审查程序或评审软件。人工审查程序的重点)人工测试
7、:是指不依靠计算机而靠人工审查程序或评审软件。人工审查程序的重点是对编码质量的检查,而软件审查除了审查编码还要对各阶段的软件产品(各种文档)进行是对编码质量的检查,而软件审查除了审查编码还要对各阶段的软件产品(各种文档)进行复查。人工检测可以发现计算机不易发现的错误,特别是软件总体设计和详细设计阶段的错复查。人工检测可以发现计算机不易发现的错误,特别是软件总体设计和详细设计阶段的错误。误。(2)计算机辅助静态分析:指不需要执行所测试的程序,而只是通过扫描程序正文,对)计算机辅助静态分析:指不需要执行所测试的程序,而只是通过扫描程序正文,对程序的数据流和控制流等信息进行分析,找出系统的缺陷,得出
8、测试报告。程序的数据流和控制流等信息进行分析,找出系统的缺陷,得出测试报告。9.2.1 静态测试静态测试 8目录页9.2 软件测试方法第9章动态测试是真正运行被测程序,在执行过程中,通过输入有效的测试用例,对输入与输动态测试是真正运行被测程序,在执行过程中,通过输入有效的测试用例,对输入与输出的对应关系进行分析,以达到检测的目的。通常意义上的测试大多是指动态测试。设计高出的对应关系进行分析,以达到检测的目的。通常意义上的测试大多是指动态测试。设计高效、合理的测试用例是动态测试的关键。同测试任何产品一样,动态测试一般有黑盒测试法效、合理的测试用例是动态测试的关键。同测试任何产品一样,动态测试一般
9、有黑盒测试法与白盒测试法两种,前者是测试产品的功能,后者是测试产品的内部结构和处理过程。与白盒测试法两种,前者是测试产品的功能,后者是测试产品的内部结构和处理过程。9.2.2 动态测试动态测试 9目录页9.2 软件测试方法第9章1黑盒测试法黑盒测试法黑盒法又称功能测试或数据驱动测试,该方法把被测试对象看成一个不透明的黑盒法又称功能测试或数据驱动测试,该方法把被测试对象看成一个不透明的“黑盒子黑盒子”,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口(界面)处进行测试,测试人员完全不考虑程序的内部结构和处理过程,只在软件的接口(界面)处进行测试,依据需求说明书,检查程序是否满足功能要求
10、,是否能很好地接收数据,并产生正确的输出。依据需求说明书,检查程序是否满足功能要求,是否能很好地接收数据,并产生正确的输出。通过黑盒测试主要发现以下错误:通过黑盒测试主要发现以下错误:(1)是否有不正确或遗漏了的功能。)是否有不正确或遗漏了的功能。(2)界面是否有错,能否正确地接受输入数据,能否产生正确的输出信息。)界面是否有错,能否正确地接受输入数据,能否产生正确的输出信息。(3)是否有数据结构或外部数据库访问错误。)是否有数据结构或外部数据库访问错误。(4)性能是否满足要求。)性能是否满足要求。(5)是否有初始化或终止性错误。)是否有初始化或终止性错误。9.2.2 动态测试动态测试 10目
11、录页9.3 测试用例的设计第9章常用的黑盒测试技术有等价类划分、边界值分析、错误推测法、因果图等。常用的黑盒测试技术有等价类划分、边界值分析、错误推测法、因果图等。1.等价类划分法等价类划分法(1)等价类划分法的基本思想等价类划分法的基本思想把所有可能的输入或输出数据(有效的和无效的)划分成若干个等价的子集,称为等价把所有可能的输入或输出数据(有效的和无效的)划分成若干个等价的子集,称为等价类,使得每个子集中的一个典型值在测试中的作用与这一子集中所有其他值的作用相同,可类,使得每个子集中的一个典型值在测试中的作用与这一子集中所有其他值的作用相同,可从每个子集中选取一组数据来测试程序,这种方法称
12、等价类划分法。从每个子集中选取一组数据来测试程序,这种方法称等价类划分法。等价类可分为有效等价类和无效等价类两种。前者主要用来检验程序是否实现了规格说等价类可分为有效等价类和无效等价类两种。前者主要用来检验程序是否实现了规格说明中的功能;后者主要用来检验程序否做了规格说明以外的事情。明中的功能;后者主要用来检验程序否做了规格说明以外的事情。9.3.1 黑盒技术黑盒技术11目录页9.3 测试用例的设计第9章(2)等价类划分的一般规则等价类划分的一般规则 划分等价类需要一定的经验,下面几条启发式规则有助于等价类的划分划分等价类需要一定的经验,下面几条启发式规则有助于等价类的划分:如果输入条件是一个
13、布尔量,则可定义一个有效等价类和一个无效等价类。如果输入条件是一个布尔量,则可定义一个有效等价类和一个无效等价类。如果输入条件规定了确切的取值范围,可定义一个有效等价类和两个无效等价类。如果输入条件规定了确切的取值范围,可定义一个有效等价类和两个无效等价类。如果规定了输入数据的个数,则可定义一个有效等价类和两个无效等价类。如果规定了输入数据的个数,则可定义一个有效等价类和两个无效等价类。如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值如规定了输入数据的一组值,且程序对不同输入值做不同处理,则每个允许的输入值是一个有效等价类,并有一个无效等价类是一个有效等价类,并有一个
14、无效等价类(所有不允许的输入值的集合所有不允许的输入值的集合)。如果规定了输入数据必须遵循的规则,可确定一个有效等价类(符合规则)和若干个如果规定了输入数据必须遵循的规则,可确定一个有效等价类(符合规则)和若干个无效等价类(从不同角度违反规则无效等价类(从不同角度违反规则)。如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更如已划分的等价类各元素在程序中的处理方式不同,则应将此等价类进一步划分成更小的等价类。小的等价类。如果处理对象是表格,则应使用空表、只含如果处理对象是表格,则应使用空表、只含1项的表,包含多项的表。项的表,包含多项的表。9.3.1 黑盒技术黑盒技术1
15、2目录页9.3 测试用例的设计第9章(3)用等价类划分法设计测试用例的步骤)用等价类划分法设计测试用例的步骤划分等价类,形成等价类表,为每一等价类规定一个唯一的编号;划分等价类,形成等价类表,为每一等价类规定一个唯一的编号;根据等价类选取相应的测试用例。根据等价类选取相应的测试用例。设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,设计一个新的测试用例,使其尽可能多地覆盖尚未覆盖的有效等价类,重复这一步骤,直到所有有效等价类均被覆盖。直到所有有效等价类均被覆盖。设计一个新的测试用例,使其覆盖一个而且只覆盖一个尚未覆盖的无效等价类,重复这设计一个新的测试用例,使其覆盖一
16、个而且只覆盖一个尚未覆盖的无效等价类,重复这一步骤,直到所有无效等价类均被覆盖。一步骤,直到所有无效等价类均被覆盖。注意:通常程序发现一类错误后就不再检查是否还有其他错误,因此,应该使每个测试注意:通常程序发现一类错误后就不再检查是否还有其他错误,因此,应该使每个测试方案只覆盖一个无效的等价类。方案只覆盖一个无效的等价类。9.3.1 黑盒技术黑盒技术13目录页9.3 测试用例的设计第9章2.边界值分析法边界值分析法边界值分析是一种补充等价类划分法的测试用例设计技术。边界值分析就是测试边界线边界值分析是一种补充等价类划分法的测试用例设计技术。边界值分析就是测试边界线数据。使用边界值分析法设计测试
17、用例时,应考虑选取正好等于、刚刚大于和刚刚小于边界数据。使用边界值分析法设计测试用例时,应考虑选取正好等于、刚刚大于和刚刚小于边界的值作为测试数据,这样发现程序中错误的概率较大。的值作为测试数据,这样发现程序中错误的概率较大。3.错误推测法错误推测法错误推测法是根据经验来设计测试用例以找出可能存在但尚未发现的错误的方法。错误推测法是根据经验来设计测试用例以找出可能存在但尚未发现的错误的方法。错误推测法的基本思想是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,错误推测法的基本思想是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,根据这些情况选择测试用例。根据这些情况选择测试用例
18、。9.3.1 黑盒技术黑盒技术14目录页9.3 测试用例的设计第9章4.因果图法因果图法因果图法用于检查程序输入条件的各种组合情况。等价类划分法和边界值分析法都侧重因果图法用于检查程序输入条件的各种组合情况。等价类划分法和边界值分析法都侧重考虑输入数据,而因果图法主要考虑输入数据之间的联系。该方法能够生成没有重复的且发考虑输入数据,而因果图法主要考虑输入数据之间的联系。该方法能够生成没有重复的且发现错误能力强的测试用例,而且对输入输出数据同时进行分析。现错误能力强的测试用例,而且对输入输出数据同时进行分析。9.3.1 黑盒技术黑盒技术15目录页9.3 测试用例的设计第9章9.3.2 白盒技术白
19、盒技术16目录页9.3 测试用例的设计第9章前面介绍的软件测试方法,各有所长。每种方法都能设计出一组有用的测试用例,用这前面介绍的软件测试方法,各有所长。每种方法都能设计出一组有用的测试用例,用这组用例可能容易发现某种类型的错误,但可能不易发现另一种类型的错误。组用例可能容易发现某种类型的错误,但可能不易发现另一种类型的错误。因此,对软件系统进行实际测试时,应该联合使用各种测试方法,形成综合策略。通常因此,对软件系统进行实际测试时,应该联合使用各种测试方法,形成综合策略。通常是先用黑盒法设计基本的测试用例,再用白盒法补充一些必要的测试用例。具体方法如下:是先用黑盒法设计基本的测试用例,再用白盒
20、法补充一些必要的测试用例。具体方法如下:(1)在任何情况下都应该使用边界值分析方法。)在任何情况下都应该使用边界值分析方法。(2)用等价类划分法补充测试用例。)用等价类划分法补充测试用例。(3)用错误推测法补充测试用例。)用错误推测法补充测试用例。(4)对照程序逻辑,检查已经设计出的测试用例的逻辑覆盖程度,如果没有达到所要求)对照程序逻辑,检查已经设计出的测试用例的逻辑覆盖程度,如果没有达到所要求的覆盖标准,则应当再补充一些测试用例。的覆盖标准,则应当再补充一些测试用例。(5)如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法。)如果程序的功能说明中含有输入条件的组合情况,则
21、一开始就可选用因果图法。9.3.3 综合测试策略综合测试策略 17目录页9.3 测试用例的设计第9章下面给出一个三角形分类程序的测试方案的设计。程序的功能是,读入三个整数值代表下面给出一个三角形分类程序的测试方案的设计。程序的功能是,读入三个整数值代表三角形的三条边的长度,程序判断这三个值能否构成三角形,如果能够,则输出三角形是等三角形的三条边的长度,程序判断这三个值能否构成三角形,如果能够,则输出三角形是等边、等腰或任意三角形的分类信息。边、等腰或任意三角形的分类信息。综合使用边界值分析、等价类划分和错误推测等技术为此程序设计测试用例。综合使用边界值分析、等价类划分和错误推测等技术为此程序设
22、计测试用例。第一步:确定测试策略。因为在本例中对被测程序已有明确的要求,即:判断能否构成第一步:确定测试策略。因为在本例中对被测程序已有明确的要求,即:判断能否构成三角形,如能构成,则再判断能构成等边、等腰或任意三角形哪一种。因此,可首先运用黑三角形,如能构成,则再判断能构成等边、等腰或任意三角形哪一种。因此,可首先运用黑盒测试法设计测试用例,然后再用白盒测试法验证其完整性,必要时再补充测试用例。盒测试法设计测试用例,然后再用白盒测试法验证其完整性,必要时再补充测试用例。第二步:在黑盒测试中首先要用等价类划分法划分输入等价类,然后用边值分析法和错第二步:在黑盒测试中首先要用等价类划分法划分输入
23、等价类,然后用边值分析法和错误推测法作补充。误推测法作补充。9.3.4 测试实例分析测试实例分析18目录页9.4 软件测试步骤 第9章与软件的开发过程类似,测试必须分步骤进行。对于大型的软件系统,测试基本上由单与软件的开发过程类似,测试必须分步骤进行。对于大型的软件系统,测试基本上由单元测试、集成测试、确认测试和系统测试四个步骤组成,如图元测试、集成测试、确认测试和系统测试四个步骤组成,如图9-4所示。所示。19目录页9.4 软件测试步骤 第9章单元测试又称模块测试,主要是检查每个程序模块是否正确实现了规定的功能。单元测试又称模块测试,主要是检查每个程序模块是否正确实现了规定的功能。集成测试又
24、称组装测试,主要检查概要设计中模块接口设计问题。集成测试又称组装测试,主要检查概要设计中模块接口设计问题。确认测试主要检查已实现的软件是否满足需求说明书中确定的各种需求。确认测试主要检查已实现的软件是否满足需求说明书中确定的各种需求。系统测试是综合检验软件与整个计算机系统的测试。系统测试是综合检验软件与整个计算机系统的测试。测试的每个过程都可以采用灵活的测试方法和测试策略,通常在单元测试中采用白盒测测试的每个过程都可以采用灵活的测试方法和测试策略,通常在单元测试中采用白盒测试方法,而在其他测试中主要采用黑盒测试方法。试方法,而在其他测试中主要采用黑盒测试方法。20目录页9.4 软件测试步骤 第
25、9章单元测试是对软件设计的最小单位单元测试是对软件设计的最小单位程序模块的测试,也是对程序模块进行正确性检程序模块的测试,也是对程序模块进行正确性检验的测试,其目的在于发现各模块内部可能存在的各种差错。通常单元测试可以放在编码阶验的测试,其目的在于发现各模块内部可能存在的各种差错。通常单元测试可以放在编码阶段,程序员在编写完成一个模块且无编译错误后就可以进行,主要是检查模块是否实现了详段,程序员在编写完成一个模块且无编译错误后就可以进行,主要是检查模块是否实现了详细设计说明书规定的模块功能和算法。细设计说明书规定的模块功能和算法。单元测试需要从程序的内部结构出发设计测试用例,通常采用白盒测试方
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 软件 测试
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【快乐****生活】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【快乐****生活】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。