黑匣子测试的优点如下。
比较简单,不需要知道程序内部的代码和实现
与软件的内部实现无关
从用户的角度,可以很容易地知道用户使用的功能和面临的问题
因为基于软件开发文档,所以还可以知道软件实现了文档中的哪些功能;
在进行软件自动化测试时很方便。
黑匣子测试的缺点如下。
不能覆盖所有的代码。 覆盖率很低,可能只达到总代码量的30%
自动化测试的复用性低。
白盒测试的优点如下。
帮助软件测试人员提高代码覆盖率,提高代码质量,发现代码中隐藏的问题。
白盒测试的缺点如下。
程序的执行有很多不同的路径,不能测试所有的执行路径
测试是基于代码的,开发人员只能测试正确的内容,无法知道设计的正确性,可能会漏掉一些功能需求;
如果系统庞大,测试开销将非常大。