~~路过公司内部知道,其实在最初进入测试行业是,这个问题是必须了解的;简单回答下我对他们的理解及区别;再说他们区别的时候,你首先需要了解什么是黑盒测试,什么是白盒测试。(也可参考百度百科 -白盒测试、黑盒测试)
1.什么是黑盒测试
黑盒测试定义,顾名思义看不到代码,代码封装在盒子里我们在盒子外面测试(根据产品设计实现一步一步进行测试);属于在程序前端接口进行测试。 行业中常说的功能测试、UI测试、、性能测试、接口测试等都属于黑盒测试范围。黑盒测试方法主要体现在输入、输出、用户业务、事件处理等;测试方法主要表现在测试用例设计方法上,常用的如 场景法、等价类、边界值、错误推测法、因果图法、正则表达法等。
2.什么是白盒测试
白盒测试指的是打开盒子,看到代码进行测试或者说是基于代码及代码的测试;一般有代码检查、逻辑覆盖两个方面;代码检查方面的测试方法有: 静态代码/动态代码检查分析,基本路径检查、域测试、符号测试、路径覆盖等;逻辑覆盖方面的测试方法有:语句覆盖、判定覆盖、条件覆盖、条件组合覆盖等。
3.黑盒与白盒 测试的区别
通过上面什么是白盒,什么是黑盒等测试;我们大致知道他们的不同;
1)测试对象不一样:黑盒测试的对象是程序的前端展示功能;白盒测试的对象是代码的检查、条件及逻辑的覆盖。
2)测试方法不一样:一个是关着盒子模拟用户进行体验式测试;另一个是对代码质量及逻辑进行测试。
3)使用阶段不一样:一般白盒测试是在单元测试阶段、提测准入阶段使用;二黑盒测试一般是在集成测试阶段使用。
ps:大致罗列了这3点,其他未考虑全面的地方欢迎补充指正。