什么是静态分析?
静态分析不涉及被测软件的动态执行,并且可以在运行程序之前的早期阶段检测可能的缺陷。
静态分析在编码之后和执行单元测试之前完成。
静态分析可以由机器完成,以自动“遍历”源代码并检测不合规规则。经典的例子是一个编译器,它可以找到词汇,句法甚至一些语义错误。
静态分析也可以由审查代码的人执行,以确保使用正确的编码标准和约定来构建程序。这通常称为代码审查,由同行开发人员(编写代码的开发人员以外的人)完成。
静态分析还用于强制开发人员通过设置不得使用的规则来不使用编程语言的风险或错误部分。
当开发人员执行代码分析时,他们通常会寻找
代码行
评论频率
适当的嵌套
函数调用次数
循环复杂性
也可以检查单元测试
质量属性可以成为静态分析的重点:
可靠性
可维护性
可测性
可重用性
可移植性
效率
静态分析的优点是什么?
静态分析的主要优点是,在准备进行集成和进一步测试之前,它会发现代码存在问题。
静态代码分析的优点:
它可以在确切的位置找到代码中的弱点。
它可以由经过培训的软件保障开发人员进行,他们完全理解代码。
其他或未来的开发人员可以轻松理解源代码
它允许更快地转换修复
在开发生命周期的早期发现了弱点,降低了修复成本。
在以后的测试中减少缺陷
检测到使用动态测试不能或几乎检测不到的独特缺陷
无法访问的代码
可变使用(未申报,未使用
静态分析与软件测试中的动态分析
最新推荐文章于 2024-08-06 18:39:03 发布
静态分析在编码后、单元测试前进行,不涉及软件执行,能早期发现潜在缺陷,包括代码规范、复杂性和潜在风险。动态分析基于系统执行,常用于单元测试,能识别运行时漏洞。两者各有优势,如静态分析定位问题准确,动态分析能检测运行时行为,但也存在限制,如误报、漏报和时间成本。
摘要由CSDN通过智能技术生成