写点什么

Flex、AIR、AS3 Flex 拥有代码覆盖率工具

  • 2008-05-08
  • 本文字数:1256 字

    阅读完需:约 4 分钟

上个月, Allurent 的 Joe Berkovitz 宣布了 Flexcover 初始试验版的发布,Flexcover 是一个针对 Flex、AIR 和 AS3 的开源代码覆盖率工具套件。

参与测试驱动开发(TDD)过程的Java 开发人员利用代码覆盖率已经有一段时间了,以此来度量程序源码有多少进行了测试。但对Flex 来说,这种功能还不可用。

Java 使用的代码覆盖率工具包括 Clover EMMA Cobertura NoUnit 。Windows.Net 开发人员则使用 Ncover Cover for .Net PartCover

为了对 Flexcover 试验版有更多的了解,InfoQ 对 Berkovtz 进行了采访,Berkovtz 解释道:

Flexcover 包含 AS3 编译器的修改版本,该修改版本在 SWF 或 SWC 输出文件的代码中插入了额外的函数调用。运行时,这些函数调用把应用代码覆盖率的相关信息发送给一个单独的工具。修改后的编译器也生成一个单独的覆盖率元数据文件,该文件描述所有可接受的包、类、函数、代码块和代码行,以及与之关联的源码文件的名称。

Berkovitz 回顾了 Flexcover 的发展历史,说:

我认为测试是软件开发的一个基本方面,代码覆盖率则是衡量一个人测试质量的关键工具。代码覆盖率回答了一个更要的问题:“在测试时,我们的代码有多少被执行到了?”

对于其它语言,我都用代码覆盖率工具得到了很好的效果,但还没有 Flex 可用的工具,对此我感到很沮丧。有一天早晨我醒来,意识到由于 Flex 编译器已经开源,对其进行修改、给它产生的 SWF 字节码添加覆盖率测量功能会行得通。果不其然,这并不是很困难,因为我过去从事过编译器和代码生成器的工作。

据 Berkovitz 所说,Flexcover 的设计主要出于以下目的:

  • 实时获取和查看 AS3 应用程序的覆盖率信息
  • 容易、迅速地识别出低覆盖率区域
  • 保存覆盖率信息报告
  • 查看保存的覆盖率报告
  • 既能从自动测试、又能从手动测试收集覆盖率数据
  • 逐项进行分析

在开发 Flexcover 的过程中,Berkovitz 仔细地研究了用于其它语言的现存代码覆盖率工具。他特别提到:“我查看了大量 Java 的开源覆盖率工具,包括 Emma Covertura ,以及这些工具显示信息的方式。接着,我试着去超越它们,并添加了相关的覆盖率功能,所以你在测试应用的时候能根据覆盖率观察到源码修正。”

Berkovitz 表明 Flexcover 的结构由三部分组成:

  1. 一组用 Java 编写的 ActionScript 编译器的修改。结果是一组修改过的 Java 库,支持 mxmlc 和 compc,带有代码覆盖率的附加选项。
  2. 一个运行时 ActionScript 库,用于测试时收集应用中的数据并输出。
  3. 一个 AIR 应用,用来读取被测试应用输出的数据。

Berkovitz 并不是孤军奋战。Adobe 咨询公司的 Alex Uhlmann 也一直致力于一组关于代码覆盖率的想法,他将合作参与到 Flexcover 以后的版本中。Berkovitz 和 Uhlmann 目前正一起处理一些新的用户体验意见。

当被问及 Adobe 的参与情况时,Berkovitz 告诉 InfoQ 的读者:“我不能对 Adobe 进行的任何事情加以评论,但我知道他们对代码覆盖率很感兴趣,Flex 技术的团队成员也正在积极思考如何去支持它。他们对 Flexcover 的进展也大有帮助。我很感谢他们!”

查看英文原文: Flex, AIR and AS3 Flex Gain Code Coverage Utilities

2008-05-08 12:111547
用户头像

发布了 151 篇内容, 共 69.6 次阅读, 收获喜欢 18 次。

关注

评论

发布
暂无评论
发现更多内容

TikTok直播可能遇到的问题以及解决方案

Ogcloud

TikTok Tik Tok tiktok运营 tiktok直播

流水线 YAML 高级用法来了!大幅降低重复代码、灵活编排多任务

阿里巴巴云原生

阿里云 云原生 yaml

流水线 YAML 高级用法来了!大幅降低重复代码、灵活编排多任务

阿里云云效

阿里云 云原生 云效

组织架构图如何制作?用这个AI绘图软件一键生成!

彭宏豪95

人工智能 在线白板 AIGC 绘图软件 组织架构图

云桌面的三大基本架构

青椒云云电脑

桌面云 云桌面 云桌面解决方案

关于spring与springmvc整合

伤感汤姆布利柏

选云桌面厂家,该怎么挑?

青椒云云电脑

云桌面 云桌面厂家

软件测试学习笔记丨黑盒测试-等价类划分

测试人

软件测试 测试开发 测试用例 黑盒测试 等价类

VMware 网络连接的几种方式

玄兴梦影

虚拟云桌面是否适合部署在学校机房

青椒云云电脑

云桌面 虚拟云桌面系统

HUAWEI Pura 70系列搭载HarmonyOS 4.2,玩转小艺AI智慧体验!

极客天地

桌面虚拟化的技术架构全解析

青椒云云电脑

桌面云 云桌面 云桌面解决方案 虚拟云桌面系统

微创软件荣获"SSCL金链奖----优秀数字化转型奖"

财见

碳课堂|ISO 14064-3 温室气体核查规范与指南

AMT企源

双碳 碳管理 ISO 14064

前端面试题 - vue的双向绑定原理是什么?

Geek_fed966

百度百舸 AIAK-LLM 的大模型训练和推理加速实践

百度Geek说

百度 大模型 企业号 5 月 PK 榜 企业号2024年5月PK榜

桌面云服务是什么?桌面云服务厂家推荐

青椒云云电脑

桌面云 云桌面 云桌面厂家 桌面云服务

软件测试学习笔记丨Pytest编写插件—为第三方插件添加命令行参数

测试人

软件测试 自动化测试 测试开发 pytest

线上展厅怎么做?如何打造一个成功的线上展厅?

点量实时云渲染

云渲染 实时云渲染 3D实时云渲染 线上展厅 数字展厅

字节跳动打响大模型价格战;苹果将在 iPhone、iPad 上推出眼球追踪功能丨 RTE 开发者日报 Vol.205

RTE开发者社区

科普:DO-178B

DevOps和数字孪生

航空航天 DO-178B

云桌面部署注意事项

青椒云云电脑

桌面云 云桌面 云桌面解决方案

学校选择云桌面厂家需要考虑哪些因素?

青椒云云电脑

云桌面 云桌面厂家 云桌面系统

5月21日相聚上海张江!与文心大模型一起共建大模型产业应用生态圈

飞桨PaddlePaddle

百度 飞桨 大模型 文心一言 文心中国行

容器内存可观测性新视角:WorkingSet 与 PageCache 监控

阿里巴巴云原生

阿里云 云原生 可观测

CSS布局概念与技术教程

不在线第一只蜗牛

CSS 前端 布局

桌面虚拟化的技术架构全解析

青椒云云电脑

桌面云 云桌面 云桌面解决方案 虚拟云桌面系统

蜗牛游戏宣布2024年第一季度财报业绩

财见

Flex、AIR、AS3 Flex拥有代码覆盖率工具_Java_Moxie Zhang_InfoQ精选文章