tms tck

使用软件规格非常困难。 不论在哪个地方提出; 您最终遇到了一个大问题:是否已实现所有指定的内容并对其进行了测试? 在瀑布驱动的方法学时代,这一直是一个问题,即使在撰写本文的今天,敏捷性和用户故事仍然不能保证您完美匹配。 如今,许多敏捷方法都与测试驱动开发甚至行为驱动开发概念完美地结合在一起,可以将问题颠倒过来。 而不是问“我的代码是否覆盖书面说明的每个句子?” 他们只是假设首先编写测试是获得所需覆盖率的有效方法。 不利的一面是缺乏容易发生的文档。 此外,您永远找不到合适的文档工作流程来将测试重构为一个文档。 如果您查看诸如“技术兼容性工具包”(TCK)之类的东西,这些东西本质上或多或少地从任何基于文档的书面规范中收集,那么对单个解决方案和项目可能有效的方法就结束了。

Java平台的TCK

深入探讨此类主题始终是使开发社区两极分化的一个不错的选择。 特别是因为文档仍然是一个话题,往往会被遗忘或完全拖延。 对我而言,文档是可能水平上的关键。 在框架级别,它确保您的用户不会挣扎,并且为快速采用奠定了良好的基础。 对我来说,Arquillian项目和团队在成立的第一年就做得非常出色。 即使在项目级别,也可以快速进出新团队成员而又不会失去知识。 但是还有另一个领域,不仅可以从中受益,而且与文档有很强的联系:Java TCK。 所有Java平台都将Java规范请求(JSR)定义为语言改进的要点。 技术兼容性套件(TCK)是一套测试套件,至少名义上检查Java规范请求(JSR)的特定所谓实现是否符合要求。 鉴于事实,大多数规范都存在于某些Office之类的文档中,并以PDF格式进行发布以进行审阅和评论,几乎不可能说TCK完全具有原始规范的定义范围。 这充其量是可怕的。 在大多数情况下,这很烦人,因为参考实现(RI)只是忘记覆盖规范的某些部分,而用户必须以特定的方式处理由此产生的错误或行为。 如果有可能的话。

这里只是有关TCK可用性的简短说明。 其中大多数截止到今天都还不可用,但要遵守许可条款和财务协议。 希望随着Java Community Process即将发生的变化而改变。

一些JBoss女神可以治愈文档

但是,一些聪明的人提出了解决方案。 几个RedHats付出了巨大的努力,这并不奇怪。 最初是作为hibernate-validator项目的一部分而创建的一个小项目,它是BeanValidation的RI,在这里可以解决这些问题。 未知且本身未作记录的jboss-test-audit项目本身称为“ TCK测试覆盖率报告的实用程序类”。 这完美地钉住了它。 它是对任何RI的非常轻量级但仍然强大的补充,它可以对特殊注释的源进行后处理,以收集任何旨在实施规范的项目的覆盖率报告。 它已获得Apache许可证2.0版的许可,您只需要很少的步骤就可以根据自己的设置运行它。 这一切都始于规范。 这是一个XML文档,它定义了不同的部分和必需的断言。

<specification><section id="1" title="Chapter 1 - Introduction"/><section id ="2" title="Chapter 2 - What's new"><assertion id="a"><text>A simple sample test</text></assertion>
</section>
</specification>

本文档是您测试的基础。 现在,您需要继续进行,并为所有测试配备相关的部分和断言信息。 看起来可能如下所示:

SpecVersion(spec = "spectests", version = "1.0.0")
public class AppTest {@Test@SpecAssertion(section = "2", id = "a")public void simpleTestForAssertion() {App app = new App();assertEquals(app.sayHello("Markus"), "Hello Markus");}

结合一点Maven魔术(Maven处理器插件),所有注释都将被解析,并且会生成一个有关总体覆盖率的报告。 如果您想查看完整的引导程序示例,请在github.com/myfear上找到它。

坚硬的零件

这显然是显而易见的。 在测试中添加一些注释并不是您做过的最难的事情。 真正困难的是将您的文档转换为该精美的审核xml格式。 有很多方法可以做到这一点。 鉴于事实,大多数领导JSR的公司都已采用某种硬核文档管理,这应该使它成为一生难忘的事情。 如果您使用的是Microsoft Word,则还可以使用可用的xml模式与它一起编写格式正确的文档(这很痛苦!不要这样做!)。

大量的想法

小实用程序类的工作相当好。 但是仍有很大的改进空间。 在此处具有一些支持性信息(例如问题编号或其他参考文献)可能是一个有效的想法。 我也希望能够在文档中使用asciidoc。 但是我在这里不是抱怨,因为我不会自己更改它。 但是,如果有人感兴趣,完整的内容在github.com上 ,我相信这些人知道社区的工作方式并接受贡献。

JCP的未来愿望

有了这种简单的方法,与JSR一起促进采用是一件好事。 因此,如果您喜欢它,可以与您信任的EC成员联系,并使他/她意识到这一点,并将其作为想法列入他们的清单。

参考: 法规遵从性文档–关于我们的JCG合作伙伴 Markus Eisele在有关Java的企业软件开发中的 TCK,规范和测试的信息。

翻译自: https://www.javacodegeeks.com/2013/06/documenting-compliance-about-tcks-specifications-and-testing.html

tms tck

tms tck_记录合规性–关于TCK,规格和测试相关推荐

  1. clk_tck_记录合规性–关于TCK,规格和测试

    clk_tck 使用软件规格非常困难. 不论在哪个地方提出: 您最终遇到了一个大问题:是否已实现所有指定的内容并对其进行了测试? 在瀑布驱动的方法学时代,这一直是一个问题,即使在撰写本文的今天,敏捷性 ...

  2. 记录合规性–关于TCK,规格和测试

    使用软件规格非常困难. 不论在哪个地方提出: 您最终遇到了一个大问题:是否已实施并测试了所有指定的内容? 在瀑布驱动的方法学时代,这一直是一个问题,即使在撰写本文的今天,敏捷性和用户故事仍然不能保证您 ...

  3. tms tck_在雅加达EE TCK中使用Arquillian的可能方法

    tms tck 最近,我们讨论了如何创建独立的Jakarta Batch测试套件(TCK). 对于大多数提交者而言,使用Arquillian将测试从实现中如何执行抽象化是很自然的. 但是Romain提 ...

  4. 谷粒商城P85问题记录—发布商品时规格参数不显示-2022/4/8

    谷粒商城P85问题记录-发布商品时规格参数不显示 这一p有2个问题,折腾了很久 问题1 :数据库表中不存在 valueType这个键 但是接口文档里是需要提供这个键(而且是不能为null) 所以需要: ...

  5. 【网络通信 -- 直播】SRS 实战记录 -- SRS 部署与直播效果测试

    [网络通信 -- 直播]SRS 实战记录 -- SRS 部署与直播效果测试 [1]SRS(Simple Realtime Server) 部署 SRS 代码下载 git clone https://g ...

  6. tms tck_两个用于Eclipse的TCK –开源到底有什么?

    tms tck 早在5月,Oracle就向Eclipse Foundation 授予了兼容性测试奖学金 . 在过去的几天里,这引起了媒体的关注,我只是想确保我对整个过程和详细动作有所了解. 看起来像是 ...

  7. tms tck_通过TCK许可条款对WebSocket JSR提出的担忧

    tms tck 在上个月提议将Websocket API包含在Java EE 7中之后, Java执行委员会EE / SE对JSR 356进行了投票,尽管他们投票赞成,但有关规范的TCK许可证仍然存在 ...

  8. sql左连接排序取第一个_详解kettle工具记录集连接功能及实验测试

    概述 今天主要介绍下kettle的记录集连接功能和一些注意点. 一.什么是记录集连接 记录集连接可以实现数据集合的关联,也分为内连接,左连接,右连接,外连接. 多表的join,可以直接用sql写入[表 ...

  9. 终于进了腾讯,记录一下我作为一名测试员磕磕碰碰的三个月找工作经历...

    我是裸辞后重新找工作的,从去年到今年,前前后后花了大概三个月,大大小小参加了几百场面试.不是我说,作为一名测试员是真的挺难的,不过很庆幸自己最后拿到了字节的offer,今天在这里做一下记录吧,分享一下 ...

最新文章

  1. 第三十课.向量胶囊与动态路由
  2. 【总结】有三AI秋季划图像质量组3月直播讲了哪些内容,为什么解决好底层图像处理问题那么重要...
  3. mysql 迁移表时忽略索引_Mysql迁移新环境索引损坏
  4. Windows下启动,关闭Nginx命令
  5. 使用 DateTimePicker 控件显示和选择时间
  6. Atitit 常见项目角色与职责 目录 1.1. 常见项目角色与职责 1 1.2. 解决问题思路:一般百度,问同事,问上一级 1 1.3. 解决问题时限:与跳过法 1 1.4. 解决方法,一般实
  7. 计算机运行黑屏显示器正常,详细教您电脑主机运行正常显示器黑屏怎么办
  8. 不同IP网段的PLC进行S7通信(PUT_GET)的具体步骤
  9. 机器人抓取(六)—— 抓取点检测(抓取位姿估计) gqcnn代码测试与解读
  10. 雨听 | 英语学习笔记(八)~作文范文:公务员考试的热潮
  11. Java学习手册:华为2020届校园招聘——软件题
  12. Java之旅--如何从草根成为技术专家
  13. animaton动画
  14. CST仿真实例001:圆极化平板天线仿真
  15. 如何将收件箱中的发件人批量导入企业云邮通讯录
  16. piwik服务器性能,piwik 大负载以及多域名监控隐藏piwik服务器原始域名解决方案...
  17. jae java_汇编里的JAE和JGE有什么区别?
  18. vscode php 添加代码跳转功能
  19. 微生物组-扩增子16S分析研讨会(参加线上直播课还可免费参加线下课 )
  20. svg弧线文本弧形文字

热门文章

  1. 动态规划练习1 [导弹拦截]
  2. Nacos(十二)之Java SDK
  3. Java面试常问计算机网络问题
  4. 分布式作业 Elastic Job 如何动态调整
  5. SSL / TLS 协议运行机制详解
  6. Java IO: Reader和Writer
  7. java嵌套类与内部类
  8. java中input表单中的type=date返回类型【切记】
  9. 青鸟IT汇微信公众号新增智能机器人
  10. C语言 立方体随鼠标转动,HTML5鼠标控制的旋转的立方体