51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

手机号码,快捷登录

查看: 4597|回复: 2
打印 上一主题 下一主题

[原创] 嵌入式软件自动化测试工具 —— VectorCAST (1)

[复制链接]
  • TA的每日心情
    开心
    2017-7-24 13:27
  • 签到天数: 160 天

    连续签到: 1 天

    [LV.7]测试师长

    跳转到指定楼层
    1#
    发表于 2015-7-1 15:34:19 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
    、功能和性能指标       创提信息科技的 VectorCAST™ 是主要用于对C/C++/Ada程序进行软件自动化测试,并能够在Windows和Linux等多种开发环境下运行。其主要功能包含自动化的单元测试、集成测试、覆盖率分析、回归测试、代码静态分析和测试需求跟踪,它最大特点或相比于其它相关同类工具最大的优势,就在于能够实现最大程度的自动化更适用于嵌入式环境。以下分别予以阐述:·        单元测试
           VectorCAST 会根据被测代码和开发环境自动构建测试架构(Test Harness),在此基础上用户可以根据需要自动地生成或添加测试用例,并灵活地配置以实现不同的测试需求。自动生成的架构中包括:被测对象、测试驱动、桩函数和依赖条件。如下图1所示。
    图1. VectorCAST自动构建的测试架构
    Ø  自动生成测试用例
           VectorCAST 支持用户以多种形式的输入输出参数自动地生成测试用例,不需要用户编写测试代码,完全通过鼠标和输入窗口即可自动完成:
    • 最大值、最小值和中间值
    • 二进制、十进制、八进制和十六进制数值
    • 输入参数范围
    • 多个参数自动排列组合及配对
    • 等价类划分
    • 输入值列表
    • 期望输出值列表
    • 期望值容错误差范围
    • 从外部数据源,如xlc, csv 等,中导入测试用例参数
    图2:测试用例输入输出值编辑窗口
           VectorCAST 可以根据不同的覆盖率的算法分析测程序逻辑,自动地生成满足不同覆盖率要求的测试用例,以尽可能地达到覆盖率要求。对于未能覆盖的部分,用户可以根据工具提供的逻辑分析报告,如基本路基逻辑和MC/DC 等价类矩阵,用户按照分析结果提示的参数条件额外添加少量测试用例即可达到100%的覆盖率(参见下图3)。
    • 基本路径覆盖自动生成用例通常可以自动达到90%100%的覆盖率
    • MC/DC覆盖自动生成用例覆盖率视测代码实际情况而定
    图3:MC/DC等价类分析矩阵
    Ø  桩函数
           被测函数所调用的其它函数可以通过形式被执行,被调函数本身或桩函数。从全部调用实际函数到全部由桩函数替代,用户可以根据自己需要灵活设定需要打桩的对象。VectorCAST 可以支持添加不同输入输出的桩函数,简单的如int, float, double, char 等基本类型变量,也可以支持非常复杂的结构或对象变量。重要的是,这些桩函数基本都只需GUI 操作即可完成,一般不需要人工编写测试代码。
    Ø  测试用例的执行
           VectorCAST 对测试用例的执行方式采用真正的数据驱动方式(Data-Driven),所谓数据驱动,就是指测试用例数据只有在测试用例执行的时候才会被读取,而不会随测试代码、桩函数和测试驱动等等一起构建到最终的执行程序中。这样的好处是1)构建和执行速度快;2)当被测对象未变动的情况下,对测试用例的输入输出参数进行修改,测试用例不需要重新编译构建。
    Ø  测试结果验证
           测试用例执行完之后,VectorCAST 除了能对被测单元的实际return值进行断言以外,包括简单类型和覆盖结构体,还可以对它依赖关系中的变量结果值或其成员变量进行验证,报告TrueFalse 断言结果。
    Ø  复杂度分析
           测试用例执行结束之后,VectorCAST 会统计相关程序的圈复杂度,并自动生成报告。如下图4所示。
    图4:VectorCAST 圈复杂度分析报告

    Ø  测试报告
           测试结束后,VectorCAST 自动生成详细的测试报告,包括所有测试用例、测试用例输入输出数据、断言结果、程序度量分析结果、不同覆盖率报告和MC/DC 等价类分析矩阵。
    ·        集成测试
           VectorCAST 除了测试单个函数或单元以外,还可以用于模块集成测试,不同模块直接的接口调用是否正确。主要体现在:
    • 通过集成不同单元的测试用例,任意组合其执行顺序和执行次数,以达到集成测试多个单元的目的
    • 通过测试用例让多个单元实际调用其它单元,以验证相互调用接口的执行结果
    • 直接根据头文件生成测试用例,测试源码未可见的库函数的接口及功能
    ·        对嵌入式环境的支持
           测试用例可以在主机(Host),模拟器(Simulator)或目标板(Target)上执行,并收集测试结果在主机平台统一查看。对于嵌入式环境,可以通过目标板特有的通讯条件,如串口、以太网口、JTAG 或调试器等实现测试结果到主机的传输。
           VectorCAST支持近百C/C++嵌入式交叉编译器和60多种Ada嵌入式编译器。广泛适用于航空航天,国防军事相关的研发环境。
    ·        覆盖率分析
         统计多种覆盖率。VectorCAST的覆盖率分析功能可以统计多种测试覆盖率,包括语句覆盖(Statement)、分支覆盖(Branch)和MC/DC 覆盖。并通过在原代码中以颜色和数字标注、百分比率和综合详细的报告等不同方式显示。如下图5所示。


    图5:VectorCAST覆盖率统计报告
           综合多种覆盖率数据。VectorCAST 可以集中显示多次测试、不同测试的测试覆盖率结果,包括单元测试、集成测试、系统测试、C/C++程序覆盖率和Ada覆盖率的覆盖率都可以综合地显示在一个报告中。这样即使分别执行测试用例,也可以获的统计叠加的覆盖率结果。在覆盖率要求严格的项目中尤为有用。
           自动录制动画回放程序覆盖的路径。VectorCAST 可以记录测试用例执行过程中被测代码的执行路径,并支持用户播放、暂停和设定断点等方式进行查看。这样用户可以直观地了解被覆盖的代码是如何覆盖的,没有覆盖的代码为什么没有覆盖到,从而准确地添加测试用例,提高覆盖率。
    ·        回归测试
           强大的回归测试功能,VectorCAST 能集中管理全部的C/C++和Ada 程序的测试环境和测试驱动,通过GUI 或命令行的方式定期地运行,从而根据测试用例的执行情况及时地发现代码中“意外引入的错误”,保证测试过的代码和新增代码质量的持续稳定。

    file:///C:%5CUsers%5Cyvonne%5CAppData%5CLocal%5CTemp%5Cmsohtmlclip1%5C01%5Cclip_image008.jpg
    图6:VectorCAST回归测试结果
    具体地,VectorCAST 的回归测试功能有如下特点:
    •     集中管理测试用例
    •     提供整个工程每日的质量报告
    •     支持敏捷开发
    •     可以方便运行在不同版本的源码库上
    •     支持命令行和GUI
    •     支持多台机器分部运行
    •     统计测试用例执行时间
    •     提供可视化图表和趋势图
    •     便于掌控整个项目的质量和进度
    待续。。。


    本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?(注-册)加入51Testing

    x
    分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    收藏收藏1
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2015-8-21 08:47
  • 签到天数: 3 天

    连续签到: 1 天

    [LV.2]测试排长

    2#
    发表于 2015-8-19 09:01:38 | 只看该作者
    弱弱的说一句,这个工具这么强大,那么是不是意味着以后的测试工作可以减少很多了,总感觉测试就像是鸡肋。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-7-24 13:27
  • 签到天数: 160 天

    连续签到: 1 天

    [LV.7]测试师长

    3#
     楼主| 发表于 2015-10-21 10:06:32 | 只看该作者
    使用自动化工具进行测试是一种趋势吧,不仅解放劳动力,还能大幅提高测试和开发效率,而且配置和性能比较好的工具会比人工测试更全面、客观、可靠。
    尤其是汽车电子、工业控制、轨道交通、医疗设备、航空军工等一些对安全性和可靠性要求比较高的行业,代码本身就比较多,比较复杂,如果单单靠测试人员人工完成测试,不仅工程量巨大,费时费力,而且也不能保证每行代码、每个功能都测到,但是有些事情工具就能轻松做到。
    回复 支持 反对

    使用道具 举报

    本版积分规则

    关闭

    站长推荐上一条 /1 下一条

    小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

    GMT+8, 2024-11-11 00:17 , Processed in 0.067589 second(s), 24 queries .

    Powered by Discuz! X3.2

    © 2001-2024 Comsenz Inc.

    快速回复 返回顶部 返回列表