一、黑盒测试,白盒测试和灰盒测试的区别:
1. 从测试目标和依据来说:黑盒面对的是产品设计,白盒针对的是程序功能的实现,灰盒针对兼而有之,既要考虑产品设计要求,又考虑到功能实现的效果。
2. 从实现者而言:黑盒在意的是客户的角度,白盒测试针对的研发人员。
3. 从测试模块颗粒度而言:白盒在意的是代码实现层面,而灰盒更加侧重模块之间,颗粒度大于白盒。
4.在版本层面上,白盒测试一般发生在debug版本,灰盒大多一般在release版本进行。
5.从测试效果而言,大量的bug在黑盒测试阶段测试出来,而白盒和灰盒测试的bug数目相对较少。
6.从耗时上来讲,在同等时间内,一般白盒和灰盒的耗时长,bug数量少,一般表现为时间产出比较低,很难大范围普及白盒。黑盒相对bug时间投入产出比较高。
黑盒入门较为容易,其次是灰盒,白盒入门门槛教黑盒高很多。
二、主要的验证方法:
动态仿真:该方式是通过测试序列和激励生成器给入待测设计适当的激励,随着仿真进程的推进,判断输出是否符合预期。(需要仿真器配合,查看比较结果和仿真波形)
静态仿真:通过工具辅助--->语法检查、语义检查、跨时钟域检查、形式检查。
虚拟模型
硬件加速
电源功耗
性能评估