《软件测试黑盒白盒测试方法综合实训》
《软件测试黑盒白盒测试方法综合实训》

《软件测试综合实训》报告填写内容(一)黑盒测试实训一1、实训目的理解黑盒测试的基本方法,掌握等价类划分法、边界值方法。
2、实验内容、步骤及结果实验内容:程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31、1900≤ year ≤2050。
),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。
例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。
a.大家用自己熟悉的编程语言,实现上面问题的描述。
b.用等价类设计法和边界值法设计测试用例并执行,将测试结果与预期结果进行比对并查找、修复bug。
实验步骤:步骤一:编写源程序并运行该程序。
步骤二:编写测试用例设计。
步骤三:执行测试。
步骤四:将测试结果与预期结果进行比对并查找、修复bug。
实验结果:条件划分:等价类测试法:2010/01/02 T1,T2,T3,T62001/03/01 T42001-03-01 T5T8T7T9T10T11T12T13T14T15多变量边界测试法:对于n个变量的程序采用五点法产生4n+1个测试用例,本实验3、结果分析与问题讨论通过本次实验,我对黑盒测试用例有了进一步的了解。
实验要求使用等价类划分法、边界值法的设计测试用例。
在分析边界值设计时测试有点混,因为针对于本实验可以采用多变量边界值分析(通常采用“五点法”)或者健壮性边界值分析(通常采用“七点法”),本题有是有三个变量的程序,采用五点法将产生4n+1=4*3+1=13个测试用例,对于多变量健壮性边界值分析,需要设计6n+1=6*3+1=19个测试用例。
在本次实验我采用的方法是五点法,测试用例比较多,需要认真分析。
(二)黑盒测试实训二1、实训目的理解黑盒测试的基本方法,掌握因果图法和决策表法设计测试用例。
2、实验内容、步骤及结果1) 某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
软件测试中的黑盒与白盒测试方法

软件测试中的黑盒与白盒测试方法在软件开发过程中,为了确保软件质量和稳定性,软件测试是一个重要的环节。
软件测试可以通过不同的方法进行,其中最常见的两种方法是黑盒测试和白盒测试。
本文将介绍黑盒测试和白盒测试的定义、特点、应用场景以及测试方法的具体步骤。
一、黑盒测试1. 定义黑盒测试是一种测试方法,它只关注软件的功能和需求,而不考虑内部实现的细节。
测试人员只关注软件的输入和输出,以及功能是否符合预期。
2. 特点黑盒测试具有以下特点:- 不需要了解软件的内部实现细节,只需关注输入和输出。
- 测试人员不需要具备开发技能,只需关注功能和需求。
- 可以针对不同的用户需求和使用场景进行测试。
3. 应用场景黑盒测试适用于以下场景:- 需要测试软件的功能是否符合用户需求。
- 需要测试软件的兼容性和稳定性。
- 需要测试软件的用户界面。
4. 测试方法黑盒测试的方法包括以下几个步骤:- 确定测试用例:根据软件的功能和需求,确定测试用例,包括输入和预期输出。
- 设计测试数据:根据测试用例,设计测试数据,覆盖不同的情况和边界条件。
- 执行测试用例:执行测试用例,记录实际的输出结果。
- 比对结果:将实际输出与预期输出进行比对,并记录测试结果。
- 分析问题:分析测试结果,找出问题的原因,并提出改进建议。
二、白盒测试1. 定义白盒测试是一种测试方法,它关注软件的内部实现细节,包括代码结构和逻辑。
测试人员需要了解软件的内部机制,以便设计有效的测试用例。
2. 特点白盒测试具有以下特点:- 需要了解软件的内部实现细节,包括代码结构和逻辑。
- 可以更全面地测试软件的功能和性能。
- 测试人员需要具备开发技能,以便设计有效的测试用例。
3. 应用场景白盒测试适用于以下场景:- 需要测试软件的性能和可靠性。
- 需要测试软件的边界条件和异常情况。
- 需要测试软件的代码覆盖率。
4. 测试方法白盒测试的方法包括以下几个步骤:- 分析代码:了解软件的代码结构和逻辑。
大学生软件测试实训报告

一、实训背景随着信息技术的飞速发展,软件行业已成为我国国民经济的重要组成部分。
软件测试作为确保软件质量的关键环节,对于提高软件产品的可靠性和用户满意度具有重要意义。
为了培养具有实际操作能力的软件测试人才,我国各大高校纷纷开设软件测试相关课程,并组织学生进行实训。
本文将结合本人参加的软件测试实训,对实训过程、收获与体会进行总结。
二、实训目的1. 熟悉软件测试的基本概念、方法和流程。
2. 掌握常用的测试工具和测试方法。
3. 提高实际操作能力,为今后的职业发展奠定基础。
三、实训内容本次实训主要分为以下几个阶段:1. 理论学习阶段在实训初期,我们学习了软件测试的基本概念、方法和流程,包括黑盒测试、白盒测试、灰盒测试、静态测试、动态测试等。
同时,我们还学习了软件测试的生命周期、测试用例设计、缺陷管理等方面的知识。
2. 工具学习阶段为了提高测试效率,我们学习了常用的测试工具,如JMeter、Selenium、Appium 等。
这些工具可以帮助我们自动化测试、性能测试、兼容性测试等。
3. 实际操作阶段在理论学习和工具学习的基础上,我们进入实际操作阶段。
首先,我们选择了一个简单的软件项目进行手工测试,包括功能测试、界面测试、性能测试等。
然后,我们使用测试工具对项目进行自动化测试,以提高测试效率。
4. 项目实践阶段在项目实践阶段,我们参与了一个真实的软件项目测试。
在这个项目中,我们负责编写测试用例、执行测试、记录缺陷、跟踪缺陷修复等。
通过这个项目,我们深刻体会到了软件测试在实际工作中的应用。
四、实训收获与体会1. 理论知识得到巩固通过本次实训,我对软件测试的基本概念、方法和流程有了更加深入的理解,对软件测试的生命周期、测试用例设计、缺陷管理等有了更加清晰的认识。
2. 实际操作能力得到提升在实训过程中,我们不仅学习了理论知识,更重要的是将理论知识应用于实际操作。
通过实际操作,我们的动手能力得到了很大的提升。
3. 团队合作意识得到加强在项目实践中,我们与团队成员紧密合作,共同完成测试任务。
软件测试中的黑盒测试与白盒测试

软件测试中的黑盒测试与白盒测试软件测试是一项至关重要的工作,可以帮助开发人员和质量保证团队确保软件的质量和可靠性。
软件测试被广泛地分为两大类别:黑盒测试和白盒测试。
在这篇文章中,我们将分别讨论这两种测试方法的实践和优点。
黑盒测试黑盒测试通常被称为功能测试或用户界面测试。
这种测试方法基于软件的整体行为,不需要编写和查看源代码。
测试人员以称为测试用例的用户操作序列测试软件,以验证软件是否符合预期行为并满足所有功能要求。
黑盒测试可以测试从简单应用程序到复杂的软件系统的所有类型的软件。
黑盒测试的主要特点是它可用于不知道内部实现的测试人员。
黑盒测试不需要了解代码或内部设计,只需要测试软件的外部行为。
这使得黑盒测试在不需要编程技能的情况下成为一种易于使用和快速实施的测试方法。
黑盒测试特别适用于测试中和大型软件项目的功能和性能。
黑盒测试还可以单独测试每个功能模块,并确定测试用例是否覆盖了所有代码路径和边界值。
这种全面测试方法可以确保软件在各种情况下都可以保持正确的行为模式,并避免了在生产环境中的任何故障。
白盒测试白盒测试又称为结构化测试或代码测试。
它基于了解应用程序的内部行为,它需要测试人员分析代码并根据设计文档和代码模块执行测试用例。
白盒测试通过检查软件源代码中的逻辑路径和分支来发现软件缺陷,同时也可以发现性能问题和数据输入错误等问题。
白盒测试需要测试人员具有编程技能,并可以使用不同的软件测试工具进行实现。
白盒测试方法主要是有程序,因此,需要逐行执行代码,然后测试特定的功能或代码段。
白盒测试通常包含单元测试、集成测试和系统测试,以测试应用程序的每个部分并确保性能和稳定性。
白盒测试的主要特点是可以根据内部知识来创建测试用例。
测试人员可以进行完成性,功能性和性能测试,并发现由于内部构建引起的潜在问题。
这种方法可以在开发循环中自动化进行,并在最早的阶段发现并修复错误,以减少缺陷成本和开发时间。
黑盒测试与白盒测试的比较黑盒测试和白盒测试允许测试人员进行全面的组合测试,以确保您的代码已经经过完整的测试并达到所需的标准。
白盒测试和黑盒测试实验报告

软件质量保证与测试实验指导计算机工程学院测试环境配置1.settingJunit(1)startEclipseSelectwindows-preferences-java-buildpath–classpathvariables(2)clicknew,thefigureofnewvariableentryisshown.(3)name JUNIT_LIBselectfile-选择JUnit插件所对应的JAR文件所在地,在Eclipse的安装目录的plugins目录中2.JUNIT的组成框架其中,junit.framework和junit.runner是两个核心包。
junit.framework负责整个测试对象的框架junit.runner负责测试驱动Junit的框架又可分为:A、被测试的对象。
B、对测试目标进行测试的方法与过程集合,可称为测试用例(TestCase)。
C、测试用例的集合,可容纳多个测试用例(TestCase),将其称作测试包(TestSuite)。
D、测试结果的描述与记录。
(TestResult)。
E、每一个测试方法所发生的与预期不一致状况的描述,称其测试失败元素(TestFailure)F、JUnitFramework中的出错异常(AssertionFailedError)。
JUnit框架是一个典型的Composite模式:TestSuite可以容纳任何派生自Test 的对象;当调用TestSuite对象的run()方法是,会遍历自己容纳的对象,逐个调用它们的run()方法。
3.JUnit中常用的接口和类Test接口——运行测试和收集测试结果Test接口使用了Composite设计模式,是单独测试用例(TestCase),聚合测试模式(TestSuite)及测试扩展(TestDecorator)的共同接口。
它的publicintcountTestCases()方法,它来统计这次测试有多少个TestCase,另外一个方法就是publicvoid run(TestResult),TestResult是实例接受测试结果,run方法执行本次测试。
2016软件测试技术黑盒白盒部分复习指导实训

《软件测试技术》实训指导目录目录 (III)第一章实训基础知识 (1)1.1软件测试概述 (1)1.2测试用例的编写 (2)第二章实训要求 (5)2.1实训总体要求 (5)2.1.1实训意义和目的 (5)2.1.2实训内容安排......................................................................... 错误!未定义书签。
2.1.3实训过程要求 (5)2.2实训报告要求 (6)2.2.1实训报告格式 (6)2.3实训成绩评价................................................................................. 错误!未定义书签。
2.3.1实训成绩评价结构及比例..................................................... 错误!未定义书签。
2.3.2考核方式................................................................................. 错误!未定义书签。
第三章实训内容与指导 (7)3.1功能性测试用例设计 (7)3.1.1实训类型:设计型(4学时) (7)3.1.2实训目的 (7)3.1.3背景知识 (7)3.1.4实训设备 (8)3.1.5实训内容 (8)3.1.6实训步骤 (9)3.1.7实训要求 (9)3.1.8实训思考 (9)具体实例设计:163邮箱注册模块测试用例 (10)测试用例参考模版 (11)3.2结构性测试 (13)3.2.1实训类型:设计型(1学时) (13)3.2.2实训目的 (13)3.2.3背景知识 (13)3.2.4实训设备 (14)3.2.5实训内容 (14)3.2.6实训要求 (14)3.3Q UICK T EST P ROFESSIONAL使用 .................................................... 错误!未定义书签。
白盒黑盒测试[软件工程导论实验报告白盒测试黑盒测试]
![白盒黑盒测试[软件工程导论实验报告白盒测试黑盒测试]](https://img.taocdn.com/s3/m/c51c87f24793daef5ef7ba0d4a7302768e996fe6.png)
白盒黑盒测试[软件工程导论实验报告白盒测试黑盒测试]《软件工程导论》实验学生姓名:号:学级:班指导老师:业:专实验日期:白盒测试一、实验目的通过简单程序白盒测试,熟悉测试过程,对软件测试形成初步了解,并养成良好的测试习惯。
熟练掌握如何运用基路径测试方法进行测试用例设计,初步熟悉如何利用程序插装技术进行逻辑覆盖率分析。
二、实验内容:2+bx+c=0ax1、被测试程序功能:求解系数为整数的方程2+bx+c=0,求解方程axba,,c2、程序定义:键盘输入3个数字3、测试环境:Windows8.1、Eclipse4、说明:本次测试采用插桩测试法,由于程序比较简单,手动输入测试用例。
四、实验步骤1、程序流程图开始c,输入ab,YYY无穷多解C=0b=0a=0NNNX=无解N2-4ac>=0b无解YX1=x2=结束、代码:2java.util.Scanner;importtest{classpublic){main(String[]argspublicstaticvoid);Scannersc=newScanner(System.in);System.out3个整数.println(请输入;asString;Stringbs;Stringcs=0;aint=0;bint=0;cint;x1,,x2doublex.nextLine();as=sc.nextLine();=scbs.nextLine();=sccs{try);asa=Integer.parseInt();b=Integer.parseInt(bs);c=Integer.csparseInt(){(Exceptio ne}catch);输入错误outSystem..println((0);System.exit}if(a==0){==0)bif({==0)cif(System.out.println(无解);}else{);c=-(/bx);.println(System.out硜尽x+}}else{;a-4**cbhdouble=*b<0)hif();outSystem..println(无解else{);(ah))/(2*sqrt+Math.bx1=(-);=(-x2h(sqrtb-Math.))/(2*a);.println(System.outx2+屜瑜?尽++硜?x1 }}}}3、流图:4、程序基本路径:(1)1234511预期输出:无穷多解(2)1234611预期输出:无解(3)123711预期输出:x=(4)128911预期输出:x1=x2=(5)1231011预期输出:无解5、测试实验用例:路径覆盖11541123,a=0,b=0c=0无穷多解c=1b=0,a=0,11622341无解3c=1,b=1a=0,117x=-12314c=1b=2a=1,,11x1=-1x2=-1981211310152c=1,b=1a=1无解,黑盒测试一、实验目的黑盒测试是常用的软件测试的方法,用这种方法测试时,把被只知道该程序的输入和输出之间的关系或程序的功能的情况下,依靠能反应这一关系和程序功能需求规格的说明书,来确定测试用例和推断测试结构的正确性。
软件测试中的黑盒测试和白盒测试分析

软件测试中的黑盒测试和白盒测试分析软件测试是软件开发过程中至关重要的一环,它旨在发现和解决软件中的问题,确保软件的功能和性能达到预期的标准。
在软件测试中,黑盒测试和白盒测试是两种常见的测试方法,它们在测试目的、测试方式和测试对象等方面有着不同的特点和应用场景。
一、黑盒测试黑盒测试是一种基于功能和用户需求的测试方法,测试人员不需要了解软件的内部结构和实现细节,只需根据软件的功能规格和需求规格进行测试。
黑盒测试可以有效地检查软件的功能是否符合用户的期望,发现用户可能会遇到的问题和风险。
1.测试目的黑盒测试的主要目的是验证软件的功能是否符合用户需求和规格要求,包括输入和输出的正确性、界面的易用性、功能的完整性和性能的稳定性等方面。
黑盒测试旨在发现用户可能会遇到的问题,而不是关注软件内部的实现细节。
2.测试方式在黑盒测试中,测试人员通常通过功能测试、接口测试、集成测试和系统测试等方式来验证软件的功能和性能。
测试人员根据用户需求和功能规格设计测试用例,通过输入特定的数据和操作软件功能来验证软件的功能是否符合预期。
3.测试对象黑盒测试主要针对软件的功能和用户需求进行测试,测试对象包括软件的功能模块、用户界面、数据输入输出等。
黑盒测试并不关注软件的内部实现细节和代码结构,测试人员只需要关注软件的功能和性能是否符合用户的需求。
4.优缺点黑盒测试的优点是测试人员不需要了解软件的内部结构和实现细节,只需关注用户需求和功能规格,可以更加贴近用户的实际使用场景,发现用户可能会遇到的问题。
但是黑盒测试无法发现软件的内部实现和代码缺陷,对于逻辑错误和性能问题的发现能力有限。
二、白盒测试白盒测试是一种基于软件内部结构和实现细节的测试方法,测试人员需要了解软件的代码结构和逻辑实现,以便进行更加深入和全面的测试。
白盒测试可以有效地发现软件的内部逻辑错误、代码缺陷和性能问题,提高软件的稳定性和可靠性。
1.测试目的白盒测试的主要目的是验证软件的内部实现和代码结构是否符合设计要求和编码规范,包括逻辑的正确性、数据的处理错误和性能的优化等方面。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《软件测试综合实训》报告填写内容(一)黑盒测试实训一1、实训目的理解黑盒测试的基本方法,掌握等价类划分法、边界值方法。
2、实验内容、步骤及结果实验内容:程序有三个输入变量month、day、year(month、day和year均为整数值,并且满足:1≤month≤12、1≤day≤31、1900≤ year ≤2050。
),分别作为输入日期的月份、日、年份,通过程序可以输出该输入日期在日历上下一天的日期。
例如,输入为2005年11月29日,则该程序的输出为2005年11月30日。
a.大家用自己熟悉的编程语言,实现上面问题的描述。
b.用等价类设计法和边界值法设计测试用例并执行,将测试结果与预期结果进行比对并查找、修复bug。
实验步骤:步骤一:编写源程序并运行该程序。
步骤二:编写测试用例设计。
步骤三:执行测试。
步骤四:将测试结果与预期结果进行比对并查找、修复bug。
实验结果:条件划分:等价类测试法:2010/01/02 T1,T2,T3,T62001/03/01 T42001-03-01 T5T8T7T9T10T11T12T13T14T15多变量边界测试法:对于n个变量的程序采用五点法产生4n+1个测试用例,本实验3、结果分析与问题讨论通过本次实验,我对黑盒测试用例有了进一步的了解。
实验要求使用等价类划分法、边界值法的设计测试用例。
在分析边界值设计时测试有点混,因为针对于本实验可以采用多变量边界值分析(通常采用“五点法”)或者健壮性边界值分析(通常采用“七点法”),本题有是有三个变量的程序,采用五点法将产生4n+1=4*3+1=13个测试用例,对于多变量健壮性边界值分析,需要设计6n+1=6*3+1=19个测试用例。
在本次实验我采用的方法是五点法,测试用例比较多,需要认真分析。
(二)黑盒测试实训二1、实训目的理解黑盒测试的基本方法,掌握因果图法和决策表法设计测试用例。
2、实验内容、步骤及结果1) 某软件规格说明书包含这样的要求:第一列字符必须是A或B,第二列字符必须是一个数字,在此情况下进行文件的修改,但如果第一列字符不正确,则给出信息L;如果第二列字符不是数字,则给出信息M。
要求:a.根据问题描述画出因果图。
b.画出决策表并设计测试用例。
实验结果:1)根据题意,条件桩:问题的所有条件:c1:第一列为A c2:第一列为B c3:第二列为数字条件项:对条件桩给出的条件列出所有可能的取值c1: 1-第一列为A,0-第一列不为Ac2: 1-第一列为B,0-第一列不为Bc3: 1-第二列为数字,0-第一列不为数字动作桩:出现问题时按规定可能采取的操作结果:e1:修改文件 e2:给出信息L e3:给出信息M2)其对应的因果图如下:C为中间节点,考虑到原因c1和c2不可能同时为1,因此在因果图上加上E(异或)约束。
2) 支付宝个人认证中,分为两部分:个人身份认证和银行卡认证。
这两者都通过后,认为个人认证成功。
个人身份认证需要提交个人基本信息及身份证复印件。
银行卡认证分为两种:提现认证和充值认证。
要求:a. 根据问题描述画出因果图。
b. 画出决策表并设计测试用例。
实验步骤:步骤一:分析问题,列出原因和结果。
步骤二:画出因果图,将原因与结果用关系连接线连接。
步骤三:根据因果图生成决策表。
步骤四:根据决策表设计测试用例。
实验结果:条件桩:问题的所有条件:C1:个人基本信息C2:身份证复印件C3:提现认证C4:充值认证条件项:对条件桩给出的条件列出所有可能的取值C1: 1—个人基本信息正确 0—个人基本信息不准确C2: 1—身份证复印件有效 0—身份证复印件无效C3: 1—提现认证成功0—提现认证失败C4: 1—充值认证成功0—充值认证失败动作桩:出现问题时按规定可能采取的操作A1:个人身份认证成功。
A2:银行卡认证成功A3:支付宝个人认证成功动作项:指出在条件项的各组取值情况下采取的动作H1: √--个人身份认证成功H2: √--银行可认证成功H3: √--支付宝个人认证成功因果图:根据因果图推导出决策表3.结果分析与问题讨论通过本次黑盒测试实训,从结果上看,因果图只是清晰地表达了需求分析的内容,为了得到测试用例,我们需要借助于决策表,因果图中的“因”和“果”直接可以作为条件桩和动作桩。
在画因果图的时候,要注意分析有些条件是不可以同时存在。
(三)白盒测试实训一1.实训目的a.掌握路径测试、数据流测试的基本方法。
b.运用路径测试、数据流测试的方法设计测试用例。
2.实验内容、步骤及结果1) 阅读下面代码。
0 void DoWork (int x,int y,int z){1 int k=0, j=0;2 if((x>3)&&(z<10))3 {4 k=x*y-1;5 j=sqrt(k);6 }7 if((x==4)||(y>5))8 j=x*y+10;9 }要求:①使用路径测试的方法a. 画出控制流图。
b. 计算环形复杂度并列出基本路径。
c. 根据基本路径设计测试用例并执行测试。
②使用数据流测试法a. 根据已画出的控制流图分析代码中所有变量的定义使用(区分谓词使用和计算使用)节点、定义使用对、定义使用路径(注明是否为定义清除路径)。
b. 根据全定义-使用路径覆盖准则(测试路径需要覆盖所有定义点到所有使用点的路径)找出测试路径并设计测试用例并执行测试。
实验步骤:步骤一:根据代码画出相关图形。
步骤二:根据不同测试方法设计测试用例。
步骤三:运行代码执行测试用例实验结果:控制流图环形复杂度分为两个圈计算,圈1和圈2分别如下:圈1:V(G)=6-5+2=3圈2:V(G)=5-4+2=3总独立路径为:圈1复杂度*圈2复杂度=9条(取8条即可,分别为:路径1:2(x>3?)→7(x==4?)→7(y>5?)→9路径2:2(x>3?)→7(x==4?)→7(y>5?)→8→9路径3:2(x>3?)→2(z<10)→7(x==4?)→7(y>5?)→9路径4:2(x>3?)→2(z<10)→7(x==4?)→7(y>5?)→8→9路径5:2(x>3?)→2(z<10)→4→5→7(y==4?)→7(y>5?)→9路径6:2(x>3?)→2(z<10)→4→5→7(x==4?)→7(y>5?)→8→9路径7:2(x>3?)→2(z<10)→7(x==4?)→8→9路径8:2(x>3?)→2(z<10)→4→5→7(x==4?)→8→9根据基本路径设计测试用例并执行测试。
测试结果测试路径路径k=0,j=22 路径路径k=29,j=40 路径k=19,j=4 路径k=35,j=46 路径k=0,j=10 路径k=-1,j=10 路径②使用数据流测试法的路径)找出测试路径并设计测试用例并执行测试。
测试路径1:0-1-2-4-5-7-8-9测试路径2:0-1-2-7-9测试路径3:0-1-2-7-8-93.结果分析与问题讨论要正确分析判断程序的走向,然后画出控制流图。
根据控制流图计算环形(圈)复杂度,主要运用两种方法计算环形复杂度:(1)V(G)=E-N+2(2)V(G)=P+1,正确计算出环形复杂度,并确定独立路径,用测试用例来测试路径。
复杂度是独立路径数的上界,独立路径可以小于复杂度。
先计算预期结果,再用代码验证预期结果与测试结果是否一致。
(四)白盒测试实训二1.实训目的a. 掌握逻辑覆盖的基本方法。
b. 运用逻辑覆盖的方法设计测试用例。
2.实验内容、步骤及结果1) 阅读下面源码。
#include <iostream>using namespace std;int main(){int b;int c;int a;cin >> a >> b >> c;if (a*b*c != 0 && (a + b > c&&b + c > a&&a + c > b)){if (a == b&&b == c){cout << "您输入的是等边三角形!";}else if((a==b||b==c)||a==c){cout << "您输入的是等腰三角形!";}else if ((a*a + b*b == c*c) || (b*b + c*c == a*a) || (a*a + c*c == b*b)) {cout << "您输入的是直角三角形!";}else {cout << "普通三角形";}}else{cout << "您输入的不能构成三角形";}}要求:a. 画出程序流程图。
b. 分析判断语句与条件表达式。
c. 分别使用逻辑覆盖的5种覆盖标准设计测试用例并执行测试。
实验步骤:步骤一:根据代码画出相关图形。
步骤二:根据5种覆盖标准计测试用例。
步骤三:运行代码执行测试用例实验结果:a. 画出程序流程图。
b.分析判断语句与条件表达式。
(1)a*b*c != 0 && (a + b > c&&b + c > a&&a + c > b)这四个条件必须同时满足才能构成三角形,若不满足其中任意一项都不可能构成三角形。
(2)a == b&&b == c在a*b*c != 0 && (a + b > c&&b + c > a&&a + c > b)成立的情况下,满足a == b&&b == c这两个条件,输出的三角形是等边三角形,若不满足其中任意一项,则不能输出等边三角形(3)(a==b||b==c)||a==c,在a*b*c != 0 && (a + b > c&&b + c > a&&a + c > b)成立的情况下,且a == b&&b == c不成立,满足(a==b||b==c)||a==c这三个条件,输出等腰三角形,则不能输出等腰三角形(4)(a*a + b*b == c*c) || (b*b + c*c == a*a) || (a*a + c*c == b*b),在a*b*c != 0 && (a + b > c&&b + c > a&&a + c > b)成立的情况下,且 a == b&&b == c不成立,(a==b||b==c)||a==c也不成立,满足(a*a + b*b == c*c) || (b*b + c*c == a*a) || (a*a + c*c == b*b)这个条件输出直角三角形,否则输出普通三角形。