动态测试及调试工具

一、         DT10介绍

DT10是一款自动化的软件测试及调试工具,无需依赖任何OS 和CPU,支持C/C++、Java、C#多种语言,用于动态测试和调试的工具,可对运行时目标程序进行长时间跟踪,适用于各个开发阶段。

DT10是动态测试工具中唯一能实现灰盒测试的工具。不只软件内部的测试,连同CPU周边的传感器 , 端口等硬件状态也都会和执行路径一起被验证,所以可以在同一个时间测试软件和硬件的整个运行过程。测试结果,会自动产生报告。开发者和QA的工作人员都能通过使用该工具提升产品质量,使得工作更为高效。

在DT10 软件的界面上,可以输入运行时间、周期时间、参数、变量的设计值。除了输入的设计值可以在同一个页面(一览表)做管理之外,还可以当作设计书被导出。这些设计值,将在测试过程中被使用,可以和目标板上实际测量值做对照,如出现与设计值有出入的状况,系统会有警告的讯息弹出,便可通过这样的警告掌握问题的状况。

非常适合对长时间运行的软件进行跟踪调试。因为可以取得并分析︰任务的变化、函数的周期时间、运行时间、覆盖率、变量值的变化,所以整个调试的效率会大幅提升。就连不容易重现的问题,只要能重现1次,也可以从跟踪数据里来分析原因。所以通过长时间运行测试及修正是非常高效的方式。

主要功能点:

<!--[if !supportLists]-->u  <!--[endif]-->不依赖操作系统和目标板CPU,支持任何处理器和嵌入式操作系统;

<!--[if !supportLists]-->u  <!--[endif]-->可支持C/C++, Java, C#语言的覆盖测试、性能测试、Bug定位调试;

<!--[if !supportLists]-->u  <!--[endif]-->与目标设备连接灵活多样。可支持直接通过网口,串口,GPIO,异步总线,SD卡,CAN总线等连接方式,特别是可直接通过网卡和串口直接连接目标设备,不用接飞线,大大增强了DT10的易用性和可支持的硬件环境多样性;

<!--[if !supportLists]-->u  <!--[endif]-->软硬件同步测试。DT10提供一个Analog Box的连接盒,可监控4路数字信号输出端口和2路模拟信号端口,可同步检测变量值,实时查看硬件信号输出端口和变量变化情况与软件执行情况,从而实施软硬件同步测试;

<!--[if !supportLists]-->u  <!--[endif]-->可长时间跟踪目标设备执行情况,最长可记录32天跟踪数据

<!--[if !supportLists]-->u  <!--[endif]-->回放调试功能,提供可视化的函数执行跟踪报告,便于进行Bug分析,尤其是难以重现的Bug或者是偶发性程序崩溃错误

<!--[if !supportLists]-->u  <!--[endif]-->动态覆盖率测试,提供系统测试覆盖率分析,支持语句覆盖率,分支覆盖率

<!--[if !supportLists]-->u  <!--[endif]-->性能测试,检测函数执行时间,周期时间,统计代码中任意两行语句间的执行时间,便于进行性能分析和评估

<!--[if !supportLists]-->u  <!--[endif]-->变量跟踪,跟踪程序真实执行过程中,变量值实时变化情况,并提供可视化图形报告

<!--[if !supportLists]-->u  <!--[endif]-->验证设计值,回归测试。DTPlaner可定义函数执行时间的设计值(期望值),变量的设计值(期望值),目标设备实时执行过程中,其执行时间或者变量值一旦超过设计值范围,将给出警告错误

<!--[if !supportLists]-->u  <!--[endif]-->CPU压力监测,多个任务的切换监控,各个任务所占用系统资源统计;

<!--[if !supportLists]-->二、         <!--[endif]-->DT10构成

主要版本:

<!--[if !supportLists]-->1.       <!--[endif]-->DT10 Hardware-In-Circuit version (硬件在线测试)

<!--[if !supportLists]-->2.       <!--[endif]-->DT10 Software-In-Circuit version (软件在线测试),

<!--[if !supportLists]-->3.       <!--[endif]-->Native version(主机平台测试

<!--[if !supportLists]-->三、         <!--[endif]-->技术参数:

<!--[if !supportLists]-->l  <!--[endif]-->无OS 和CPU 的限制,可以毫无限制的进行调试

<!--[if !supportLists]-->l  <!--[endif]-->可对运行时目标程序进行长时间跟踪,最长可连续跟踪32天

<!--[if !supportLists]-->l  <!--[endif]-->支持多种语言,包括C/C++/C#/Java代码

<!--[if !supportLists]-->l  <!--[endif]-->可针对函数的入口处/出口处/分支,自动插入测试点,也可以手动插入代码到任何位置

<!--[if !supportLists]-->l  <!--[endif]-->6种连接方式,客户可自行选择:异步总线连接,SD card I/F 连接,GPIO连接,Ethernet连接,CAN连接,UART连接。

<!--[if !supportLists]-->l  <!--[endif]-->通过函数跟踪功能,可透视执行路径。函数内部处理和中断状况发生时的相关详细执行路径,都可以借此图像显示。同时也可以比对源码,是一个既便利又具有直观性操作的功能

<!--[if !supportLists]-->l  <!--[endif]-->可取得硬件的状态(如︰电压)。可以把DT10当作示波器来使用,这样可以检测电压和逻辑。另外,变量值和任务变动也会在同一个页面显示,所以可以通过软件和硬件的跟踪结果,来确认软硬件配合是否有问题。

<!--[if !supportLists]-->l  <!--[endif]-->可长时间追踪变量值的变化。因为插入了用于导出变量值的测试点,所以会随着时间轴的变化,观察到变量值产生变化。可将多数的变量图像合并查看、也可以在同一个页面(一览表)显示各个变量的最大值和最小值。

<!--[if !supportLists]-->l  <!--[endif]-->可方便地掌握“进程占有率”。任务占有率可以通过图像显示,可以一目了然地看到任务中哪个部分负担较高。因为在那个时间点下,可以直接定位到实际处理位置,所以可知道到底是哪个执行路径发生问题,便可很方便地了解问题状况。

<!--[if !supportLists]-->l  <!--[endif]-->可方便获得“运行时间”和“周期时间”。所有函数的运行时间(最大,最小,平均时间等)都可在统计后显示出来。另外,也可以得到任意两点之间的“处理时间”报告,非常方便地发现跟现有设计值有差异的地方。

<!--[if !supportLists]-->l  <!--[endif]-->自动比较实际值和设计值。可预先设置期望的“运行时间”和“变数值”。在目标

<!--[if !supportLists]-->l  <!--[endif]-->板上实际执行后,可将“测试值”和“设计值”做比较。不仅可以很方便地发现程序代码中发生异常的地方。如果后续该项目开发下一个版本时也可以重复使用这些设计值。这可以使软件开发更有效率。

<!--[if !supportLists]-->l  <!--[endif]-->可透视“处理时间的波动”。如果使用“运行时间的长条图”,则可发现实际的处理

<!--[if !supportLists]-->l  <!--[endif]-->时间与设计值是否有差异。另外,也可以看到目标板上处理时间的变化(波动);因为能知道异常的处理时间,所以可提前发现/修正“与时间相关的潜在问题”。

<!--[if !supportLists]-->l  <!--[endif]-->可以获取集成/系统测试的覆盖率。可以得到语句覆盖率和分支覆盖率。对于集成测试和系统测试,都可以从用户角度进行常规测试即可获取覆盖率数据。

<!--[if !supportLists]-->l  <!--[endif]-->支持内存资源非常小的芯片,可在极小的目标环境上获取覆盖率,业界测试工具多半无法无法在极小资源的目标环境(如单芯片)上进行测试并获取覆盖率,DT10完全可以做到

<!--[if !supportLists]-->l  <!--[endif]-->通过Event测试点,可确认状态变化和顺序变化

<!--[if !supportLists]-->l  <!--[endif]-->可测量CPU的负荷情况,分析CPU的负荷测量数据,并且用图形化的方式,显示随时间轴变化的CPU负荷情况

<!--[if !supportLists]-->l  <!--[endif]-->测试报告自动生成,运行时间和覆盖率测量的结果,可以自动生成报告。对开发人员来说,不用花时间在做测试报告上,而可以更专注于开发。

有效提升新版本的测试效率,可以将测试点只插入在与前一个版本不同之处。如果和覆盖率测试组合,将有倍增的效果。有版本更新的状况下,可只测试更新的程序代码,使测试的程序代码量降到最低,这样会是最有效率的测试方式。

时间: 2024-10-12 21:21:16

动态测试及调试工具的相关文章

Python -- pdb调试工具

诗歌是一种忧郁的媒体,而诗人的使命是孤独的:     -- 北岛<时间的玫瑰> 学习是一首深邃的民谣,而我们的任务是享受他.     -- 小Q <20161203> ------------------------------------------------------------------------------------------------ 学c++时,老师教我们有gdb调试工具,在工作中会经常用到: 学shell时,经理让我见到了"-x"跟踪

Linux GDB程序调试工具使用简介

GDB概述 GDB是GNU开源组织发布的一个强大的UNIX下的程序调试工具.或许,各位比较喜欢那种图形界面方式的,像VC.BCB等IDE的调试,但如果你是在UNIX平台下做软件,你会发现GDB这个调试工具有比VC.BCB的图形化调试器更强大的功能.所谓"寸有所长,尺有所短"就是这个道理. 一般来说,GDB主要帮忙你完成下面四个方面的功能: 启动你的程序,可以按照你的自定义的要求随心所欲的运行程序. 可让被调试的程序在你所指定的调置的断点处停住.(断点可以是条件表达式) 当程序被停住时,

Linux下图形化调试工具: kdbg, ddd

在linux下调试确实是个很麻烦的事, 用gdb调试不怎么方便, 没有在windows下用vs爽, 主要原因还是因为gdb是用命令行形式, 其实在linux下也有一些基于gdb的图形化调试工具. 1. kdbg ubuntu下 直接 sudo apt-get install kdbg 即可安装. 若启动后出现 MNG error 11: Function is invalid at this point; chunk MHDR; subcode 0:0 错误, 那么就删除 /usr/share/

chrome插件 postman插件 接口测试、API &amp; HTTP 请求调试工具

Postman 是一个非常棒的Chrome扩展,提供功能强大的API & HTTP 请求调试. 它能够发送任何类型的HTTP requests (GET, HEAD, POST, PUT..),附带任何数量的参数+ headers. 支持不同的认证机制(basic, digest, OAuth),接收到的响应语法高亮(HTML,JSON或XML). Postman 能够保留了历史的请求,这样我们就可以很容易地重新发送请求,有一个“集合”功能,用于存储所有请求相同的API/域. 这个扩展还有一些更

【学习笔记】前端开发调试工具与PS切图技巧

[学习过程遇到疑问和延伸阅读] 1.Sublime Text 安装插件的方式 一开始以为直接安装.原来在安装丰富的插件之前,Sublime Text需要通过Package Control这个插件来管理.作为基础插件来管理其他的插件.安装成功之后在菜单栏Preferences下才会有Package Control. "Sublime Text 2 也拥有良好的扩展功能,这就是安装包(Package):通过 Sublime Package Control,安装.升级和卸载 Package 也变得轻松

nodejs、gulp调试工具node-inspector使用

俗话说欲善其功,必先利其器. 作为目前新型的Web Server开发栈倍受开发者关注的Nodejs来说,调试技术是学习开发的基石,所以对于开始学习Nodejs童鞋来说,Nodejs的调试工具使用是必不可少的,总的来说Nodejs的调试方法主要分类三类: 1.基于Nodejs内建的调试器 2.基于V8调试插件 3.基于Chrome浏览器的调试器. 至于使用哪一个作为Nodejs的调试工具,就要看你的选择了,作为一个用惯了chrome调试前端工程的前端开发人员来说,我还是倾向于基于Chrome浏览器

【Linux】GDB调试工具

GDB调试工具 Linux中包含一个很强大的调试工具GDB(GNU Debuger),可以用它来调试C和C++程序. 一. GDB的主要功能有: 设置断点,当程序运行到断点处暂停 显示变量的值,可以打印或者监视某个变量,将变量的值显示出来 单步执行,GDB允许用户单步执行程序,可以跟踪进入函数和从函数中退出 运行时修改变量的值,GDB允许在调试状态下修改变量的值,此功能在测试程序的时候特别有用 路径跟踪,GDB可以将代码的路径打印出来,方便用户跟踪代码 线程切换,在调试多线程的时候,此种功能是必

夺命雷公狗---微信开发14----用网页调试工具调试自定义菜单接口

这种方法也的确可以创建的了自定义菜单,但是还是不够智能,废话不多说,开干.. 我们在上一颗里面已经获取到access_token的值了 那么我们下一步就是要在手册里面找到 ---自定义菜单创建接口,然后啦到最底部 这里有一个网页调试工具调试该接口的A链接,点击进去后,我们将看到如下界面: 这里的access_token就是刚才获取到的那段值: 然后我们再手册里面找到 然后将他复制进body体里面即可实现自定义菜单的设置,成功后将会和下显示一样: 我们然后重新扫码尽心关注下公众号即可发现不同的地方

http调试工具Charles Proxy用法详解

Charles Proxy 通常称为Charles,Charles是目前最强大的http调试工具,在界面和功能上远强于Fiddler,同时是全平台支持,堪称圣杯级工具,不过在这里为您提供了Charles和谐版,欢迎下载使用! 软件名称: Charles 软件版本: 3.11 b4 软件大小: 60 MB 软件授权: 和谐版本 适用平台: WinXP/2003/Vista/Windows7/8 下载地址: http://www.veryhuo.com/down/html/98079.html 安装