许多消息来源指出,自动静态代码分析包括数据流和控制流。但这两个测试也包括在白盒测试中。自动化有什么不同吗?在自动静态分析中,所有的工具都是由工具完成的,而在白盒测试中,一个人创建数据来执行可能的路径?
发布于 2012-11-11 05:11:31
静态分析和测试是不同的事情,并引出不同类别的问题。
使用黑或白盒测试,您可以使用输入来执行代码的一部分,等等,开发人员或测试人员认为这些部分很重要。您对开发人员/测试人员的测试用例设计的唯一真正的质量控制是代码覆盖。这并不能告诉你逻辑是否经过了正确的测试。
相反,静态分析是以一种不同的方式寻找问题;也就是说,通过分析代码独立于测试用例/数据所做的事情。通常情况下,他们会发现不同类型的问题,而开发人员/测试人员在发现这些问题时会花费较少的精力。例如,静态分析器可能识别死代码,或者通过单元测试无法找到的存储或资源泄漏,或者(在Java中)使用==
测试字符串的不安全实践。
简言之,这两种方法是相辅相成的。
https://softwareengineering.stackexchange.com/questions/175417
复制相似问题