白盒测试

合集下载

白盒测试是什么意思呀

白盒测试是什么意思呀

白盒测试是什么意思呀白盒测试是一种软件测试方法,也被称为结构化测试、透明式测试或者逻辑驱动测试。

在软件开发的过程中,白盒测试是非常重要的一环,其主要目的是验证程序的内部结构和逻辑是否符合设计要求,以确保软件的质量和稳定性。

白盒测试的原理白盒测试是基于对软件内部结构的了解而进行的测试。

测试人员需要深入了解软件的源代码、逻辑和数据结构,并根据这些信息设计测试用例,以验证程序是否按照预期的方式运行。

通过白盒测试,可以发现潜在的编码错误、逻辑错误和性能问题,从而提高软件的质量。

白盒测试的优势1.全面性: 白盒测试可以从程序内部进行测试,覆盖范围广,可以针对不同的代码路径设计测试用例,确保软件的每个部分都被充分测试。

2.高效性: 由于测试人员需要深入了解软件的内部结构,可以更加有效地设计测试用例,发现潜在的问题并及时修复,从而提高测试效率。

3.应用广泛: 白盒测试适用于不同类型的软件开发,无论是传统的软件开发还是敏捷开发,都可以采用白盒测试方法来保证软件的质量。

白盒测试的方法白盒测试主要包括以下几种方法:1.语句覆盖: 确保每个语句至少被执行一次,以验证程序的完整性。

2.分支覆盖: 确保程序的每个分支至少被执行一次,以验证程序的控制流是否正确。

3.路径覆盖: 确保程序的每条可能的执行路径都被覆盖到,以验证程序的逻辑是否正确。

4.条件覆盖: 确保程序的每个条件语句至少被执行和取值两种可能情况,以验证程序的逻辑正确性。

结语白盒测试是一种重要的软件测试方法,通过深入了解软件的内部结构和逻辑,设计有效的测试用例,可以发现潜在的问题并提高软件的质量。

在软件开发过程中,合理应用白盒测试方法是非常必要的,有助于确保软件的稳定性和安全性。

白盒测试是什么意思有什么优缺点

白盒测试是什么意思有什么优缺点

白盒测试是什么意思有什么优缺点白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,那么你对白盒测试了解多少呢?以下是由店铺整理关于什么是白盒测试的内容,希望大家喜欢!白盒测试的介绍白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。

白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。

"白盒"法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。

"白盒"法是穷举路径测试。

在使用这一方案时,测试者必须检查程序的内部结构,从检查程序的逻辑着手,得出测试数据。

贯穿程序的独立路径数是天文数字。

采用什么方法对软件进行测试呢?常用的软件测试方法有两大类:静态测试方法和动态测试方法。

其中软件的静态测试不要求在计算机上实际执行所测程序,主要以一些人工的模拟技术对软件进行分析和测试;而软件的动态测试是通过输入一组预先按照一定的测试准则构造的实例数据来动态运行程序,而达到发现程序错误的过程。

在动态分析技术中,最重要的技术是路径和分支测试。

下面要介绍的六种覆盖测试方法属于动态分析方法。

白盒测试的测试方法白盒测试的测试方法有代码检查法、静态结构分析法、静态质量度量法、逻辑覆盖法、基本路径测试法、域测试、符号测试、路径覆盖和程序变异。

白盒测试法的覆盖标准有逻辑覆盖、循环覆盖和基本路径测试。

其中逻辑覆盖包括语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组合覆盖和路径覆盖。

六种覆盖标准发现错误的能力呈由弱到强的变化:1、语句覆盖每条语句至少执行一次。

2、判定覆盖每个判定的每个分支至少执行一次。

3、条件覆盖每个判定的每个条件应取到各种可能的值。

4、判定/条件覆盖同时满足判定覆盖条件覆盖。

5、条件组合覆盖每个判定中各条件的每一种组合至少出现一次。

6、路径覆盖使程序中每一条可能的路径至少执行一次。

白盒测试的要求1、保证一个模块中的所有独立路径至少被使用一次。

2、对所有逻辑值均需测试 true 和 false。

白盒测试方法的定义

白盒测试方法的定义

白盒测试方法的定义1. 什么是白盒测试?白盒测试是软件测试中的一种方法,也被称为结构测试或透明盒测试。

与黑盒测试侧重于测试功能并不考虑内部结构不同,白盒测试通过了解和分析软件内部的结构、设计和代码来进行测试。

它的主要目标是验证软件的内部逻辑是否正确、是否遵循预定规范,并识别可能存在的错误和缺陷。

白盒测试通常由开发人员、测试工程师或专业测试团队进行。

2. 白盒测试方法的分类在进行白盒测试时,可以使用多种方法和技术。

以下是几种常见的白盒测试方法:2.1 语句覆盖(Statement Coverage)语句覆盖是一种基本的白盒测试方法,它的目标是确保每个程序语句至少执行一次。

测试人员通过设计测试用例来测试代码中的每个语句,并验证是否所有语句都得到执行。

未执行的语句可能导致代码缺陷。

2.2 判定覆盖(Decision Coverage)判定覆盖是一种更高级别的白盒测试方法,它的目标是确保每个程序判定(即布尔条件)的所有可能结果都被覆盖到。

测试人员通过设计测试用例来测试代码中的每个判定,并验证每个判定的不同结果都能够触发。

2.3 路径覆盖(Path Coverage)路径覆盖是一种更全面的白盒测试方法,它的目标是确保每个程序路径都被覆盖到。

路径是指代码执行的不同路线,包括条件分支、循环和递归等。

测试人员通过设计测试用例来测试代码中的不同路径,并验证每个路径都能够被触发。

2.4 条件覆盖(Condition Coverage)条件覆盖是一种更细粒度的白盒测试方法,它的目标是确保每个布尔条件(即判定中的子条件)的所有可能结果都被覆盖到。

测试人员通过设计测试用例来测试每个条件,并验证每个条件的不同结果都能够触发。

3. 白盒测试方法的步骤3.1 理解需求和代码在进行白盒测试之前,测试人员需要对软件的需求和代码有一个全面的了解。

他们应该读取和分析需求文档,并仔细研究代码的结构和逻辑。

3.2 设计测试用例测试人员根据软件的需求和代码特点设计测试用例。

白盒测试的概念及目的是什么

白盒测试的概念及目的是什么

白盒测试的概念及目的是什么白盒测试是软件测试中的一种重要测试方法,也称为结构测试或逻辑驱动测试。

它是在了解被测软件内部结构和代码的基础上进行的测试。

与黑盒测试不同,白盒测试需要测试人员具备一定的编程知识,以便深入了解软件的内部逻辑,从而有效地验证和确认软件的功能和质量。

白盒测试的概念白盒测试是一种基于源代码的测试方法,旨在检查软件的内部结构、逻辑、以及各个组成部分之间的关联。

测试人员通过分析代码,设计测试用例,并执行测试来验证软件的正确性、覆盖范围以及逻辑准确性。

白盒测试通常包括单元测试、集成测试、以及系统测试等不同层次的测试。

白盒测试不仅关注代码本身的正确性,还关注代码的执行路径、分支覆盖、循环覆盖等方面。

通过白盒测试,可以发现代码中的逻辑错误、潜在的缺陷、以及性能问题,帮助开发人员提高代码质量,降低系统出现问题的风险。

白盒测试的目的白盒测试的主要目的是检查代码的内部逻辑和结构是否符合设计需求,以及验证代码的正确性、可靠性和稳定性。

通过白盒测试,可以实现以下几个目标:•发现代码缺陷:通过覆盖各个代码路径,检测代码中的逻辑错误和潜在缺陷,及时修复问题,提高软件质量。

•验证代码质量:评估代码的质量水平,包括代码的可读性、可维护性、性能等方面,帮助开发人员改进代码编写风格。

•提高代码覆盖率:通过白盒测试可以检查代码的执行路径和分支覆盖,从而提高测试用例的覆盖率,确保代码的全面检查。

•减少系统风险:通过发现和修复潜在的问题,减少系统运行时出现故障的风险,提高系统的稳定性和可靠性。

综上所述,白盒测试是一种深入测试软件内部逻辑和结构的方法,旨在发现和修复代码中的缺陷,提高软件质量和稳定性,保障系统正常运行。

系统的白盒测试工作是软件开发过程中不可或缺的一部分,对于保证软件质量和最终用户满意度至关重要。

白盒测试是什么意思啊

白盒测试是什么意思啊

白盒测试是什么意思啊白盒测试,又称为结构化测试、逻辑驱动测试或者透明盒测试,是软件测试中的一种测试方法。

与黑盒测试相对应,白盒测试是通过直接检查被测软件内部的代码结构、逻辑和路径来评估软件的正确性和质量。

白盒测试的特点1.测试对象透明:白盒测试不仅关注软件的外部功能,还审查软件的内部逻辑结构,测试人员能够看到被测试软件的源代码。

2.有针对性:基于代码结构和逻辑的分析,白盒测试可以有针对性地设计测试用例,以覆盖代码中的各个路径和分支,提高测试覆盖率。

3.高效性:白盒测试可以发现一些黑盒测试无法发现的潜在问题,如代码逻辑错误、未处理异常等,提前发现和解决问题,节约测试时间和成本。

白盒测试的目的1.发现代码错误:通过检查源代码,白盒测试可以帮助发现潜在的编码错误,如语法错误、逻辑错误、数据类型错误等。

2.分析代码覆盖率:白盒测试可以评估测试用例对代码的覆盖率,帮助确定测试质量,及时调整测试策略和加强测试用例设计。

3.支持性能分析:在代码级别进行性能测试,可以评估不同算法、数据结构和代码实现方式对系统性能的影响,优化系统性能。

白盒测试的方法1.代码静态分析:通过代码审查、静态分析工具等手段,检查源代码是否符合编码规范、潜在的错误和安全隐患。

2.控制流覆盖:设计测试用例以覆盖代码中的不同控制流路径,包括分支、循环等,保证程序的完整性和正确性。

3.路径覆盖:测试用例设计要覆盖代码中的所有可能路径,包括线性路径、条件判断路径、循环路径等,确保代码的完全覆盖。

白盒测试的优势1.提高软件质量:白盒测试可以在软件开发早期发现和解决问题,提高软件质量和可靠性。

2.节约成本:通过早期的错误检测和修复,可以减少后期修复的成本和风险,提高项目的成功率。

3.持续改进:白盒测试可以帮助开发团队理解代码,发现优化空间,持续改进软件的质量和性能。

综上所述,白盒测试是一种基于源代码的内部测试方法,通过对软件的结构和逻辑进行分析和测试,以发现问题、提高软件质量和可靠性。

白盒测试的概念是什么意思

白盒测试的概念是什么意思

白盒测试的概念是什么意思
白盒测试,又称结构化测试,是一种软件测试方法,旨在检查代码的内部结构、逻辑和流程,以确保软件系统在运行过程中能够按照设计要求正常工作。

相对于黑盒测试,白盒测试主要关注内部逻辑,通过检查代码的执行路径、数据流等来评估程序的质量和稳定性。

白盒测试通常在程序开发的早期阶段进行,旨在发现和纠正代码中的错误和缺陷,以提高软件的质量和可靠性。

通过白盒测试,开发人员可以评估代码的覆盖率和质量,确保程序的功能符合需求,并且能够有效地处理各种输入情况。

白盒测试的主要目标包括:发现代码中的逻辑错误和潜在缺陷;验证代码的正
确性和稳定性;评估代码的执行路径和覆盖率;优化代码的性能和效率;保证软件系统的安全性和稳定性。

白盒测试通常由专门的测试人员或开发人员来执行,他们需要具备良好的编程
技能和理解能力,以便深入分析和测试代码。

在进行白盒测试时,测试人员通常会使用一些工具和技术,如代码审查、静态分析、动态分析、单元测试等,以确保代码的质量和可靠性。

总的来说,白盒测试是一种重要的软件测试方法,通过检查和评估代码的内部
结构和逻辑,可以帮助开发人员发现和解决问题,提高软件系统的质量和可靠性,保证软件系统能够按照设计要求正常工作。

白盒测试简介

白盒测试简介

白盒测试简介白盒测试,也称为结构化测试、透明盒测试或逻辑驱动测试,是一种软件测试方法,用于评估程序内部的逻辑结构和设计。

相对于黑盒测试仅关注功能和用户需求是否满足,白盒测试关注的是程序的内部运行和数据流,以保证软件在逻辑上的正确性和稳定性。

1. 白盒测试的原理白盒测试的主要原理是通过对程序的内部逻辑进行深入分析和观察,检查程序的各个分支和路径,以确定其中是否存在错误或潜在的缺陷。

通过揭示代码中可能的错误和问题,白盒测试有助于提高软件的质量和可靠性。

2. 白盒测试的主要技术在进行白盒测试时,有一些主要的技术和方法可以帮助测试人员发现隐藏在程序内部的问题。

2.1 代码覆盖率分析代码覆盖率分析是白盒测试中常用的一种技术,用于确定测试用例是否覆盖了程序的所有代码路径。

通过测量代码的覆盖率,测试人员可以评估测试用例的充分性,并找出可能未被测试到的代码块。

2.2 控制流分析控制流分析用于检查程序中的不同执行路径和分支条件的情况。

测试人员可以通过构建控制流图,把握程序的执行逻辑,确定测试用例在各个分支上的覆盖情况,从而找出潜在的逻辑错误。

2.3 数据流分析数据流分析用于追踪程序中数据的流向和处理过程。

通过分析数据的定义、使用和修改等情况,可以帮助测试人员发现潜在的数据错误或不一致性。

3. 白盒测试的优势和适用场景与其他软件测试方法相比,白盒测试具有以下优势:3.1 提高测试的准确性白盒测试可以深入了解程序的内部结构和逻辑,找出隐藏的缺陷和错误。

通过对代码的逐行分析,可以测试特定的功能或路径,并准确地确定问题所在。

3.2 早期发现和修复问题白盒测试通常在软件开发过程的早期进行,可以在问题扩大之前就发现和修复潜在的缺陷。

这有助于减少后期修复的成本和工作量。

3.3 提高软件质量和稳定性通过白盒测试,可以发现程序中的逻辑错误、数据不一致性等问题,保证软件的质量和稳定性。

这有助于提升用户的使用体验,并减少软件在运行时产生的错误和异常。

白盒测试简介及原理解析

白盒测试简介及原理解析

白盒测试简介及原理解析白盒测试是一种软件测试方法,旨在检查和评估软件应用程序的内部结构、设计和实现。

与黑盒测试不同,白盒测试侧重于了解和验证软件的内部逻辑和代码。

本篇文章将介绍白盒测试的基本概念、原理和应用。

一、白盒测试的基本概念白盒测试,也称为结构测试或透明盒测试,是一种基于内部代码和结构的测试方法。

它需要测试人员了解软件应用程序的内部实现细节,以设计和执行相应的测试用例。

通过白盒测试,测试人员可以评估软件的完整性、安全性和健壮性,并发现可能存在的错误和缺陷。

二、白盒测试的原理白盒测试基于以下几个原理:1. 代码覆盖率:白盒测试的目标之一是尽可能覆盖软件代码的各个执行路径。

通过设计测试用例来覆盖不同的代码分支和路径,可以提高测试的全面性和有效性。

2. 数据流分析:白盒测试需要了解软件应用程序中的数据流,包括输入、输出和内部变量之间的关系。

通过分析数据流,测试人员可以确定潜在的错误和漏洞,并设计相应的测试用例来验证和修复。

3. 边界值分析:边界值分析是白盒测试中常用的一种技术手段。

通过测试输入和输出的边界情况,可以揭示潜在的错误和异常处理问题。

例如,对于接受输入范围的函数,测试人员可以针对边界值进行测试,验证函数是否能正确处理最小和最大输入。

4. 代码审查:白盒测试还包括对代码的审查和分析。

测试人员可以检查代码是否符合编码规范、是否存在潜在的逻辑错误和效率问题。

通过代码审查,可以帮助发现并纠正代码中的问题,提高软件的质量和可靠性。

三、白盒测试的应用白盒测试广泛应用于软件开发和维护的各个阶段。

以下是一些典型的应用情景:1. 单元测试:白盒测试常用于对软件的单个模块或函数进行测试。

测试人员可以通过设计测试用例来验证模块的各种输入和输出组合,以确保模块能够按照预期工作。

2. 集成测试:在软件集成测试中,白盒测试可以用来验证各个模块之间的接口和交互。

通过模拟真实环境,在程序的不同部分之间进行交互测试,以确保整个系统的正确性和稳定性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

白盒测试实例之一——需求说明三角形的问题在很多软件测试的书籍中都出现过,问题虽小,五脏俱全,是个很不错的软件测试的教学例子。

本文借助这个例子结合教学经验,从更高的视角来探讨需求分析、软件设计、软件开发与软件测试之间的关系与作用。

题目:根据下面给出的三角形的需求完成程序并完成测试:一、输入条件:1、条件1:a+b>c2、条件2:a+c>b3、条件3:b+c>a4、条件4:0<a<2005、条件5:0<b<2006、条件6:0<c<2007、条件7:a==b8、条件8:a==c9、条件9:b==c10、条件10:a2+b2==c211、条件11:a2+ c2== b212、条件12:c2+b2== a2二、输出结果:1、不能组成三角形2、等边三角形3、等腰三角形4、直角三角形5、一般三角形6、某些边不满足限制白盒测试实例之二——答案很多初学者一看到这个需求(详见白盒测试实例之一——需求说明收藏),都觉得很简单,然后立刻就开始动手写代码了,这并不是一个很好的习惯。

如果你的第一直觉也是这样的,不妨耐心看到文章的最后。

大部分人的思路:1、首先建立一个main函数,main函数第一件事是提示用户输入三角形的三边,然后获取用户的输入(假设用户的输入都是整数的情况),用C语言来写,这一步基本上不是问题(printf和scanf),但是要求用j ava来写的话,很多学生就马上遇到问题了,java5.0及之前的版本不容易获取用户的输入。

点评:这样的思路做出来的程序只能通过手工方式来测试所有业务逻辑,而且这个程序只能是DOS界面版本了,要是想使用图形化界面来做输入,就得全部写过代码。

2、业务处理流程的思路用流程图表示如下:3、C语言代码:5. printf("please enter three integer:");6. scanf("%d%d%d", &a, &b, &c);7. if(0<a && a<200 && 0<b && b<200 && 0<c && c<200)8. {9. if(a+b>c && a+c>b && c+b>a)10. {11. if(a==b && b==c && a==c) //这里可以省掉一个判断12. {13. printf("1是等边三角形");14. }15. else16. {17. if(a==b || b==c || a==c)18. {19. printf("2是等腰三角形");20. }21. else22. {23. if(a*a+b*b==c*c || a*a+c*c==b*b || b*b+c*c==a*a)24. {25. printf("3是直角三角形");26. }27. else28. {29. printf("4是一般三角形");30. }31. }32. }33. }34. else35. {36. printf("5不能组成三角形");37. }38. }39. else40. {41. printf("6某些边不满足限制");42. }43. }点评:这样的思路做出来的程序只能通过手工方式来测试所有业务逻辑,而且这个程序只能是DOS界面版本了,要是想使用web或图形化界面来做输入,就得全部写过代码。

白盒测试实例之三——需求分析关键字:白盒测试、需求分析需求分析是后续工作的基石,如果分析思路有问题,后续工作可能就会走向不正确的方向,比如:代码重用性差、难于测试、难于扩展和难于维护等。

反而,如果需求分析做的好,对设计、开发和测试来说,都可能是很大的帮助。

看到题目给出的条件达12个之多,粗粗一看,好像很复杂,但仔细分析之后,发现可以把它们分成4组来讨论:1、条件1:a+b>c;条件2:a+c>b;条件3:b+c>a这三个表达式有什么特点呢?实际上它们的逻辑是一样的:两个数之和大于第三个数。

那么,前面程序的写法就存在逻辑重复的地方,应该把这个逻辑提取到一个函数中。

2、条件4:0<a<200;条件5:0<b<200;条件6:0<c<200这三个表达式也是同一个逻辑:判断一个数的范围是否在(0, 200)区间内,也应该把这个逻辑提取到一个函数中,去掉重复的逻辑,提高代码的可重用性。

可重用性的好处:比如,现在用户的需求改为了三条边的取值范围要改为[100,400],那么,按前面的思路来说,需要改3个地方,而现在只需要在一个函数里改1个地方,这就是代码重用的好处。

3、条件7:a==b;条件8:a==c;条件9:b==c这三个表达式的逻辑:判断两个数是否相等。

也应该把它提取到一个函数中。

我们进一步来分析一下判断是否是等边三角形或等腰三角形的条件:(1)前面程序的判断是从最直观的方式(a==b && b==c && a==c)(实际上只需要两个表达式成立即可)三条边都相等来判定是等边三角形;(a==b || b==c || a==c)只有两条边相等来判定是等腰三角形。

(2)转变一下思路:给定三个整数,然后用一个函数来判断这三个整数有几个相等,返回相等的个数,如果返回值等于3,那么它是等边三角形,如果返回值是2,那么它是等腰三角形,否则,它是一般三角形(如果不是直角三角形的话)。

4、条件10:a2+b2==c2 条件11:a2+ c2== b2 条件12:c2+b2= = a2这三个条件的处理方式有两种:(1)跟前面三组分析一样,把相同的逻辑提取到一个函数中,然后三次调用。

(2)根据直角三角形的特点:斜边是最长的,所以我们可以事先写一个函数来找到最长的边,然后把它赋值给c,这样处理之后,只需要一次调用判定(a2+b2==c2)的函数了。

白盒测试实例之四——程序设计关键字:白盒测试程序设计对于软件的质量和软件实施过程的难易程度起着至关重要的作用。

好的设计,即使聘用没什么经验的开发人员都很容易产生出高质量的代码出来;而差的设计,即使是经验很丰富的开发人员也很容易产生缺陷,特别是可重用性、可测试性、可维护性、可扩展性等方面的缺陷。

经过以上的分析,下面来看一下如何设计。

在下图中,每个方框都使用一个函数来实现,为了跟用户界面分开,最顶上的函数不要写在main 函数中。

把思路用流程图的方式表达出来,不用停留在脑袋里:具体的函数的调用关系图:复杂模块triangleType的流程图:白盒测试实例之五——编码1、Triangle.h10.11. /*12. * 判断一个整数是否在(0, 200)区间内13. * 返回值:true-否; false-是14. */15. bool isOutOfRange(int i);16.17. /*18. * 判断三条边是否合法(即:判断三条边都在合法的范围内)19. * 返回值:true-是; false-否20. */21. bool isLegal(int a, int b, int c);22.23. /*24. * 判断两条边之和是否大于第三边25. * 返回值:true-是; false-否26. */27. bool isSumBiger(int a, int b, int c);28.29. /*30. * 判断三条边是否能够组成三角形31. * 返回值:true-是; false-否32. */33. bool isTriangle(int a, int b, int c);34.35. /*36. * 判断两条边是否相等37. * 返回值:true-是; false-否38. */39. bool isEquals(int a, int b);40.41. /*42. * 求三角形有几条边相等43. * 返回值:相等边的数量44. */45. int howManyEquals(int a, int b, int c);46.47. /*48. * 判断是否满足两边平方之和是否等于第三边的平方49. *50. */51. bool isPowerSumEquals(int a, int b, int c);52.53. /*54. * 判断第一个数是否比第二个数大55. */56. bool isGreaterThan(int a, int b);57.58. /*59. * 判断是否是直角三角形60. *61. */62. bool isRightRriangle(int a, int b, int c);63.64. /*65. * 判断三角形的类型,返回值:66. * 1、不能组成三角形67. * 2、等边三角形白盒测试实例之六——单元测试的步骤白盒测试与黑盒测试的过程和方法是有一些区别的。

单元测试的步骤:1、理解需求和设计理解设计是很重要的,特别是要搞清楚被测试模块在整个软件中所处的位置,这对测试的内容将会有很大的影响。

需要记住的一个原则就是:好的设计,各模块只负责完成自己的事情,层次与分工是很明确的。

在单元测试的时候,可以不用测试不属于被测试模块所负责的功能,以减少测试用例的冗余,集成测试的时候会有机会测试到的。

举例:测试该函数的时候,只需要测试三条边(在合法的取值范围内的整数)是否能够满足两边之和是否大于第三边的功能,而不需要测试三条边是否在合法的范围(0,200)之间的整数,因为调用该函数之前,一定要先通过下面函数的检查,要是检查不通过,就不会执行isTriangle函数。

所以,单元测试主要是关注本单元的内部逻辑,而不用关注整个业务的逻辑,因为会有别的模块去完成相关的功能。

白盒测试实例之七——单元测试的尝试关键字:白盒测试单元测试软件测试以测试isOutOfRange函数为例,首先知道该函数在整个软件架构中处于最底层(叶子),所以对它进行测试并不需要写桩模块,只需要写驱动模块。

要注意的问题是:对于测试结果是否通过测试不要使用printf方式打印被测试函数的返回结果值,否则就需要人工去检查结果了。

使用边界值的方法可以得到5个测试用例,写的驱动模块代码如下:小知识:做单元测试的时候,一般不直接在main函数中写所有的测试代码,否则的话,main函数将会非常庞大。

相关文档
最新文档