
白盒测试,也称结构测试或逻辑驱动测试,是依据程序内部逻辑结构相关信息,设计或选择测试用例,对程序所有逻辑路径进行测试的方法。测试人员将程序视为一个打开的盒子,通过检查程序内部动作是否按照设计规格说明书的规定正常进行,检验程序中的每条通路是否都能按预定要求正确工作。路径覆盖方式是白盒测试中的一种逻辑覆盖方式,要求选取足够多测试数据,使程序的每条可能路径都至少执行一次,若程序图中有环,则每个环也至少经过一次。
黑盒测试,也称功能测试,是不考虑程序内部结构和内部特性的测试方式。测试者将程序视为一个不能打开的黑盒子,在程序接口进行测试,只检查程序功能是否按照需求规格说明书的规定正常使用,程序是否能适当地接收输入数据而产生正确的输出信息。黑盒测试主要针对软件界面和功能进行测试,以用户的角度,从输入数据与输出数据的对应关系出发进行测试。
尽管黑盒测试能够有效检测程序的外部特性,但若外部特性本身存在问题或规格说明有误,这种方法无法发现。白盒测试通过检查程序内部动作,可以发现一些黑盒测试无法发现的问题。路径覆盖方式是白盒测试中的一种方法,通过确保程序中的每条通路至少执行一次,可以提高测试的全面性和有效性。
白盒测试与黑盒测试各有侧重,白盒测试更关注程序内部逻辑,而黑盒测试则侧重于程序的功能和外部表现。在实际测试中,结合使用这两种方法,可以更全面地发现和修复程序中的问题。
参考资料:软件工程导论(去年学的,借此机会复习下)