黑盒测试和白盒测试的区别是什么
一、测试方式不同
1、黑盒测试:功能测试,是通过测试来检测每个功能是否都能正常使用。
2、白盒测试:称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。
二、测试目的不同
1、黑盒测试:把程序看作一个不能打开的黑盒子,在完全不考虑程序内部结构和内部特性的情况下,在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。-黑盒测试和白盒测试的区别
2、白盒测试:通过检查软件内部的逻辑结构,对软件中的逻辑路径进行覆盖测试。在程序不同地方设立检查点,检查程序的状态,以确定实际运行状态与预期状态是否一致。
三、测试原则不同
1、黑盒测试:以用户的角度,从输入数据与输出数据的对应关系出发进行测试的。很明显,如果外部特性本身设计有问题或规格说明的规定有误,用黑盒测试方法是发现不了的。
2、白盒测试:一个模块中的所有独立路径至少被测试一次。所有逻辑值均需测试true和false两种情况。
什么是黑盒测试和白盒测试
软件测试按照测试技术划分可以有:黑盒测试,白盒测试,灰盒测试
黑盒测试又叫功能测试
1.软件黑色盒子,里边的实现,看不见代码
2.输入,输出结果---功能测试的方法
这是因为在黑盒测试中主要关注被测软件的功能实现,而.不是内部逻辑。
在黑盒测试中,被测对象的内部结构,运作情况对测试人员是不可见的,测试人员主要是验证系统功能与需求的一致性。
在绝大多数没有用户参与的黑盒测试中,最常见的测试有:功能性测试、容量测试、安全性测试、负载测试、恢复性测试、标杆测试、稳定性测试、可靠性测试等。
在我们软件测试行业中最常见的还是功能测试,考察个人对需求的掌握度和软件工程的基本知识。
白盒测试
1.白色透明的黑子;代码实现,功能逻辑;
2.开发--看代码---单元测试
是一种测试用例设计方法,在这里盒子指的是被测试的软件,白盒,顾名思义即盒子是可视的,你可以清楚盒子内部.的东西以及里面是如何运作的,因此白盒测试需要你对系统内部的结构和工作原理有一-个清楚的了解,并且基于这个知识来设计你的用例。-白盒测试
白盒测试技术一般可被分为静态分析和动态分析两类技术。
白盒测试优点:迫使测试人员去仔细的思考软件的实现;可以检测代码中的每条分支和路径;揭示隐藏在代码中的错误;对代码的测试比较彻底,最优化。
白盒测试缺点:无法检测代码中遗漏的路径和数据敏感性错误;不验证格式的正确性。
灰盒测试(补充)
1.介于白盒黑盒两者之间
2.了解实现流程逻辑,不需要知道具体代码
3.接口测试---使用方法
白盒测试和黑盒测试往往不是决然分开的,一般在白盒测试中交叉使用黑盒测试的方法,在黑盒测试中交叉使用白盒测试的方法。
最常见的灰盒测试是集成测试
白盒测试有几种方法
一般可分为:静态分析和动态分析两种方法。
白盒测试又称结构测试、透明盒测试、逻辑驱动测试或基于代码的测试。白盒测试是一种测试用例设计方法,盒子指的是被测试的软件,白盒指的是盒子是可视的,你清楚盒子内部的东西以及里面是如何运作的。
“白盒“法全面了解程序内部逻辑结构、对所有逻辑路径进行测试。“白盒“法是穷举路径测试。白盒测试并不是简单的按照代码设计用例,而是需要根据不同的测试需求,结合不同的测试对象,使用适合的方法进行测试。
白盒测试用例设计的一个很重要的评估标准就是对代码的覆盖度。白盒测试中常见的覆盖方法有六种:语句覆盖、判定覆盖、条件覆盖、判定/条件覆盖、组合覆盖和路径覆盖。下面我们就分别看看这几种不同的覆盖吧。
语句覆盖(StatementCoverage)主要特点:语句覆盖是最起码的结构覆盖要求,语句覆盖需要选择足够的测试用例,使我们设计出来的测试用例要保证程序中的每一个语句至少被执行一次。
优点:可以很直观地从源代码得到测试用例,无须细分每条判定表达式。缺点:由于这种测试方法仅仅针对程序逻辑中显式存在的语句,但对于隐藏的条件和可能到达的隐式逻辑分支,是无法测试的。