知识卡片
白盒测试与黑盒测试及测试的局限性
内容
测试无法穷尽一个复杂程序里所有可能的执行路径,因此软件工程发展出两条互补的策略提高有限测试发现错误的概率:白盒测试依赖对软件内部结构的了解来设计测试用例,比如基本路径测试保证每条语句至少执行一次,或依据帕累托法则(一小部分模块往往集中了大部分缺陷)把测试资源重点投向最容易出问题的模块;黑盒测试完全不关心内部实现,只从用户视角检验软件的输入输出是否符合预期,边界值分析(专门测试数据范围的边界而非中间值)和交给真实用户使用的 β 测试都属于这一类。发散:白盒和黑盒测试对应的是[[测试无法证明正确性,只能证伪]]这条原则下的两种不同”押注”策略——白盒测试押注”了解内部结构能帮你猜中哪里更可能藏着 bug”,黑盒测试押注”不管内部怎么实现,用户真正在意的只是外部行为对不对”,两者都不能证明程序绝对正确,只能不同程度地提高对正确性的信心。
参考来源
《计算机科学概论》第7章《软件工程》