使用LDRA Testbed进行编译插装与动态分析
需积分: 49 32 浏览量
更新于2024-08-10
收藏 1.59MB PDF 举报
"LDRA Testbed 是一款用于软件测试和验证的工具,特别强调在静态和动态分析中的应用。本文档详细介绍了如何在Python核心编程(第二版)的背景下,使用LDRA Testbed进行编译插装后的代码分析,以获取白盒覆盖率报告。
在编译插装后的代码时,首先需要理解并非所有被测系统的源文件都需要被插装。用户可以选择插装一个或全部文件。为了逐步熟悉过程,建议从测试小部分文件开始,而非整个系统。插装后的代码可以在开发环境中编译,并在实际环境中运行,无需在Testbed中直接进行编译和执行。
插装后的代码在执行时,会生成一个历史文件,记录分支执行信息。在LDRA Testbed的动态分析设置中,需要指定这个历史文件的位置,以便进行动态覆盖率分析。手动替换原文件并执行测试用例后,可以在系统中找到历史文件,并在Testbed中配置分析。
在掌握了初步的手动过程后,可以转向自动过程。自动过程允许在不直接依赖于LDRA Testbed的情况下编译和执行插装后的文件,Testbed仅关注历史文件的处理。例如,对于VC++的编译环境,工具提供了自动化编译和执行的功能。
LDRA Testbed的使用还涉及编译器的配置,包括命令行安装、测试编译器是否正常以及针对不同编译器如VC++和Borland的特定设置。此外,Testbed提供了图形用户界面,包含菜单和快捷键,方便用户进行源代码分析,支持单个文件或多文件的分析,以及各种静态和动态分析选项,如静态数据流、交叉索引、信息流、数据对象分析和动态覆盖率分析。
通过动态分析,可以执行插装程序,选择相应的动态覆盖率选项,并观察执行结果。更深入的动态分析可能需要多次执行插装后的程序,以获取更全面的测试覆盖率。Testbed还支持以集(set)的方式组织和分析文件,便于批量处理和结果查看。
LDRA Testbed 是一个强大的工具,用于提升软件质量,确保代码符合特定的质量模型,并通过静态和动态分析提供详尽的测试覆盖率报告。用户可以通过手动和自动方式结合,逐步实现高效和全面的软件验证。"
551 浏览量
2021-01-26 上传
2011-07-29 上传
2008-02-24 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
郑天昊
- 粉丝: 41
- 资源: 3849
最新资源
- 掌握JSON:开源项目解读与使用
- Ruby嵌入V8:在Ruby中直接运行JavaScript代码
- ThinkErcise: 20项大脑训练练习增强记忆与专注力
- 深入解析COVID-19疫情对HTML领域的影响
- 实时体育更新管理应用程序:livegame
- APPRADIO PRO:跨平台内容创作的CRX插件
- Spring Boot数据库集成与用户代理分析工具
- DNIF简易安装程序快速入门指南
- ActiveMQ AMQP客户端库版本1.8.1功能与测试
- 基于UVM 1.1的I2C Wishbone主设备实现指南
- Node.js + Express + MySQL项目教程:测试数据库连接
- tumbasUpk在线商店应用的UPK技术与汉港打码机结合
- 掌握可控金字塔分解与STSIM图像指标技术
- 浏览器插件:QR码与短链接即时转换工具
- Vercel部署GraphQL服务的实践指南
- 使用jsInclude动态加载JavaScript文件的方法与实践