揭秘白盒与黑盒测试之间的秘密!-干货整理

结合了工做经验,写出了这篇文章,全是干货和经验分享。用您5分钟时间阅读完,但愿能对您有帮助!程序员

白盒测试segmentfault

白盒测试(White-box Testing,又称逻辑驱动测试,结构测试),它是知道产品内部工做过程,可经过测试来检测产品内部动做是否按照规格说明书的规定正常进行,按照程序内部的结构测试程序,检验程序中的每条通路是否都有能按预约要求正确工做,而不顾它的功能。数据结构

对开发语言的支持:白盒测试工具是对源代码进行的测试,测试的主要内容包括词法分析与语法分析、静态错误分析、动态检测等。目前测试工具主要支持的开发语言包括:标准C、C++、Visual C++、Java、Visual J++等。工具

白盒测试的主要方法有逻辑驱动、基路测试等,主要用于软件验证。“白盒”法全面了解程序内部逻辑结构、对全部逻辑路径进行测试。“白盒”法是穷举路径测试。性能

软件的白盒测试是对软件的过程性细节作细致的检查。这种方法是把测试对象看作一个打开的盒子,它容许测试人员利用程序内部的逻辑结构及有关信息,设计或选择测试用例,对程序全部逻辑路径进行测试。经过在不一样点检查程序状态,肯定实际状态是否与预期的状态一致。所以白盒测试又称为结构测试或逻辑驱动测试。白盒测试主要是想对程序模块进行以下检查:单元测试

一、对程序模块的全部独立的执行路径至少测试一遍。
二、对全部的逻辑断定,取“真”与取“假”的两种状况都能至少测一遍。
三、在循环的边界和运行的界限内执行循环体。
四、测试内部数据结构的有效性,等等。测试

黑盒测试
定义:黑盒测试法把程序当作一个黑盒子,彻底不考虑程序内部结构和处理过程; 黑盒测试是在程序外部进行测试,他只是检查程序功能是否按照规格说明书的规定正常使用。黑盒测试又称功能测试。spa

软件的黑盒测试意味着测试要在软件的接口处进行。这种方法是把测试对象看作一个黑盒子,测试人员彻底不考虑程序内部的逻辑结构和内部特性,只依据程序的需求规格说明书,检查程序的功能是否符合它的功能说明。所以黑盒测试又叫功能测试或数据驱动测试。黑盒测试主要是为了发现如下几类错误:
一、是否有不正确或遗漏的功能?
二、在接口上,输入是否能正确的接受?可否输出正确的结果?
三、是否有数据结构错误或外部信息(例如数据文件)访问错误?
四、性能上是否可以知足要求?
五、是否有初始化或终止性错误?
0G海量软件测试相关资料,视频,工具等你来领设计

百度云获取资料点他👉连接: 提取码: esyd 指针

白盒与黑盒的区别
任何工程产品均可以使用如下两种方法之一进行测试。

黑盒测试:已知产品的功能设计规格,能够进行测试证实每一个实现了的功能是否符合要求。
白盒测试:已知产品的内部工做过程,能够经过测试证实每种内部操做是否符合设计规格要求,全部内部成分是否以通过检查。

白盒与黑盒的用处
初始测试集中在每一个模块上,保证源代码的正确性,该阶段成为单元测试,主要用白盒测试方法。
接下来是模块集成和集成以便组成完整的软件包。集成测试集中在证明和程序构成问题上,主要采用黑盒测试方法,辅之以白盒测试方法。
图片描述

静态测试

经过运行程序测试软件称为动态测试。
经过评审文档、阅读代码等方式测试软件称为静态测试。
在动态测试中,一般使用白盒测试和黑盒测试从不一样的角度设计测试用例,查找软件代码中的错误。
静态测试方法是指不运行被测程序自己,仅经过分析或检查源程序的语法、结构、过程、接口等来检查程序的正确性。对需求规格说明书、软件设计说明书、源程序作结构分析、流程图分析、符号执行来找错。
静态方法经过程序静态特性的分析,找出欠缺和可疑之处,例如不匹配的参数、不适当的循环嵌套和分支嵌套、不容许的递归、未使用过的变量、空指针的引用和可疑的计算等。
静态测试结果可用于进一步的查错,并为测试用例选取提供指导。

回归测试

是在程序有修改的状况下,保证原有功能正常的一种测试策略和方法。
大白话就是,咱们测试人员在对程序进行测试时发现bug,而后返还程序员修改,程序员修改后发布新的软件包或新的软件补丁包给咱们测试人员,咱们就要从新对这个程序测试,已保证程序在修正了之前bug的状况下,正常运行,且不会带来新的错误的这样一个过程。 通常状况下是不须要全面测试的,而是根据修改的状况进行有效的测试。
百度云获取资料点他👉连接: 提取码: esyd

软件的缺陷等级应如何划分?

1.致命错误,可能致使本模块以及其余相关模块异常,死机等问题;
2.严重错误,问题局限在本模块,致使模块功能失效或异常退出;
3.通常错误,模块功能部分失效;
4.建议问题,由问题提出人对测试对象的改进意见.

软件测试的阶段

通常来讲可分为单元测试,集成测试,系统测试,验收测试;

单元测试

是对软件中的基本组成单位进行的测试,如一个模块、一个过程等等。它是软件动态测试的最基本的部分,也是最重要的部分之一,其目的是检验软件基本组成单位的正确性。
单元测试是在软件开发过程当中要进行的最低级别的测试活动,在单元测试活动中,软件的独立单元将在与程序的其余部分相隔离的状况下进行测试,测试重点是系统的模块,包括子程序的正确性验证等。

集成测试

是在软件系统集成过程当中所进行的测试,其主要目的是检查软件单位之间的接口是否正确。
集成测试,也叫组装测试或联合测试。在单元测试的基础上,将全部模块按照设计要求,组装成为子系统或系统,进行集成测试。实践代表,一些模块虽然可以单独地工做,但并不能保证链接起来也能正常的工做。程序在某些局部反映不出来的问题,在全局上极可能暴露出来,影响功能的实现。测试重点是模块间的衔接以及参数的传递等。

系统测试

是将通过测试的子系统装配成一个完整系统来测试。它是检验系统是否确实能提供系统方案说明书中指定功能的有效方法。测试重点是整个系统的运行以及与其余软件的兼容性。
集成好的软件系统进行完全的测试,以验证软件系统的正确性和性能等知足其规约所指定的要求,检查软件的行为和输出是否正确并不是一项简单的任务,它被称为测试的“先知者问题”。

验收测试

是在向软件的购买者展现该软件系统知足其用户的需求。它的测试数据一般是系统测试数据的子集。

图片描述

以上建议仅供参考!【乐搏软件测试】【乐搏学院】若有侵权请联系删除

相关文章
相关标签/搜索