zoukankan      html  css  js  c++  java
  • 动态测试及调试工具

    一、         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]-->测试报告自动生成,运行时间和覆盖率测量的结果,可以自动生成报告。对开发人员来说,不用花时间在做测试报告上,而可以更专注于开发。

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

  • 相关阅读:
    9.11 eventbus
    9.10,,,实现new instanceof apply call 高阶函数,偏函数,柯里化
    9.9 promise实现 写完了传到gitee上面了,这里这个不完整
    9.5cors配置代码
    9.5 jsonp 实现
    9.5 http tcp https总结
    9.3 es6 class一部分 and es5 class 发布订阅
    8.30 cookie session token jwt
    8.30vue响应式原理
    warning: LF will be replaced by CRLF in renard-wx/project.config.json. The file will have its original line endings in your working directory
  • 原文地址:https://www.cnblogs.com/lichongjie/p/4458694.html
Copyright © 2011-2022 走看看