via: http://blog.sina.com.cn/s/blog_9382390d01012j87.html
白盒测试:
依据:LLD(详细设计)
目的:利用不同的逻辑率到达某种程度的代码覆盖率(考虑全部程度的代码覆盖率会增加本)
步骤:静态分析和动态分析
优点:迫使测试人员去了解软件的实现
检测代码中的每条路径和分支
揭示隐藏在代码中的错误
对代码的测试进行比较彻底
缺点:白盒测试投入较大,成本较高
白盒测试不验证规格的正确性
无法检查代码中遗漏的路径和数据敏感性错误
黑盒测试:
依据:SRS(Software requriement specification软件需求说明书)
目的:从质量特性的不同方面,对软件进行测试,检测该软件是否实现了SRS中所有显示和隐式的需求
步骤:构造输入和预期输出,通过一定的操作步骤来测试软件。
优点:对较大的代码单元来说,黑盒测试比白盒测试的效率高
测试人员不需要了解实现得细节,包括特定的编程语言
测试人员和编程人员是相互独立的
从用户的角度进行测试,很容易被接受和理解
有助于暴露任何与闺阁不一致或者歧异的地方
测试用例可以在规格完成后马上进行
缺点:不能测试程序内部特定部位
如果程序未执行的代码无法发现
没有清晰的和简明的规格,测试用例很难被设计
via: http://www.ltesting.net/ceshi/ceshijishu/gncs/2009/0619/163872.html
从哲学观点看,分析问题和解决问题的方法有两种:白盒子方法和黑盒子方法。所谓白盒子方法就是能够看清楚事物的内部,即了解事物的内部结构和运行机制,通过剖析事物的内部结构和运行机制,来处理问题。所谓黑盒子方法是没有办法或不去了解事物的内部结构和运行机制,而把整个事物看成一个整体——黑盒子,通过分析事物的输入、输出以及周边条件来分析和处理问题。软件测试具有相类似的哲学思想。根据测试足针对系统的内部结构还是针对具体实现算法的角度来进行,分别称为白盒测试和黑盒测试。
1黑盒测试法(black-box testing)
黑盒测试,也称功能测试或数据驱动测试。它不管程序内部结构是什么样的,只是从用户出发,根据产品应该实现的实际功能和已经定义好的产品规格,来验证产品所应该具有的功能是否实现,每个功能是否都能正常使用,是否满足用户的要求。
在测试时,把程序看作一个不能扣开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,测试人员针对程序接El和用户界面进行测试,只检查程序功能足否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息,并且保持外部信息(如数据库或文件)的完整性。
黑盒测试主要用于发现以下情况:
· 是否有不正确或遗漏了的功能;
· 在接口上t能否正确地接受输入数据,能否产生正确的输出信息;
· 访问外部信息是否有错;
· 性能上是否满足要求;
· 界面是否错误,是否不美观;
· 初始化和终止错误。
黑盒测试方法主要用于软件确认测试。其其体方法有等价类划分、边界值分析、错误推测法、因果图等。
黑盒测试方法着眼于程序外部结构,不考虑内部逻辑结构,针对软件界面和软件功能进行测试。在用黑盒法测试时,必须在所有可能的输入条件和输出条件中确定测试数据。
黑盒测试中不可能做到穷举测试,因此局限于功能测试是远远不够的,还要结合白盒测试方法,进行逻辑和路径测试。
2白盒测试法(white—box testing)
白盒测试,也称结构测试或逻辑驱动测试,也就是己知产品的内部工作过程,清楚最终生成软件产品的计算机程序的结构和语句,按照程序内部的结构测试程序·测试程序内部的变量状态、逻辑结构、运行路径等,枪验程序中的每条通路是否都能按预定要求正确工作,检查程序内部动作或运行是否符合设计规格要求,所有内部成分是否按规定正常进行。主要用于软件验证。白盒测试的主要方法有逻辑覆盖、基本路径测试等。
白盒测试要求全面了解程序内部逻辑结构和处理过程,以检查处理过程的细节为基础,要求对程序的结构特性做到一定程度的覆盖,对所有逻辑路径进行测试,并检验内部控制结构和数据结构是否有错,实际的运行状态与预期的状态是否一致。自盒测试法是穷举路径测试,但贯穿程序的独立路径数可能是一个天文数字,所以也不可能进行穷举测试。企图遍历所有的路径是很难做到的,即使每条路径都测试了,覆盖率达到100%,程序仍可能出错。
. 穷举路径测试绝不能查出程序违反了设计规范,即程序在实现一个不是用户需要的功能。
. 穷举路径测试不可能查出程序中因遗漏路径而出错。
. 穷举路径测试可能发现不了一些与数据相关的错误。
白盒法是“基于覆盖的测试”,应朝着提高覆盖率的方向努力,尽可能多地进行测试,找出那些被忽视的错误。一般来说,白盒测试的原则是:
· 保证每个模块中所有独立路径至少被使用一次。
. 对所有逻辑值均测试为真值(true)和假值(false)。
. 在EF边界及可操作范围内运行所有循环。
· 检查内部数据结构以确保其有效性。
综上所述,白盒测试用例的常见设计方法有逻辑覆盖、循环覆盖和基本路径测试。逻辑覆盖又可分为语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、条件组台覆盖和路径覆盖。
via: http://www.cnblogs.com/xh831213/archive/2006/02/09/327744.html
白盒测试
一、定义
白盒测试是一种测试用例设计方法。在这里,盒子指的是被测试的软件,白盒,顾名思义即是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。因此,白盒测试需要对系统内部的结构和工作原理有一定的了解,并且基于这个知识来设计你的测试用例。
二、使用白盒测试方法产生的测试用例能够完成的功能
(1)保证一个模块中的所有独立路径至少被使用一次。
(2)对所有逻辑值均测试true和false。
(3)在上下边界以及可操作范围内运行所有循环。
(4)检查内部数据结构以确定其有效性。
三、白盒测试的常用技术
(1)静态分析技术
(2)动态分析技术
(3)测试数据生成
(4)覆盖率:语句覆盖,判定覆盖,条件覆盖,路径覆盖
黑盒测试
一、定义
黑盒测试又叫功能测试。这是因为在黑盒测试中,主要关注于被测试软件的功能的实现,而不是内部逻辑。
二、黑盒测试用于发现的错误
(1)功能错误或遗漏
(2)界面错误
(3)数据结构或外部数据库访问错误
(4)性能错误
(5)初始化和终止错误
三、黑盒测试的常用技术
(1)没有用户参与的黑盒测试
(2)有用户介入的黑盒测试
四、黑盒测试的方法
在黑盒测试中,我们不依据代码来决定测试用例,而是在了解需要解决的问题的情况下,组织四个方面的测试数据:易于计算的数据,典型数据,边界/极端数据,假数据。
相关推荐
白盒测试和黑盒测试是软件测试中的两种主要方法,它们分别从代码和功能角度对软件进行验证。 **白盒测试**,也称为结构测试或透明盒测试,主要关注程序的内部逻辑和结构。在白盒测试中,测试者需要了解程序的源代码...
与黑盒测试不同,黑盒测试关注的是软件的功能和用户界面,而白盒测试则更侧重于代码层面,通过检查程序执行路径和条件来确保代码的质量和正确性。 在白盒测试中,测试人员需要了解程序的内部结构,包括源代码、控制...
"三角形白盒黑盒测试"是一种结合了这两种测试策略的方式,以提高测试覆盖率和效率。接下来,我们将详细探讨这两种测试方法以及涉及到的工具Logiscope和QTP。 首先,白盒测试,又称为结构测试或代码测试,它关注的是...
报告会明确测试的方法论,如采用黑盒测试、白盒测试或灰盒测试,以及为什么选择这些方法。此外,还会涉及测试用例的设计原则,如何覆盖各种可能的用户操作和异常情况,以及如何确保测试的全面性和有效性。 三、测试...
白盒测试C++Test对C/C++源代码进行分析,针对所有的类的成员函数( 单元测试工具C++Test简介 软件测试 C++Test是Parasoft公司出品的一个针对C/C++源代码进行自动化单元测试的工具。它可以对源代码进行三种测试:...
2. **创建测试类和测试方法** - 测试类通常以"Test"结尾,每个测试方法前缀以"test",例如`public void testAdd()`。 - 使用`@Test`注解标记测试方法,JUnit会自动识别并执行这些方法。 3. **断言(Assertions)*...
白盒测试,也称为结构测试或逻辑驱动测试,是一种软件测试方法,它基于程序的内部逻辑结构和实现细节来设计测试用例。在白盒测试中,测试人员需要理解程序的源代码,关注点在于程序执行路径、控制流、数据流以及逻辑...
本实验主要关注的是基于JUnit4的测试技术,包括黑盒测试中的等价类划分和边界值分析,以及白盒测试中的路径覆盖方法,用于验证个人所得税计算的逻辑。下面将详细介绍这些测试策略及其在实践中的应用。 首先,我们来...
软件测试实验报告 题目一:用逻辑覆盖测试方法测试以下程序段 void DoWork (int x,int...(2)分别以语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖方法设计测试用例,并写出每个测试用例的执行路径
总的来说,这个白盒测试培训课程提供了一个全面的框架,涵盖了从代码审查、单元测试到接口测试和内存泄漏检测的关键环节,旨在提升研发团队的代码质量和测试能力,建立一套适应项目需求的白盒测试实践流程。...
在实际应用中,白盒测试通常与黑盒测试结合使用,以提高测试的全面性和有效性。黑盒测试关注软件的功能和用户界面,而白盒测试则补充了对内部逻辑的验证。两者相辅相成,共同保障软件质量。 总的来说,白盒测试的...
黑盒测试的优点是对于较大的单元来说,黑盒测试比白盒测试效率高,测试人员不必了解实现的细节,包括具体的编程语言。黑盒测试也可以暴露任何与规格说明不一致或有歧义的问题。 黑盒测试的缺点是不能测试所有可能的...
5. **测试策略**:包括测试方法(如黑盒测试、白盒测试)、测试覆盖率和优先级排序。 6. **风险评估**:识别潜在问题并制定应对策略。 7. **测试报告**:记录测试过程、结果和改进意见。 "M_phone_test.doc"可能...
在压缩包“TESTFILE”中,很可能包含了这三个问题的源代码、示例测试用例和可能的测试模板代码。通过分析这些文件,测试人员可以深入理解每个问题的实现,并编写相应的测试用例来验证其正确性。记住,优秀的测试不仅...
- 本次实验通过具体的实验案例,加深了对白盒测试和黑盒测试的理解。 - 同时,通过QTP自动化测试的实践,学习了自动化测试的基本流程和技术要点。 - 实验不仅提升了编程能力,还加强了软件测试理论与实践相结合的...
这样的脚本通常包含了测试逻辑,比如使用断言来检查预期结果与实际结果是否相符,以及可能的异常处理和测试覆盖率分析。 在深入讨论测试技术之前,我们先了解一下测试的基本概念。测试是为了发现软件中的错误、缺陷...
1. **测试策略**:测试团队可能采用了哪种测试方法(例如,白盒测试、黑盒测试或灰盒测试)以及如何规划测试范围和优先级。 2. **测试框架**:使用的自动化测试工具或框架,如JUnit、Selenium、Appium等。 3. **...
在实际的软件开发项目中,测试工程师需要根据项目的具体需求和测试资源,灵活地将这两种测试方法结合起来,以实现全面而有效的质量保障。 通过本次实验报告,我们不仅学习了软件测试的理论知识,而且通过实践活动,...