今天在测试固件中使用了一些可用的软件工具?

我是一名软件工程师,可以/可能被聘为固件测试工程师.我只是想了解一下在测试固件中使用的市场上可用的一些软件工具.你可以说明他们,并解释一下他们提供的固件类型的测试?提前致谢.
测试有多种形式,可以在不同的阶段进行.除了编写代码之外,设计验证除外,代码测试可以分为单元测试,集成测试,系统测试和验收测试(尽管确切的术语和阶段可能非常).在V模型中,这些将与需求和设计开发阶段水平对应.同样在开发和维护中,您可以执行回归测试 – 确保在应用其他更改时固定的错误仍然保持固定.

就工具而言,这些可以分为静态分析和动态分析.静态工具分析源代码而不执行,而动态分析涉及代码在执行过程中的行为.一些(昂贵的)工具执行“抽象执行”,这是一种静态分析技术,它确定代码在执行期间如何在实际执行中失败,但这种方法在计算上是昂贵的,但是可以比传统的动态分析处理更多的执行路径和可变状态.

静态分析的最简单形式是代码审查;让人看到你的代码.有一些工具可以帮助即使在这种表面上手动的过程,如SmartBear’s Code Collaborator.同样,最简单的动态分析形式是简单地逐步调试您的代码,甚至只是运行您的代码与各种测试场景.第一个可以由程序员在单元开发和调试期间完成,而后者更适合于验收或集成测试.

虽然代码审查能够很好地消除大量错误,特别是设计错误,但是在查找由编程语言的微妙或神秘语义引起的某些类型的错误时,效率也不是很高.这种错误适用于使用诸如Gimpel’s PC-Lint and FlexeLint toolsProgramming Research’s QA tools之类的静态分析工具的自动检测,尽管降低成本的方法,例如将编译器的警告级别设置为高,并且使用多个编译器进行编译也是有用的.

动态分析工具有许多形式,如代码覆盖分析,代码性能分析,内存管理分析和边界检查.

高端工具/供应商包括Coverity,PolySpace(抽象分析工具),Cantata,LDRAKlocwork.低端(价格,不一定有效)是PC-Lint和Tessy等工具,或甚至开源splint(仅限C),还有大量的unit testing tools

相关文章
相关标签/搜索