黑盒测试和白盒测试的区别是什么?(从定义,测试方法,优缺点来区别)
黑盒测试:也叫功能测试,测试中把测试的软件当成一个黑盒子,不关心盒子内部结构是什么,对功能进行测试,观察软件的输入数据和输出数据是否和我们想要的一致。
白盒测试:白盒是指看到软件里面的源代码,基于代码进行测试,对代码里面的接口、数据结构、边界值、路径覆盖、错误处理等内容进行测试。
测试方法不同:
黑盒测试的测试方法有:等价类划分、边界值分析法、错误分析法、因果图法、
白盒测试的测试方法有:逻辑覆盖法、基本路径测试法、代码检查法、程序变异、静态结构分析法、静态质量度量法、符号测试法、
优缺点:
黑盒测试的优点:测试效率高、测试人员和开发人员是彼此独立的,从用户的角度来测试,很容易理解和接受
缺点:很多路径没有被测试到,不能直接对特定程序进行测试,程序段隐藏的错误很有可能不被发现。
白盒测试的优点:了解软件的具体实现代码,帮助软件人员增大代码的覆盖率,提高代码的质量,发现代码中隐藏的问题。
缺点:基于代码测试,系统开销庞大时,测试开销比较大,同时只测试开发人员写的对不对,可能漏掉一些功能需求,