动态测试及调试工具

1、         DT10介绍异步

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

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

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

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

 

主要功能点:ui

<!--[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]-->2、         <!--[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]-->3、         <!--[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]-->测试报告自动生成,运行时间和覆盖率测量的结果,能够自动生成报告。对开发人员来讲,不用花时间在作测试报告上,而能够更专一于开发。

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

相关文章
相关标签/搜索