软件测试-黑盒测试与白盒测试
软件测试中的黑盒测试与白盒测试

软件测试中的黑盒测试与白盒测试在软件开发过程中,测试是非常重要的一个环节。
通过测试,可以发现并解决软件中存在的缺陷,保证软件质量。
软件测试主要分为黑盒测试和白盒测试两种。
本文将从定义、原理、优缺点等方面详细介绍这两种测试方法。
一、黑盒测试黑盒测试是一种测试方法,测试人员只需要关心测试输入和测试输出,与程序内部结构和实现无关。
因此,黑盒测试也被称为功能测试或行为测试。
在黑盒测试中,测试人员不需要了解代码的实现细节,只需要了解系统的规格说明和用户需求,根据这些来设计测试用例。
测试用例是测试人员设计的特定输入值,用于检查系统的输出是否符合预期。
在黑盒测试中,测试人员只在输入和输出之间建立联系,不考虑其内部处理逻辑。
黑盒测试的原理是根据输入和输出之间的关系来检查功能是否正确。
测试重点是检查软件功能是否符合用户需求,是否能够正常工作,并且与其他功能相互协调。
黑盒测试覆盖面广,适用于系统的高层级测试。
黑盒测试还可以评估系统的可靠性、可用性、可维护性和安全性。
黑盒测试的优点是测试人员不需要了解代码实现,只需要了解系统规格说明和用户需求。
测试人员不需要专业的编程知识,容易掌握技能。
同时,黑盒测试对用户体验的要求高,能够更好地反映用户的真实需求。
但是,黑盒测试无法检查代码中的逻辑错误和代码覆盖率,测试效率较低。
因此,黑盒测试通常需要与其他测试方法一起使用。
二、白盒测试白盒测试是一种测试方法,测试人员需要了解被测试程序的内部结构和实现。
白盒测试也被称为结构测试或逻辑测试。
在白盒测试中,测试人员需要研究程序的源代码和程序的内部工作过程。
测试人员通过检查程序代码的执行路径、代码覆盖率等指标来评估软件是否符合规范。
测试人员也可以使用自动化测试工具来帮助测试。
白盒测试的原理是通过检查程序的内部结构来评估软件质量。
由于测试人员可以了解程序的内部结构,因此可以评估软件是否符合标准。
白盒测试检测代码实现的错误,如逻辑错误和语法错误,并指出这些错误的位置和原因。
黑盒测试与白盒测试

黑盒测试与白盒测试软件开发过程中,测试是一个非常重要的环节,可以帮助发现并修复潜在的问题,确保软件的质量和可靠性。
测试的方法有很多种,其中黑盒测试和白盒测试是两种常见的测试方法。
本文将详细介绍黑盒测试和白盒测试的概念、特点以及适用场景。
一、概念解析1. 黑盒测试黑盒测试是一种基于功能需求的测试方法,它将被测试的系统视为一个黑盒子,只关注输入与输出之间的关系,而不考虑内部的实现细节。
测试者在进行黑盒测试时,不需要知道被测试系统的具体实现方式,只需通过输入一系列有效或无效的输入数据,观察输出结果是否符合预期,以此来验证软件是否按照需求规格说明书的要求进行了正确的实现。
2. 白盒测试白盒测试是一种基于程序内部结构的测试方法,它不仅关注输入与输出之间的关系,还考虑了程序的内部逻辑、数据流以及代码执行路径等方面的问题。
测试者在进行白盒测试时,需要具备一定的编程能力,通过检查程序的源代码、设计文档等来编写测试用例,并通过对程序内部进行覆盖率分析,查看测试是否覆盖到了所有的代码路径,以此来验证程序的正确性。
二、特点对比1. 黑盒测试的特点- 关注软件功能是否正确实现,不考虑内部实现细节。
- 基于需求规格说明书,依据用户的角度进行测试。
- 可以运用等价类划分、边界值分析等技术进行测试用例设计。
- 输入输出集合非常庞大,无法穷举,需要采用适当的策略进行选择测试用例。
- 更适用于系统集成测试、验收测试等场景。
2. 白盒测试的特点- 关注软件的内部逻辑和代码覆盖率,能够检测到一些具体的缺陷。
- 基于源代码,依据开发人员的角度进行测试。
- 可以使用语句覆盖、判定覆盖、条件覆盖等技术进行测试用例设计。
- 测试用例设计相对复杂,需要考虑逻辑路径、条件分支等多个因素。
- 更适用于单元测试、集成测试等场景。
三、适用场景比较1. 黑盒测试的适用场景黑盒测试适用于以下场景:- 需要验证软件是否按照需求规格说明书的要求进行正确实现的场景。
软件测试中的黑盒与白盒测试

软件测试中的黑盒与白盒测试在软件开发中,测试是一个至关重要的环节。
软件测试可以帮助检测各种错误和缺陷,以确保软件能够满足用户的需求和预期。
而软件测试中常见的黑盒测试和白盒测试,也是软件测试中非常重要的两种测试方法。
本文将对黑盒测试和白盒测试分别进行介绍,并分析它们各自的优缺点。
一、黑盒测试黑盒测试是一种基于软件外部行为的测试方法,也称为功能测试。
黑盒测试的核心内容是分析和测试软件的各种输入和输出,以检查软件是否符合用户的需求和预期。
黑盒测试的测试人员不知道软件的内部逻辑和实现方式,只能通过软件界面和其他外部接口进行测试。
因此,黑盒测试的测试用例通常基于需求规格说明(SRS)或用户手册等文档。
黑盒测试的优点是测试人员不需要了解软件的具体实现方法,只需要专注于软件的功能和用户需求。
因此,黑盒测试可以帮助测试人员发现各种可能的用户输入和输出错误,并且测试人员可以基于测试用例进行自动化测试,提高测试效率和质量。
另外,黑盒测试还可以提高软件的可靠性和质量,确保软件的稳定性和对不同用户的兼容性。
但是,黑盒测试也存在一些缺点。
首先,黑盒测试主要基于文档规格,而这些规格有时可能存在不一致性、误解或遗漏,因此可能会测试遗漏一些软件缺陷。
其次,黑盒测试只能通过测试软件的输入和输出来发现错误,而不能深入检查软件内部的实现细节和算法。
最后,黑盒测试不能覆盖所有测试情形,可能会漏测某些特殊情况。
二、白盒测试白盒测试是一种基于软件内部逻辑和实现方式的测试方法,也称为结构测试或代码测试。
白盒测试通常基于软件源代码或可执行二进制代码进行测试。
测试人员可以使用各种测试技术,如静态分析、代码覆盖度分析、路径分析、数据流分析等,来检查软件内部逻辑和算法的正确性和鲁棒性。
白盒测试的优点是可以深入检查软件内部的实现细节和算法,发现各种可能的逻辑错误、算法错误和安全漏洞等。
白盒测试还可以提高软件的性能和可维护性,通过优化代码和降低编码错误率来提高软件质量。
软件测试中的黑盒测试和白盒测试

软件测试中的黑盒测试和白盒测试软件测试是软件开发中极其重要的一环。
软件测试主要目的是检验软件的正确性、健壮性和可扩展性等方面,从而确保软件的质量。
软件测试按照测试对象不同可分为黑盒测试和白盒测试两种,下面将分别介绍它们的定义、特点、优缺点和适用场景。
一、黑盒测试黑盒测试是基于软件界面的测试,即不考虑程序内部的结构、细节和算法,只测试软件的输入和输出是否符合预期,常被称为功能测试。
黑盒测试主要检测功能是否正确,包括程序界面、界面操作符合预期、输入输出数据符合预期、错误提示信息正确等。
黑盒测试是一种黑盒子测试,不关心软件内部的实现和细节,是独立于开发语言和技术的。
黑盒测试特点:1. 黑盒测试独立于实现细节,屏蔽了软件内部的实现细节。
这种测试侧重验证程序的行为是否满足需求,纠正需求文档或外部设计的错误。
2. 黑盒测试模拟真实用户的使用方式,可以从用户角度验证程序的功能性。
3. 黑盒测试只测试程序输入和输出,而不关心程序内部执行逻辑。
黑盒测试优缺点:优点:1. 黑盒测试能够发现程序中可能存在的错误,包括一些潜在的错误。
2. 黑盒测试执行难度较低,测试人员不需要了解软件程序的实现细节,可以轻松测试软件。
3. 黑盒测试是与开发独立的测试,可以找到开发人员漏掉的特殊情况。
缺点:1. 黑盒测试只能测试程序的功能是否符合预期,无法找到程序内部的错误或者不规范的设计。
2. 黑盒测试只能测试事先预先设计的用例,无法进行全面的测试覆盖。
3. 黑盒测试只能验证“正确的行为”,无法覆盖所有的异常场景和边缘情况,不利于模拟实际情况。
黑盒测试适用场景:1. 如果测试要从用户的角度考虑,黑盒测试是首选。
2. 对于程序的一些重要且外部可见的行为,黑盒测试是一个很好的选择。
3. 黑盒测试一般用于功能性测试,如需检测UI界面和功能操作等。
4. 如果测试人员不熟悉源代码,应该使用黑盒测试方法。
二、白盒测试白盒测试又被称为结构测试,是基于软件内部结构的测试,通过程序的流程、逻辑、数据等细节来检验程序的正确性。
软件测试中的黑盒和白盒测试

软件测试中的黑盒和白盒测试软件测试是软件开发过程中不可或缺的环节,它的作用是评估和验证软件系统的正确性、可靠性和安全性。
在软件测试中,黑盒测试和白盒测试是两种常用的测试方法,它们有着不同的特点和适用场景。
本文将详细介绍黑盒和白盒测试,并探讨它们在软件测试中的应用。
一、黑盒测试简介黑盒测试也被称为功能测试或需求测试,它主要关注于测试软件系统的功能是否符合预期。
黑盒测试不需要了解被测系统的内部实现细节,测试人员只需要根据系统的需求文档或者用户手册,对软件系统的输入输出行为进行验证。
因此,黑盒测试可以独立于开发人员进行,并且不需要深入了解系统的代码。
黑盒测试是整个测试过程中最直观的一种测试方法,它通过模拟真实用户的操作来测试系统的功能。
在进行黑盒测试时,测试人员主要关注以下几个方面:1. 功能测试:验证软件系统是否按照需求文档中描述的功能进行正常操作。
2. 边界测试:验证软件系统在边界条件下的行为,包括最小值、最大值、特殊字符等。
3. 错误处理测试:验证软件系统对于输入错误或者无效的输入的处理是否正确。
4. 性能测试:验证软件系统在正常工作负载下的性能表现,如响应时间和吞吐量等。
二、白盒测试简介白盒测试也被称为结构测试或者逻辑驱动测试,它主要关注于验证软件系统的内部逻辑是否正确。
与黑盒测试不同,白盒测试需要了解软件系统的内部实现细节,包括代码、数据结构、算法等。
通过分析系统的内部逻辑,测试人员可以设计测试用例,覆盖不同的代码路径和分支,从而验证系统的逻辑是否正确。
白盒测试常用于对关键代码或者核心功能的测试。
在进行白盒测试时,测试人员主要关注以下几个方面:1. 语句覆盖:验证每一行代码是否被执行到。
2. 分支覆盖:验证每一条分支路径是否被执行到。
3. 条件覆盖:验证每一个条件语句的真假两个分支是否都被覆盖到。
4. 路径覆盖:验证是否执行了所有可能的代码路径。
三、黑盒与白盒测试的选择在实际的软件测试过程中,黑盒测试和白盒测试往往是同时进行的,各自有着不同的优势和适用场景。
黑盒测试和白盒测试分别是什么

黑盒测试和白盒测试分别是什么在软件开发领域中,黑盒测试和白盒测试是两种常见的测试方法,它们在保证软件质量和功能完整性方面起着至关重要的作用。
本文将介绍黑盒测试和白盒测试的定义、特点以及区别。
黑盒测试黑盒测试(Black Box Testing)是一种测试方法,测试人员只需了解软件的功能和接口,而不需要了解内部结构和实现逻辑。
在黑盒测试中,测试人员将软件视为一个黑盒子,只关注输入和输出之间的关系,通过输入不同的数据并观察输出结果,来验证软件的正确性和完整性。
特点:1.侧重于功能测试:主要验证软件是否按照要求功能正常运行。
2.不需要了解内部逻辑:测试人员无需知道软件的源代码或内部结构。
3.独立性强:测试人员可以独立进行黑盒测试,不依赖于开发人员。
4.用户角度:以用户的角度来测试软件,验证软件是否满足用户需求。
白盒测试白盒测试(White Box Testing)是一种测试方法,测试人员需要了解软件的内部结构、代码逻辑和算法等信息。
在白盒测试中,测试人员根据软件的内部实现原理,设计测试用例并验证软件的每个逻辑路径是否正确。
特点:1.侧重于代码测试:主要验证软件内部代码逻辑是否正确。
2.需要了解内部逻辑:测试人员需要查看源代码或设计文档,了解软件的实现细节。
3.覆盖全面:通过分析代码结构和路径覆盖,可以发现潜在的逻辑错误。
4.开发人员参与:通常需要开发人员参与进行白盒测试,以便更好地理解代码逻辑。
区别1.角度不同:黑盒测试从用户角度出发,关注功能是否符合需求;白盒测试从开发者角度出发,关注代码逻辑是否正确。
2.测试对象不同:黑盒测试关注软件的外部行为和功能,白盒测试关注软件的内部结构和代码。
3.独立性不同:黑盒测试独立于代码而存在,白盒测试依赖于代码实现。
4.设计方法不同:黑盒测试基于需求和功能设计测试用例,白盒测试基于代码结构和逻辑设计测试用例。
在实际软件测试中,黑盒测试和白盒测试通常结合使用,以充分验证软件的功能和质量。
软件测试白盒和黑盒的区别

软件测试白盒和黑盒的区别软件测试是软件开发过程中至关重要的一环,通过测试可以验证软件的功能是否符合设计要求,保证软件质量和稳定性。
在软件测试中,常用的两种测试方法是白盒测试和黑盒测试。
虽然它们都是为了检验软件的正确性和完整性,但在测试的目标、方法和应用场景上有着明显的区别。
1. 白盒测试白盒测试又称为透明盒测试或结构化测试,是基于软件内部结构和代码逻辑来进行测试的一种测试方法。
白盒测试关注的是程序的内部逻辑和代码覆盖率,主要通过查看源代码、设计文档和程序结构来进行测试。
特点:•白盒测试需要了解软件的内部结构和实现细节,需要具备编程和调试能力;•主要验证代码是否按照设计要求工作,检查程序是否完整且无明显错误;•能够发现代码中的逻辑错误、语法错误和性能问题;•适用于单元测试和集成测试阶段。
2. 黑盒测试黑盒测试又称为功能测试或规格测试,是一种完全不需要了解软件内部结构和实现细节的测试方法。
黑盒测试基于软件的功能需求规格,通过输入输出的方式检查软件是否符合用户需求。
特点:•黑盒测试仅关注软件的功能和界面,不受代码实现细节的影响;•主要验证软件的功能是否符合规格说明,检查软件是否符合用户预期;•能够发现用户体验问题、功能逻辑错误以及交互问题;•适用于系统测试和验收测试阶段。
3. 区别与联系区别:1.目标不同:白盒测试关注内部逻辑和代码实现,黑盒测试关注功能和用户体验。
2.方法不同:白盒测试通过查看代码实现来进行测试,黑盒测试通过输入输出来检查功能。
3.应用场景不同:白盒测试适用于单元测试和集成测试,黑盒测试适用于系统测试和验收测试。
联系:1.共同目的:白盒测试和黑盒测试都是为了验证软件的正确性和完整性。
2.相互补充:白盒测试和黑盒测试结合可以提高软件测试的全面性和覆盖度。
结语在软件测试中,白盒测试和黑盒测试是两种常用的测试方法,各有其特点和适用场景。
软件测试人员应根据具体需求和阶段选择合适的测试方法,结合使用可以更好地发现和解决软件中的问题,提高软件质量和稳定性。
软件测试黑盒测试与白盒测试的优缺点对比

软件测试黑盒测试与白盒测试的优缺点对比在软件开发中,测试是一个关键的环节,它能够帮助发现和解决软件中存在的问题,提高软件的质量和稳定性。
而在测试过程中,黑盒测试和白盒测试是两种常见的测试方法。
本文将对黑盒测试与白盒测试的优缺点进行对比,以便读者了解并选择适合自己项目的测试方法。
一、黑盒测试黑盒测试又称为功能测试,是一种针对软件功能进行的测试方法。
测试人员只关注软件的输入与输出,而不需要知道软件的内部实现细节。
下面是黑盒测试的优点和缺点。
1. 优点:(1)高度独立性:黑盒测试与开发人员相互独立。
测试人员对软件的内部结构一无所知,这有助于保证测试结果的客观性和独立性。
(2)用户角度:黑盒测试重点关注软件的功能和用户需求,以用户的角度出发进行测试。
这样能够更好地验证软件是否满足用户的期望和需求。
(3)容易上手:黑盒测试不要求测试人员具备编程技能或者对内部实现有深入了解,因此易于学习和使用。
测试人员可以集中精力于功能的正确性和完整性。
2. 缺点:(1)覆盖度有限:黑盒测试只关注软件的输入和输出,对于软件内部的逻辑和结构没有直接的测试手段。
因此,黑盒测试可能没有办法有效检测到所有可能存在的问题。
(2)难以定位问题:当黑盒测试发现问题时,由于无法直接定位到具体的代码或模块,需要与开发人员合作进行问题的解决。
这可能会增加问题修复的时间和成本。
(3)测试用例设计困难:黑盒测试需要测试人员根据功能需求设计测试用例,这需要对功能需求的理解和测试人员的经验。
测试用例的设计可能会受到测试人员的主观因素的影响。
二、白盒测试白盒测试又称为结构测试或透明盒测试,它关注软件的内部结构和代码的逻辑。
测试人员需要具备基本的编程和代码理解能力。
下面是白盒测试的优点和缺点。
1. 优点:(1)全面性:白盒测试可以深入到软件的内部,对代码的每一行进行测试,能够检查到潜在的逻辑错误和代码缺陷,提高测试覆盖度。
(2)问题定位:由于测试人员可以直接定位到出问题的代码或模块,因此白盒测试可以提供详细的错误报告,有助于开发人员快速定位和解决问题。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
黑盒测试技术
边界值技术
X=2
Y=4 ?
边界值技术常和等价类结合使用,测试边界时,一般 测试边界值和正好超出边界值一个单位的值。 例如: 一程序,功能是计算两个 1-100 整数的和(两个 数由用户键盘输入)。试设计等价类。
黑盒测试技术
因果图法
X=2
Y=4 ?
案例:某奖金计算软件实现如下功能:
该软件可以计算某公司的年终奖,该公司员工分为普通
白盒测试技术
静态分析
X=2
Y=2X
Y=4 ?
代码走查(WorkThrough ):开发组内部采用讲解、讨
论和模拟运行的方式进行的查找错误的活动。
代码审查( Inspection ): 在开发组内部进行的,采用
讲解、提问和模拟运行的方式查找错误。一般有正式的计
划、流程和结果报告。 技术评审(Review):开发组、测试人员、QA等人员联 合进行的通过讲解、提问并使用编码模板进行错误查找的 活动。一般有正式的流程和结果报告。
白盒与黑盒的概念 黑盒测试技术 白盒测试技术 白盒与黑盒的比较
黑盒与白盒
黑盒测试
X=2
Y=4 ?
黑盒测试又叫功能测试,它关注的是被测软件功能的实
现,而不是内部逻辑。在黑盒测试中,被测对象的内部结
构、运作情况对测试人员是不可见的。 黑盒测试关注点: 功能错误与遗漏 界面错误 数据结构与外部数据库访问错误 性能错误 初始化与终止错误
/*正方形类,实现正方形周长与面积计算*/ public extends Rectangle{ /*形状类,实现该形状周长与面积计算 */ class Square X=2 Y=4 ? Y=2X public Square (int x, int y){ public abstract class Shape{ public abstract double perimeter(); super(x,y); } public abstract double area(); public double perimeter(){ } return 4*a; /*矩形类,实现该矩形周长与面积计算 案例分析 } */ public class Rectangle extends Shape{ public double area(){ /*圆形类,实现圆周长与面积计算 */ int a; return a*a int b; } public class Circle extends Shape{ public Rectangle (int x, int y){ } private int r; public Circle (int x){ a=x; r=x; b=y; } } public double perimeter(){ public double perimeter(){ return 2*3.14*r; return 2*(a+b); } } public double area(){ public double area(){ return 3.14*r*r; return a*b } } } }
X=2
Y=4 ?
1、首先为输入输出条件编号
输入条件 员工类别:普通员工A1、管理人员A2
员工表现:普通B1、优秀B2、特殊贡献B3
输出条件 奖金类别:1类奖金C1、2类奖金C2…… 员工表现:
黑盒测试技术
因果图法
分析:
X=2
Y=4 ?
2、分析各种有效的输入条件组合
普通员工 A1+B1->C1 A1+B2->C2
输出结果(结果)之间的对应关系。
其中:CI表示原因,EI表示结果。
黑盒测试技术
流程图法
算法流程图业务流程图
X=2
Y=4 ?
针对整个系统业务功能流程绘制业务流程图,写用例,
覆盖所有的路径分支。 详细了解需求 根据需求说明或界面原型,找出各页面之间的流转关系 画出业务流程图 写用例,覆盖所有的路径分支。
白盒测试技术
面向对象测试步骤
X=2
Y=2X
Y=4 ?
/* 矩形类, 实现矩形周长和面积的计算 */ public class Rectangle extends Shape{ …… public static void main(String [] args) { //测试Rectangle类 设计测试用例 Rectangle rect1=new Rectangle(1,1); Rectangle rect2=new Rectangle(1.2,3.4); 比如测试Rectangle 类时,可以构造以下测试用例: Rectangle rect1=new (1,1) (1.2, 3.4) (a, b) ( Rectangle(a,b); ,) Rectangle rect1=new Rectangle( , );
白盒测试技术
逻辑覆盖技术
X=2
Y=2X
Y=4 ?
逻辑覆盖 是一种传统的白盒测试技术,是专门用来测试程 序中的分支结构和循环结构。 分支结构测试
语句覆盖 分支覆盖 条件覆盖 分支-条件覆盖 条件组合覆盖 路径覆盖
白盒测试技术
逻辑覆盖技术
# include <stdio.h> main() { float a,b,x; scanf(“%f%f%f”,&a,&b, &x); if ((a>1)&&(b==0)) x=x/a; if ((a==2)||(x>1)) x=x+1; printf(“%f”,x);
X=2
Y=2X
Y=4 ?
请设计测试用例!
# include <stdio.h> main() { int i=0; int j=0; int a[5][5]; for(i=0;i<5;i++) for(j=0;j<5;j++) { a[i][j]=i+j; printf(“%d\n”,a[i][j]); } }
//打印数组5个元素
白盒测试技术
边界值测试
分 支 判 断 语 句 的 边 界 值
X=2
Y=2X
Y=4 ?
# include <stdio.h> main() { int a,b,c; printf(“请输入两个10到99之间的整数”); scanf(“%d%d”,&a,&b); if (a<=10||a>=99) printf(“a的值应在10到99之间”); else if (b<=10||b>=99) printf(“a的值应在10到99之间”); else { c=a+b; printf(“两个数的和为%d”,c); } }
# include <stdio.h> main() { int i=0; int sum=0; while (i<10) { sum=sum+i; i++; } printf(“%d\n”,sum); }
白盒测试技术
逻辑覆盖技术
循环结构测试
嵌套循环 外内层循环变量都取最小值 外层最小,内层最大 外层最大,内层最小 循环变量增量 何时退出内循环 何时退出外循环
形面积(1<=A\B\C<100),结果保留2位小数。
黑盒测试技术
综合应用
X=2
Y=4 ?
2、163邮箱注册模块(不考虑重复用户)
注册页面
黑盒测试技术
综合应用
测试用例
X=2
Y=4 ?
黑盒测试技术
综合应用
X=2
Y=4 ?
黑盒测试技术
课堂练习
X=2
Y=4 ?
1. 一程序要求输入三角形的边长(要求整数),根据边长判断三 角形类型(不等边、等边、等腰),请画出等价类示意图。 2.假定一台ATM机允许提取的增量是50元,总额从50到5000元不等 的现金;并要求一次最多取 2000 元,一天最多取 5000 元,一天最 多取3次。运用等价类和边界值的思想编写测试用例。
黑盒测试技术
等价类技术
X=2
Y=4 ?
等价类划分不考虑程序的内部结构,只是根据软件的需
求说明对输入的范围进行细分,然后再从分出的每个区域
内选取一个有代表性的测试数据。 例如: 一程序,功能是计算两个 1-100 整数的和(两个 数由用户键盘输入)。试设计等价类。
黑盒测试技术
等价类技术
无效等价类<1
黑盒测试技术
黑盒技术小结
等价类法
X=2
Y=4 ?
边界值法
流程图法 因果图法
运用流程图法测试软件的总体业务流程 针对具体的模块运用等价类与边界值方法进行测试 如果涉及到多个输入条件组合情况,应用因果图法测试
黑盒测试技术
综合应用
1、计算三角形面积程序
X=2
Y=4 ?
输入三个整数 A、 B 、C ,输出以A 、B 、 C为三边的三角
s a
X=2
Y=2X
Y=4 ?
入口
c Y x=x/a e
(a=2)||(x>1)
(a>1)&&(b==0)
b
Y
x=x+1
d
返回
}
白盒测试技术
逻辑覆盖技术
循环结构测试
简单循环
X=2
Y=2X
Y=4 ?
循环变量的初值是否正确 循环变量的最大值是否正确
循环变量的增量是否正确
何时退出循环
请设计测试用例!
白盒测试技术
面向对象测试
白盒测试技术
面向对象测试步骤
划分优先级,适当取舍