《第3章--黑盒测试的实用技术ppt课件》由会员分享,可在线阅读,更多相关《第3章--黑盒测试的实用技术ppt课件(42页珍藏版)》请在金锄头文库上搜索。
1、在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么第第3章章 黑盒测试的实用技术黑盒测试的实用技术 黑盒测试技术是软件测试的主要方法黑盒测试技术是软件测试的主要方法之一,黑盒测试的基本概念、方法、操作之一,黑盒测试的基本概念、方法、操作步骤、工具步骤、工具等等内容是必须掌握的,本章重内容是必须掌握的,本章重点讨论以下内容:点讨论以下内容:在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么 黑盒测试的基本概念;黑盒测试的基本概念; 黑盒测试方法;黑盒测试方法; 黑盒测试的原则、策略和方法的
2、选择;黑盒测试的原则、策略和方法的选择; 黑盒测试步骤。黑盒测试步骤。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.1 黑盒测试的基本概念黑盒测试的基本概念 黑盒测试(黑盒测试(黑盒测试(黑盒测试(Black-Box TestingBlack-Box Testing)又称为数据驱)又称为数据驱)又称为数据驱)又称为数据驱动测试或基于规格说明的测试。黑盒测试就是把程序动测试或基于规格说明的测试。黑盒测试就是把程序动测试或基于规格说明的测试。黑盒测试就是把程序动测试或基于规格说明的测试。黑盒测试就是把程序看作一个不能打开的黑盒子,不考虑
3、程序内部逻辑结看作一个不能打开的黑盒子,不考虑程序内部逻辑结看作一个不能打开的黑盒子,不考虑程序内部逻辑结看作一个不能打开的黑盒子,不考虑程序内部逻辑结构和内部特性的情况下,测试程序的功能,测试者要构和内部特性的情况下,测试程序的功能,测试者要构和内部特性的情况下,测试程序的功能,测试者要构和内部特性的情况下,测试程序的功能,测试者要在软件的接口处进行,它只检查程序功能是否按照规在软件的接口处进行,它只检查程序功能是否按照规在软件的接口处进行,它只检查程序功能是否按照规在软件的接口处进行,它只检查程序功能是否按照规格说明书的规定正常使用,程序是否能接收输入数据格说明书的规定正常使用,程序是否能
4、接收输入数据格说明书的规定正常使用,程序是否能接收输入数据格说明书的规定正常使用,程序是否能接收输入数据而产生正确的输出信息,以及性能是否满足用户的需而产生正确的输出信息,以及性能是否满足用户的需而产生正确的输出信息,以及性能是否满足用户的需而产生正确的输出信息,以及性能是否满足用户的需求,并且保持数据库或外部信息的完整性。通过测试求,并且保持数据库或外部信息的完整性。通过测试求,并且保持数据库或外部信息的完整性。通过测试求,并且保持数据库或外部信息的完整性。通过测试来检测每个功能是否都能正常运行,因此黑盒测试又来检测每个功能是否都能正常运行,因此黑盒测试又来检测每个功能是否都能正常运行,因此
5、黑盒测试又来检测每个功能是否都能正常运行,因此黑盒测试又可称为从用户观点和需求进行出发的测试。可称为从用户观点和需求进行出发的测试。可称为从用户观点和需求进行出发的测试。可称为从用户观点和需求进行出发的测试。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么 由于黑盒测试不考虑程序内部结构,只关由于黑盒测试不考虑程序内部结构,只关心软件的功能,所以许多高层的测试如确认测心软件的功能,所以许多高层的测试如确认测试、系统测试、验收测试都采用黑盒测试。在试、系统测试、验收测试都采用黑盒测试。在设计黑盒测试用例可以和软件实现同时进行,设计黑盒测试用
6、例可以和软件实现同时进行,因此可以压缩整个测试的时间。因此可以压缩整个测试的时间。黑盒测试主要是为了发现以下几类错误:黑盒测试主要是为了发现以下几类错误: 是否有不正确或遗漏的功能?是否有不正确或遗漏的功能? 界面是否有错误?界面是否有错误? 在接口上,输入能否正确地接受?能否输出在接口上,输入能否正确地接受?能否输出正确的结果?正确的结果?在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么 是否有数据结构错误或外部数据库访是否有数据结构错误或外部数据库访问错误?问错误? 性能上是否满足要求?性能上是否满足要求? 初始化或终止性错误?初始化
7、或终止性错误? 从事黑盒测试的技术人员,从概念上需要从事黑盒测试的技术人员,从概念上需要注意下述内容。注意下述内容。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.1.1 黑盒测试的优点和缺点黑盒测试的优点和缺点1. 黑盒测试的优点:黑盒测试的优点: 从产品功能角度测试可以最大程度满足用户从产品功能角度测试可以最大程度满足用户的需求。的需求。 相同动作可重复执行,最枯燥的部分可由机相同动作可重复执行,最枯燥的部分可由机器完成。器完成。 依据测试用例针对性地找寻问题,定位更为依据测试用例针对性地找寻问题,定位更为准确,容易生成测试数据。
8、准确,容易生成测试数据。 将测试直接和程序将测试直接和程序/系统要完成的操作相关系统要完成的操作相关联。联。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么2. 黑盒测试的缺点:黑盒测试的缺点: 代码得不到测试。代码得不到测试。 如果规格说明设计有误,很难发现。如果规格说明设计有误,很难发现。 测试不能充分的进行。测试不能充分的进行。 结果取决于测试用例的设计。结果取决于测试用例的设计。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.1.2 黑盒测试人员的要求黑盒测试人员的要求
9、黑盒测试只关心软件的外部功能和界面表黑盒测试只关心软件的外部功能和界面表现,不接触代码,为了保证测试工作顺利进行,现,不接触代码,为了保证测试工作顺利进行,在合理的时间内完成测试,发现软件系统的缺在合理的时间内完成测试,发现软件系统的缺陷,掌握测试用例的书写,保证测试结果的可陷,掌握测试用例的书写,保证测试结果的可靠性,在对黑盒测试人员的选择和要求也要符靠性,在对黑盒测试人员的选择和要求也要符合一定的标准:合一定的标准: 掌握测试思想和常规测试流程掌握测试思想和常规测试流程; 了解产品的需求和功能了解产品的需求和功能; 掌握测试用例的书写掌握测试用例的书写; 有一定的软件开发和测试经验。有一定
10、的软件开发和测试经验。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.1.3 黑盒测试的意义黑盒测试的意义黑盒测试对于测试工作的意义主要有:黑盒测试对于测试工作的意义主要有:1. 黑盒测试有助于对被测产品进行总体功能的黑盒测试有助于对被测产品进行总体功能的需求进行验证;需求进行验证;2. 从测试管理来说,黑盒测试是非常方便的,从测试管理来说,黑盒测试是非常方便的,不需要对代码进行测试管理;不需要对代码进行测试管理;3. 黑盒测试是把所有可能的输入都作为测试数黑盒测试是把所有可能的输入都作为测试数据使用的,容易查出程序中的错误。据使用的
11、,容易查出程序中的错误。 在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.2 黑盒测试方法黑盒测试方法 因为黑盒测试一种基于证明功能需求和用因为黑盒测试一种基于证明功能需求和用户最终需求的测试方法,所以在选择测试设计户最终需求的测试方法,所以在选择测试设计测试方法方面一般有如下几种。测试方法方面一般有如下几种。黑盒测试技术设计用例方法:黑盒测试技术设计用例方法: 等价类划分法;等价类划分法; 边界值分析法;边界值分析法; 因果图法;因果图法; 判定表驱动测试;判定表驱动测试;在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到
12、自己在浪费,也许你认为浪费这一点点算不了什么 场景法;场景法; 功能图法;功能图法; 错误推测法;错误推测法; 正交试验设计法。正交试验设计法。 在实际测试工作中,往往是综合使用各种在实际测试工作中,往往是综合使用各种方法才能有效提高地提高测试效率和测试覆盖方法才能有效提高地提高测试效率和测试覆盖率,这就需要认真掌握这些方法的原理,积累率,这就需要认真掌握这些方法的原理,积累更多的测试经验,以有效地提高测试水平和测更多的测试经验,以有效地提高测试水平和测试的效率。通常在确定测试方法是,应遵循以试的效率。通常在确定测试方法是,应遵循以下原则和策略。下原则和策略。在日常生活中,随处都可以看到浪费粮
13、食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么原则:原则: 根据程序的需求和一旦发生故障将造成的损根据程序的需求和一旦发生故障将造成的损失来确定测试的优先级和测试重点。失来确定测试的优先级和测试重点。 根据功能需求认真制定测试策略,尽可能少根据功能需求认真制定测试策略,尽可能少的使用测试用例,减少测试的工作量,发的使用测试用例,减少测试的工作量,发现更多的程序错误。现更多的程序错误。 在任何情况下都必须采用边界值分析法。这在任何情况下都必须采用边界值分析法。这种方法设计出的测试用例发现程序错误的种方法设计出的测试用例发现程序错误的能力最强。能力最强。在日常生活中,随处都
14、可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么(2) 策略:策略: 首先进行等价类划分,包括输入条件和输出条件首先进行等价类划分,包括输入条件和输出条件首先进行等价类划分,包括输入条件和输出条件首先进行等价类划分,包括输入条件和输出条件的等价划分,将无限测试变成有限测试,这是减少工的等价划分,将无限测试变成有限测试,这是减少工的等价划分,将无限测试变成有限测试,这是减少工的等价划分,将无限测试变成有限测试,这是减少工作量和提高测试效率最有效的方法。作量和提高测试效率最有效的方法。作量和提高测试效率最有效的方法。作量和提高测试效率最有效的方法。 在任何情况下
15、都必须使用边界值分析方法。经验在任何情况下都必须使用边界值分析方法。经验在任何情况下都必须使用边界值分析方法。经验在任何情况下都必须使用边界值分析方法。经验表明,用这种方法设计出的测试用例发现程序错误的表明,用这种方法设计出的测试用例发现程序错误的表明,用这种方法设计出的测试用例发现程序错误的表明,用这种方法设计出的测试用例发现程序错误的能力最强。能力最强。能力最强。能力最强。 可以用错误推测法追加一些测试用例,这需要依可以用错误推测法追加一些测试用例,这需要依可以用错误推测法追加一些测试用例,这需要依可以用错误推测法追加一些测试用例,这需要依靠测试工程师的智慧和经验。靠测试工程师的智慧和经验
16、。靠测试工程师的智慧和经验。靠测试工程师的智慧和经验。 对照程序逻辑,检查已设计出的测试用例的逻辑对照程序逻辑,检查已设计出的测试用例的逻辑对照程序逻辑,检查已设计出的测试用例的逻辑对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖标准,应当再补覆盖程度。如果没有达到要求的覆盖标准,应当再补覆盖程度。如果没有达到要求的覆盖标准,应当再补覆盖程度。如果没有达到要求的覆盖标准,应当再补充足够的测试用例。充足够的测试用例。充足够的测试用例。充足够的测试用例。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么 如果程序的功能
17、说明中含有输入条件的组如果程序的功能说明中含有输入条件的组合情况,则一开始就可选用因果图法和判定表合情况,则一开始就可选用因果图法和判定表驱动法。驱动法。 对于参数配置类的软件,要用正交试验法对于参数配置类的软件,要用正交试验法选择较少的组合方式达到最佳效果。选择较少的组合方式达到最佳效果。 功能图法也是很好的测试用例设计方法,功能图法也是很好的测试用例设计方法,我们可以通过不同时期条件的有效性设计不同我们可以通过不同时期条件的有效性设计不同的测试数据。的测试数据。 对于业务流清晰的系统,可以利用场景法对于业务流清晰的系统,可以利用场景法贯穿整个测试案例过程,在案例中综合使用各贯穿整个测试案例
18、过程,在案例中综合使用各种测试方法。种测试方法。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.2.1 等价类划分等价类划分 等价类划分法是一种典型的、重要的黑盒等价类划分法是一种典型的、重要的黑盒测试方法,它将程序所有可能的输入数据(有测试方法,它将程序所有可能的输入数据(有效的和无效的)划分成若干个等价类。然后从效的和无效的)划分成若干个等价类。然后从每个部分中选取具有代表性的数据当作测试用每个部分中选取具有代表性的数据当作测试用例进行合理的分类,测试用例由有效等价类和例进行合理的分类,测试用例由有效等价类和无效等价类的代表组成,
19、从而保证测试用例具无效等价类的代表组成,从而保证测试用例具有完整性和代表性。有完整性和代表性。 在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么1. 等价类划分等价类划分等价类划分可以分为有效等价类和无效等价类。等价类划分可以分为有效等价类和无效等价类。(1)有效等价类)有效等价类有效等价类指对于程序规格说明来说,是合理有效等价类指对于程序规格说明来说,是合理的、有意义的输入数据构成的集合。利用它,的、有意义的输入数据构成的集合。利用它,可以检验程序是否实现了规格说明预先规定的可以检验程序是否实现了规格说明预先规定的功能和性能。有效等价类
20、可以是一个,也可以功能和性能。有效等价类可以是一个,也可以是多个。根据系统的输入域划分若干部分,然是多个。根据系统的输入域划分若干部分,然后从每个部分中选取少数代表性数据当做数据后从每个部分中选取少数代表性数据当做数据测试的测试用例,等价类是输入域的集合。测试的测试用例,等价类是输入域的集合。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么(2 )无效等价类)无效等价类 无效等价类和有效等价类相反,无效等价无效等价类和有效等价类相反,无效等价类是指对于软件规格说明而言,没有意义的,类是指对于软件规格说明而言,没有意义的,不合理的输入数据集
21、合,利用无效等价类,可不合理的输入数据集合,利用无效等价类,可以找出程序异常说明情况,检查程序的功能和以找出程序异常说明情况,检查程序的功能和性能的实现是否有不符合规格说明要求的地方。性能的实现是否有不符合规格说明要求的地方。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么2. 2. 等价类划分的方法和原则。等价类划分的方法和原则。等价类划分的方法和原则。等价类划分的方法和原则。(1 1)方法)方法)方法)方法 按区间划分。按区间划分。按区间划分。按区间划分。 按数值划分。按数值划分。按数值划分。按数值划分。 按数值集合划分。按数值集合划
22、分。按数值集合划分。按数值集合划分。 按限制条件或规划划分。按限制条件或规划划分。按限制条件或规划划分。按限制条件或规划划分。 按处理方式划分。按处理方式划分。按处理方式划分。按处理方式划分。(2 2)原则)原则)原则)原则 在输入条件规定取值范围或值的个数情况下,则可在输入条件规定取值范围或值的个数情况下,则可在输入条件规定取值范围或值的个数情况下,则可在输入条件规定取值范围或值的个数情况下,则可以确定一个有效等价类和两个无效等价类。以确定一个有效等价类和两个无效等价类。以确定一个有效等价类和两个无效等价类。以确定一个有效等价类和两个无效等价类。 在规定了输入数据的一组值中(假定在规定了输入
23、数据的一组值中(假定在规定了输入数据的一组值中(假定在规定了输入数据的一组值中(假定n n个),并且个),并且个),并且个),并且程序要对每个输入值分别处理的情况下,可以确定程序要对每个输入值分别处理的情况下,可以确定程序要对每个输入值分别处理的情况下,可以确定程序要对每个输入值分别处理的情况下,可以确定n n个有效等价类和一个无效等价类。个有效等价类和一个无效等价类。个有效等价类和一个无效等价类。个有效等价类和一个无效等价类。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么等价类表的建立等价类表的建立如表3-1所示。在日常生活中,随处都
24、可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么4等价类表与测试用例的关系等价类表与测试用例的关系如表3-2所示。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.2.2 边界值分析方法边界值分析方法边界值分析法边界值分析法边界值分析法边界值分析法BVABVA(Boundary Value AnalysisBoundary Value Analysis)用于对输入)用于对输入)用于对输入)用于对输入或输出的边界值进行测试的一种黑盒测试方法。或输出的边界值进行测试的一种黑盒测试方法。或输出的边界值进行测
25、试的一种黑盒测试方法。或输出的边界值进行测试的一种黑盒测试方法。选择边界值测试原则选择边界值测试原则选择边界值测试原则选择边界值测试原则选择边界值测试主要考虑以下几条原则:选择边界值测试主要考虑以下几条原则:选择边界值测试主要考虑以下几条原则:选择边界值测试主要考虑以下几条原则:(1 1)如果输入条件规定了值的个数,则用最大个数、最小个)如果输入条件规定了值的个数,则用最大个数、最小个)如果输入条件规定了值的个数,则用最大个数、最小个)如果输入条件规定了值的个数,则用最大个数、最小个数、比最小个数少一个、比最大个数多一个的数作为测试数、比最小个数少一个、比最大个数多一个的数作为测试数、比最小个
26、数少一个、比最大个数多一个的数作为测试数、比最小个数少一个、比最大个数多一个的数作为测试数据。数据。数据。数据。(2 2)如果输入条件规定了值的范围,则应取刚达到这个范围)如果输入条件规定了值的范围,则应取刚达到这个范围)如果输入条件规定了值的范围,则应取刚达到这个范围)如果输入条件规定了值的范围,则应取刚达到这个范围的边界值,以及刚刚超过这个范围边界的值作为测试输入的边界值,以及刚刚超过这个范围边界的值作为测试输入的边界值,以及刚刚超过这个范围边界的值作为测试输入的边界值,以及刚刚超过这个范围边界的值作为测试输入数据。数据。数据。数据。(3 3)如果程序中使用了一个内部数据结构,则应当选择这
27、个)如果程序中使用了一个内部数据结构,则应当选择这个)如果程序中使用了一个内部数据结构,则应当选择这个)如果程序中使用了一个内部数据结构,则应当选择这个内部数据结构的边界上的值作为测试用例。内部数据结构的边界上的值作为测试用例。内部数据结构的边界上的值作为测试用例。内部数据结构的边界上的值作为测试用例。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么2常见的边界值常见的边界值常见的边界值通常表现在如界面屏幕、数组、常见的边界值通常表现在如界面屏幕、数组、报表和循环等。它的表现的方式:报表和循环等。它的表现的方式:(1)屏幕上光标在最左上、
28、最右下位置)屏幕上光标在最左上、最右下位置(2)数组元素的第一个和最后一个。)数组元素的第一个和最后一个。(3)报表的第一行和最后一行。)报表的第一行和最后一行。(4)循环的第)循环的第0次、第次、第1次、倒数第次、倒数第2次、最后次、最后一次。一次。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.2.3 因果图法因果图法 因果图法也是较常用的一种黑盒测试方法,因果图法也是较常用的一种黑盒测试方法,是一种简化了的逻辑图。因果图能直观地表明是一种简化了的逻辑图。因果图能直观地表明输入条件和输出动作之间的因果关系输入条件和输出动作之间的因
29、果关系,能帮助能帮助测试人员把注意力集中到与程序功能有关的那测试人员把注意力集中到与程序功能有关的那些输入组合些输入组合,比采用等价分类法有更高的测试比采用等价分类法有更高的测试效率效率,但这种方法的操作步骤比较复杂。但这种方法的操作步骤比较复杂。 采用因果图法能帮助我们按照一定的步骤采用因果图法能帮助我们按照一定的步骤选择一组高效的测试用例,同时,还能指出程选择一组高效的测试用例,同时,还能指出程序规范中存在什么问题,鉴别因果图,制作因序规范中存在什么问题,鉴别因果图,制作因果图。果图。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3
30、.2.4 判定表驱动法判定表驱动法 因果图方法中已经用到了判定表(因果图方法中已经用到了判定表(因果图方法中已经用到了判定表(因果图方法中已经用到了判定表(Decision Decision TableTable)是分析和表达多逻辑条件下执行不同操作的)是分析和表达多逻辑条件下执行不同操作的)是分析和表达多逻辑条件下执行不同操作的)是分析和表达多逻辑条件下执行不同操作的情况下的工具情况下的工具情况下的工具情况下的工具. .在程序设计发展的初期在程序设计发展的初期在程序设计发展的初期在程序设计发展的初期, ,判定表就已被判定表就已被判定表就已被判定表就已被当作编写程序的辅助工具了当作编写程序的辅
31、助工具了当作编写程序的辅助工具了当作编写程序的辅助工具了. .由于判定表测试严格,能由于判定表测试严格,能由于判定表测试严格,能由于判定表测试严格,能够将复杂的逻辑关系和多种条件组合的情况表达得既够将复杂的逻辑关系和多种条件组合的情况表达得既够将复杂的逻辑关系和多种条件组合的情况表达得既够将复杂的逻辑关系和多种条件组合的情况表达得既具体又明确。针对不同的逻辑条件组合值,分别执行具体又明确。针对不同的逻辑条件组合值,分别执行具体又明确。针对不同的逻辑条件组合值,分别执行具体又明确。针对不同的逻辑条件组合值,分别执行不同的操作。因此,使用判定表能够设计书完整的测不同的操作。因此,使用判定表能够设计
32、书完整的测不同的操作。因此,使用判定表能够设计书完整的测不同的操作。因此,使用判定表能够设计书完整的测试用例集合。判定表一种针对存在条件、动作关系或试用例集合。判定表一种针对存在条件、动作关系或试用例集合。判定表一种针对存在条件、动作关系或试用例集合。判定表一种针对存在条件、动作关系或者因果关系的特性测试的用例设计方法。者因果关系的特性测试的用例设计方法。者因果关系的特性测试的用例设计方法。者因果关系的特性测试的用例设计方法。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么1判定表的组成:判定表的组成:判定表通常由4个部分组成,如图3-6
33、所示。图3-6 判定表4个组成部分在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.2.5 场景法场景法 现在的软件几乎都是用事件触发来控制流现在的软件几乎都是用事件触发来控制流程的,事件触发时的情景便形成了场景,而同程的,事件触发时的情景便形成了场景,而同一事件不同的触发顺序和处理结果就形成事件一事件不同的触发顺序和处理结果就形成事件流。这种在软件设计方面的思想也可以引入到流。这种在软件设计方面的思想也可以引入到软件测试中,可以比较生动地描绘出事件触发软件测试中,可以比较生动地描绘出事件触发时的情景,有利于测试设计者设计测试用例,时的
34、情景,有利于测试设计者设计测试用例,同时使测试用例更容易理解和执行。同时使测试用例更容易理解和执行。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么 场景法的基本流和备选流场景法的基本流和备选流 场景用来描述流经用例的路径,从用例开始到结束遍历这条路径上所有的基本流和备选流如图3-7所示。图3-7 场景法的基本流和备选流在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么 如上图(如上图(3-7)所示:图中经过用例的每)所示:图中经过用例的每条路径都用基本流和备选流来表示,直黑线表条路径
35、都用基本流和备选流来表示,直黑线表示基本流,是经过用例的最简单路径;备选流示基本流,是经过用例的最简单路径;备选流用不同的色彩表示,一个备选流可能从基本流用不同的色彩表示,一个备选流可能从基本流开始,在某个特定条件下执行。开始,在某个特定条件下执行。可能重新加入基本流中(如备选流可能重新加入基本流中(如备选流1和和3););也可能从另一个备选流(如备选流也可能从另一个备选流(如备选流2););或者终止用例而不再重新加入到某个流(如或者终止用例而不再重新加入到某个流(如备选流备选流2和和4););在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了
36、什么3.2.6 功能图法功能图法 功能图分析法是用功能图形象地表示程序功能图分析法是用功能图形象地表示程序的功能说明,由状态迁移图和布尔函数组成,的功能说明,由状态迁移图和布尔函数组成,同时需要依靠判定表或因果图表示的逻辑功能,同时需要依靠判定表或因果图表示的逻辑功能,并机械地生成功能图的测试用例,功能图方法并机械地生成功能图的测试用例,功能图方法是黑盒、白盒混合用例的设计方法。是黑盒、白盒混合用例的设计方法。 在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.2.7 错误推测法错误推测法 基于以往经验和直觉来,参照以往的软件基于以往经
37、验和直觉来,参照以往的软件系统出现的错误,推测程序中所有可能存在的系统出现的错误,推测程序中所有可能存在的各种缺陷和错误,从而有针对性地设计测试用各种缺陷和错误,从而有针对性地设计测试用例。例。 错误推错法的基本思路是:列举出程序中错误推错法的基本思路是:列举出程序中所有可能有的错误和容易发生错误的特殊情况,所有可能有的错误和容易发生错误的特殊情况,根据可能出现的错误情况选择测试用例。根据可能出现的错误情况选择测试用例。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.2.8正交试验设计法正交试验设计法 黑盒测试方法正交试验设计法:通过
38、正交黑盒测试方法正交试验设计法:通过正交试验理论来指导测试用例的选取,以便能够用试验理论来指导测试用例的选取,以便能够用较少的测试用例使测试充分,本方法在系统测较少的测试用例使测试充分,本方法在系统测试用例的设计中不常用。试用例的设计中不常用。 正交试验设计法依据正交试验设计法依据Galois理论理论,从大量从大量的(实验)数据(测试用例)中挑选适量的的(实验)数据(测试用例)中挑选适量的,有有代表性的点(例)代表性的点(例),从而合理地安排实验(测试)从而合理地安排实验(测试)的一种科学实验设计方法。改变了尺寸,测试的一种科学实验设计方法。改变了尺寸,测试程序都能自动地处理。程序都能自动地处
39、理。 在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.3 黑盒测试的原则、策略和方法的选择黑盒测试的原则、策略和方法的选择 黑盒测试作为以一种测试方法,随着软件黑盒测试作为以一种测试方法,随着软件开发速度的加快,用户的需求变化趋势加快,开发速度的加快,用户的需求变化趋势加快,测试的方法需要不断地调整应用,所以要对软测试的方法需要不断地调整应用,所以要对软件有更加严格的测试,不断变化的需求将导致件有更加严格的测试,不断变化的需求将导致不同的功能产生,每个功能都需要对它进行测不同的功能产生,每个功能都需要对它进行测试。另外,由于黑盒测试不
40、涉及内部结构和代试。另外,由于黑盒测试不涉及内部结构和代码知识,而是根据规格说明书进行的,因此在码知识,而是根据规格说明书进行的,因此在选择测试方法方面要考虑以下原则和策略。选择测试方法方面要考虑以下原则和策略。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.3.1 黑盒测试的原则黑盒测试的原则 根据软件规格说明书设计测试用例,规格说明书的根据软件规格说明书设计测试用例,规格说明书的根据软件规格说明书设计测试用例,规格说明书的根据软件规格说明书设计测试用例,规格说明书的正确性是至关重要的。正确性是至关重要的。正确性是至关重要的。正确性
41、是至关重要的。 有针对性的地找问题,并且正确定位等价类有针对性的地找问题,并且正确定位等价类有针对性的地找问题,并且正确定位等价类有针对性的地找问题,并且正确定位等价类 功能是否有缺陷或错误现象?功能是否有缺陷或错误现象?功能是否有缺陷或错误现象?功能是否有缺陷或错误现象? 根据测试的重要性来确定测试等级和测试重点,减根据测试的重要性来确定测试等级和测试重点,减根据测试的重要性来确定测试等级和测试重点,减根据测试的重要性来确定测试等级和测试重点,减少程序可能出现的缺陷。少程序可能出现的缺陷。少程序可能出现的缺陷。少程序可能出现的缺陷。 在接口处,输入的信息是否能正确接受?接受后能在接口处,输入
42、的信息是否能正确接受?接受后能在接口处,输入的信息是否能正确接受?接受后能在接口处,输入的信息是否能正确接受?接受后能否输出正确的结果?否输出正确的结果?否输出正确的结果?否输出正确的结果? 认真选择测试策略,尽可能发现程序的数据结构错认真选择测试策略,尽可能发现程序的数据结构错认真选择测试策略,尽可能发现程序的数据结构错认真选择测试策略,尽可能发现程序的数据结构错误或外部信息访问错误,站在用户立场上进行测试。误或外部信息访问错误,站在用户立场上进行测试。误或外部信息访问错误,站在用户立场上进行测试。误或外部信息访问错误,站在用户立场上进行测试。在日常生活中,随处都可以看到浪费粮食的现象。也许
43、你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.3.2 确定测试策略确定测试策略(1)在任何情况下都必须采用边界值分析法。)在任何情况下都必须采用边界值分析法。这种方法设计出来的测试用例对发现程序的错这种方法设计出来的测试用例对发现程序的错误是非常有用的。误是非常有用的。(2)必要时采用等价类划分法补充测试用例。)必要时采用等价类划分法补充测试用例。(3)对照程序逻辑,检查已设计出的测试用)对照程序逻辑,检查已设计出的测试用例的逻辑覆盖程度。如果没有达到要求的覆盖例的逻辑覆盖程度。如果没有达到要求的覆盖标准,则应当再补充更多的测试用例。标准,则应当再补充更多的测试用例。(4)如果程
44、序的功能说明中含有输入条件的)如果程序的功能说明中含有输入条件的组合情况,则应一开始就选用因果图组合情况,则应一开始就选用因果图法。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.3.3 黑盒测试方法的组成步骤黑盒测试方法的组成步骤 测试范围。测试范围。 测试选择的类型。测试选择的类型。 创建测试用例、脚本。创建测试用例、脚本。 测试工具的选用。测试工具的选用。 执行测试用例。执行测试用例。 编写测试总结报告、审批。编写测试总结报告、审批。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算
45、不了什么3.4黑盒测试步骤黑盒测试步骤在传统的软件开发中,测试工作往往被放在整个开发在传统的软件开发中,测试工作往往被放在整个开发过程的后期进行,当应用程序的编码已经完成后,才过程的后期进行,当应用程序的编码已经完成后,才开始进行测试,这样做有缺点:开始进行测试,这样做有缺点:(1 1)不利于发现早期设计过程(概要设计、初步设)不利于发现早期设计过程(概要设计、初步设计、系统设计)中存在的错误;计、系统设计)中存在的错误;(2 2)如果早期设计过程存在错误没有被发现,在程)如果早期设计过程存在错误没有被发现,在程序编码后进行单元测试才发现是早期设计过程中产生序编码后进行单元测试才发现是早期设计
46、过程中产生的错误,这给测试工作带来的工作量是相当大的,同的错误,这给测试工作带来的工作量是相当大的,同样也增大了测试成本。从某种程度上说,部分工作就样也增大了测试成本。从某种程度上说,部分工作就需要重做。需要重做。(3 3)不利于提高工作效率,影响开发的进度。)不利于提高工作效率,影响开发的进度。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.4.1 测试计划测试计划 测试计划是完成测试工作的基础,一份好的测试测试计划是完成测试工作的基础,一份好的测试测试计划是完成测试工作的基础,一份好的测试测试计划是完成测试工作的基础,一份好的测试
47、计划是完成测试工作的先决条件。制定测试计划是整计划是完成测试工作的先决条件。制定测试计划是整计划是完成测试工作的先决条件。制定测试计划是整计划是完成测试工作的先决条件。制定测试计划是整个测试工作的重要组成部分。测试计划模板请参见本个测试工作的重要组成部分。测试计划模板请参见本个测试工作的重要组成部分。测试计划模板请参见本个测试工作的重要组成部分。测试计划模板请参见本书第书第书第书第1515章的章的章的章的15.215.2节。节。节。节。测试计划是根据用户需求报告中关于功能和性能指标测试计划是根据用户需求报告中关于功能和性能指标测试计划是根据用户需求报告中关于功能和性能指标测试计划是根据用户需求
48、报告中关于功能和性能指标的要求进行的,测试计划制定的参考范围:的要求进行的,测试计划制定的参考范围:的要求进行的,测试计划制定的参考范围:的要求进行的,测试计划制定的参考范围: 定义测试目标。定义测试目标。定义测试目标。定义测试目标。 确定测试方法。确定测试方法。确定测试方法。确定测试方法。 定义测试环境(选择测试工具)。定义测试环境(选择测试工具)。定义测试环境(选择测试工具)。定义测试环境(选择测试工具)。 制定测试规约(编写测试用例)。制定测试规约(编写测试用例)。制定测试规约(编写测试用例)。制定测试规约(编写测试用例)。 确定测试日程表。确定测试日程表。确定测试日程表。确定测试日程表
49、。 制定测试审核计划。制定测试审核计划。制定测试审核计划。制定测试审核计划。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.4.2 测试设计测试设计 将测试计划阶段制订的测试需求分解、细将测试计划阶段制订的测试需求分解、细化为若干个可执行的测试过程,并为每个测试化为若干个可执行的测试过程,并为每个测试过程选择适当的测试用例。在实际测试中,往过程选择适当的测试用例。在实际测试中,往往是综合使用各种方法才能有效提高地提高测往是综合使用各种方法才能有效提高地提高测试效率和测试覆盖率,这就需要认真掌握这些试效率和测试覆盖率,这就需要认真掌握这
50、些方法设计原理,积累更多的设计经验,以有效方法设计原理,积累更多的设计经验,以有效地提高测试水平。地提高测试水平。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么3.4.3 测试执行的步骤测试执行的步骤 建立测试执行过程,测试执行一般由单元建立测试执行过程,测试执行一般由单元测试、集成测试、系统测试等步骤组成,测试测试、集成测试、系统测试等步骤组成,测试人员应对应发现的人员应对应发现的Bug进行跟踪管理,一步一进行跟踪管理,一步一步脚印地进行测试。步脚印地进行测试。3.4.4 测试评估测试评估 结合测试报告及缺陷跟踪报告,对软件的结合测试
51、报告及缺陷跟踪报告,对软件的质量和测试队伍的工作进度及工作效率进行综质量和测试队伍的工作进度及工作效率进行综合评价。评价要本着务实、认真、客观、公正合评价。评价要本着务实、认真、客观、公正的态度进行。的态度进行。在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么请您解答请您解答:1. 请详细叙述黑盒测试的基本概念。请详细叙述黑盒测试的基本概念。2. 黑盒测试都有哪些优点?请说明。黑盒测试都有哪些优点?请说明。3. 黑盒测试都有哪些缺点?请说明。黑盒测试都有哪些缺点?请说明。4. 请详细说明黑盒测试的方法。请详细说明黑盒测试的方法。5. 黑盒测试的原则都有哪些?黑盒测试的原则都有哪些?在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么请您解答:1. 请详细叙述黑盒测试的基本概念。2. 黑盒测试都有哪些优点?请说明。3. 黑盒测试都有哪些缺点?请说明。4. 请详细说明黑盒测试的方法。5. 黑盒测试的原则都有哪些?在日常生活中,随处都可以看到浪费粮食的现象。也许你并未意识到自己在浪费,也许你认为浪费这一点点算不了什么谢谢谢谢