断言着色

rainbow Assertion coloring 一致性测试开发涉及到确定在一个规范的说法,写一致性测试,检查连接确定的断言和测试,它测试的说法。
让我们从以下几点:
- 断言标记
- 实际的说法是很难查看规格(目前只有小的GIF断言在每个断言结束的)
- 完整的说法,只是通过阅读网页直接或寻找在每个单独的测试效果
- 断言开始是很难看到的html代码
- 提供一个可视化的方式来查看轻易断言是问题,我们正在努力解决。

主要的一点是要颜色的说法(规范文本本身)使用HTML标签。 研究了哪些HTML标签来使用。 科,跨度,表和字体标签被看着。 最好的解决办法是字体标签。 因此,与周围的文本字体标记。 字体标签的class属性对应的说法,类型。 铁如果是新的asserion它与红色,以表明,该测试需要书写,老断言色绿,表明测试已经存在。 应该有一个实用程序(脚本或Java程序)来扫描标明了规格,并自动添加着色所需的标签。文本的背景颜色将会由断言标题属性的颜色决定的。 这种方法和工程实施罚款。 对于可用性的目的,应该有一个机制来隐藏着色,铁一个javascript。

此解决方案的缺点是颜色是静态的,因为它是基于属性的标题。第二种办法是,该工具会检查一个身份证上的断言或在断言link基础测试(存在)。如测试存在,我们会做一些设置的这一说法的颜色。它可以像设置标题属性的简单。 阿该解决方案将是不利的说法着色将仍然静态的,而是当用户运行脚本的基础。

在给定的一个变化是,我们的解决方案将动态生成的覆盖面时,该规范是在浏览器中查看数据。 如果我们将确定一个考验,对一个给定的断言和色彩的说法相应的测试目录是否存在。 为此,可以通过一个JavaScript / VBScript中使用对象,允许访问文件系统。 这种方法将是动态的,应该始终拥有最新的断言覆盖状况。

下面是一些例子, JLS3章“转换及推广”和“接口”:

JLS3 colored Assertion coloring

JLS3 colored2 Assertion coloring

断言conv063,conv047,conv065,conv48,conv66和conv049从以前版本的规范,他们没有改变,并不需要更新测试 - 颜色是海蓝宝石(neurtal绿色)。 Conv155和conv156是新的,应制定新的考验,断言是明显的红色。 Conv064已更改,测试更新是必要的 - 橙色。 Annot019是一个新的,测试存在,但他们必须改变 - 鲑鱼的颜色。 Annot020是新的,但кудумфте测试存在 - 颜色浅绿色。

该规范着色的主要优点是,规范是可视化。 用户可以看到整个断言和它的标题。 一看就知道在规格,其中有与覆盖率低的部分或大量的测试,应添加或更改的区域。 基本上是有可能看到一个规范是如何好标记,以及如何以及它是经过测试。




  • 分享/书签
Print This Post 打印此职位

元数据标记

11 Markup metadata 元数据最简单的定义是,它是关于数据的数据。 元数据可能是非常有用的。 至于有一些元数据标记嵌入:身份证,小的断言描述,链接测试。 在标记转让我意识到有更多的元数据将是非常有益的。 在新版本的规格有几种的说法:


  • 不改变文本,测试不需要任何的改变;
  • oldToBeChanged:
    文字变成,测试确实需要改变;

  • totaly新的文本,需要新的考验;
  • newWritten:
    新的文本,但经过检查已经存在(因为测试开发过程就开始了可用的规范草案);
  • newWrittenToBeChanged:
    新的文本,测试存在,规范草案改变,所以测试需要改变的或现有的测试是不够的。

添加此类型的数据的标记,将大大简化今后的工作 - 测试开发。 因为仅仅通过一在规范人们很容易说,如果需要更多的测试应更新或几个断言期待。

在给定的标记结构是决定使用第二支柱)的标题属性1 - HREF标记(即。 因此,标记看起来像这样:

的<a name=assertionID> <! - HTML注释shord描述为- >
在这里断言声明
<img src="pics/assert.gif">的<a href="path到test" title=assertType>测试ID,这是相同的说法编号</一>

标题属性可以被看作在暗示,作为一个浏览器。

JLS3 html Markup metadata

JLS3 html code Markup metadata




  • 分享/书签
Print This Post 打印此职位

标记转移-恶梦或一块蛋糕呢?

train Markup transfer   nightmare or a piece of cake?
创造一种标记和开发测试整个过程非常耗时。 当它似乎工作完成后,一个新版本的规范发布。 接下来会发生什么? 当然有一个测试套件的新版本的需要。 必须编写新的考验和更新旧的,甚至删除。

最好的办法就是做标记。 这个任务可以分为两个子任务:

  • 从以前的旧规格转移到新的规格标记(这是必要的,因为很多测试已经写的,它们与规范标识的,重新使用一切可能的测试是一个好主意);
  • 标记新的和更新的说法。

转移的标记非常简单手工做它:

  1. 查找在旧规格标记标记。
  2. 在寻找新的规范版本的最好的地方插入的标记。
  3. 插入的标记。

如果只有10个说法 - 这工作是小菜一碟。 但如果有成千上万这是一个艰苦的工作,应该是自动的。 最难的是找到一个新的标记标签的适当场所。 很难仅仅因为该规范已更改。 对于JLS2到JLS3迁移过程中flollowing alrorithm被使用:

每个断言是圆的HTML锚。 他们都应该被转移使用这种算法。

轩的1T:如果某些标签被转移,有一个很大的可能性,在旧规范的下个标签将被转让后的一个位置。

提示2:算法应该检查,第二锚应在第一个,而不是从它的位置太远。

  1. 看文字前,后在旧规格的标签。 找到它的新规范。 如果其中一 72s Markup transfer   nightmare or a piece of cake? 没有改变 - 找到答案。 通常长度应1-2 sentances,至少60个字符长。 如果没有找到或几个sentances - 跳过此步骤。
  2. 尝试做相同的(1),但不久的文本中删除从周围的所有HTML标签的标签。 如果没有找到 - 跳过此步骤。
  3. 尝试采用算法,试图找到新的规格类似的文本。
    1。 使用步骤(1)及(2),但desrease在循环中的搜索文本的长度,直到森泰斯发现或长度太短。 实际工作表明,这个数字应不小于20。
    万桶 如果步骤(1)及(2)或(3A)发现了几个sentances增加文本的长度,以搜索,直到该文本是在新的规范或上限(铁140字)达到发现。 使用提示,找到最佳匹配的文字。

采用算法可以同时用于忽略的HTML标签和利用它们的优势。 算法的纯文本书面规格,HTML或XML有效。

该算法实施JLS2 -> JLS3标记传输工具。 84%的标记标签自动转移。 其余的人手工完成。




  • 分享/书签
Print This Post 打印此职位