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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/348261.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

3D环动画css3实现,CSS3 3D酷炫立方体变换动画的实现

我爱撸码&#xff0c;撸码使我感到快乐&#xff01;大家好&#xff0c;我是Counter&#xff0c;本章微博主要利用了CSS3的一些新特性&#xff0c;主要用到关键帧来使3D图形运动起来&#xff0c;涉及到了一些抽象的思想&#xff0c;立体的想象。先给大家看看完成的效果&#xff…

Spring项目的按层打包已过时

我认为Spring应用程序不应该以逐层方法构建。 在我看来&#xff0c;按功能打包更有意义。 首先&#xff0c;让我简要描述每种方法。 “按层打包”&#xff08;在非Java世界中为“按类型折叠”&#xff09; 该项目结构根据源代码文件所属的体系结构层将它们分为包/目录&#x…

css怎么控制两个字母,css英文字母数字自动换行且不断词方法

本文章来给各位同学介绍css怎样让英文字母数字自动换行且不断词方法总结&#xff0c;有需要了解的同学可进入参考。当一个定义了宽度的块状元素中填充的全部为纯英文或者纯数字的时候&#xff0c;在IE和FF中都会撑大容器&#xff0c;不会自动换行并且当数字或者英文中带有汉字时…

nmap 查看服务器版本信息,nmap命令-nmap命令扫描服务器信息的格式

用这条命令就可以扫描出目标网络的操作系统和开放端口号nmap-O...0/24上面的扫描信息直接输出到终端&#xff0c;如果想把结果写到文件里&#xff0c;可以用-oN&#xff0c;-oX选项输出到文本文件或xml文件。nmap-O...0/24-oXnmap_info.xml&#xff0c;结果会输出到XML文件&…

java构造函数内部调用_具有内部类构造函数参数的Java Reflection奇数

java构造函数内部调用关于Java内部类 Java允许成员类&#xff08;在其他类内定义的类&#xff09;&#xff0c;局部类&#xff08;在语句块内定义的类&#xff09;和匿名类&#xff08;无名称的类&#xff09;&#xff1a; class Outer {Object anonymous new Object(){}; //…

Java的新视差控件(JavaFX)

介绍 视差是一种视觉效果&#xff0c;您可以组合以不同速度移动的两个分层图像以获得深度感。 想想一下&#xff0c;当您在道路上行驶时&#xff0c;您会看到附近的树木在快速移动&#xff0c;而距离较远的树木将沿相同的方向移动&#xff0c;但速度较慢&#xff0c;结果是您感…

ajax提交file空指针,excel导入上传文件报空指针错误

页面入口全选导入导出${msg[globals.button.delete.more]}导出jsfunction excelImport() {top.layer.open({type: 1,area: [500, 300],title:"导入数据",content:$("#importBox").html() ,btn: [下载模板,确定, 关闭],btn1: function(index, layero){windo…

mockito 静态方法_Mockito –带有注释和静态方法的额外接口

mockito 静态方法在代码中&#xff0c;我最近遇到了一段非常糟糕的代码&#xff0c;该代码基于对对象执行某些操作的类转换。 当然&#xff0c;代码需要重构&#xff0c;但是如果您首先没有对该功能进行单元测试&#xff0c;则有时您可能无法做到/或者不想这样做&#xff08;这…

手机推送信息到本地服务器,服务器信息推送到手机

服务器信息推送到手机 内容精选换一换服务器的计费方式为“包年/包月”&#xff0c;如果在计费周期内不想再继续使用&#xff0c;请参考本节指导进行退订。执行退订操作前&#xff0c;请确保待退订的服务器数据已完成备份或者迁移&#xff0c;退订完成后资源将被完全删除&#…

怎么修改服务器上的cpt文件,DELL-服务器-RAID-配置详解(28页)-原创力文档

DELL 服务器 RAID 配置详解磁盘阵列可以在安装系统之前或之后产生&#xff0c;系统会视之为一个(大型)硬盘&#xff0c;而它具有容 错及冗余的功能。磁盘阵列不单只可以加入一个现成的系统&#xff0c;它更可以支持容量扩展&#xff0c;方 法也很简单&#xff0c;只需要加入一个…

Apache Camel 2.21发布–新增功能

我们刚刚发布了Apache Camel 2.21&#xff0c;我将在此博客中重点介绍值得注意的更改。 此版本不支持Spring Boot2。对Spring Boot 2的支持将在Camel 2.22中提供&#xff0c; 我们计划在2018年夏季之前发布。 1&#xff09;处理大型JMS消息 我们在JMS组件中添加了更好的支持&…

linux下网站服务器,Linux下使用Apache搭建Web网站服务器(示例代码)

[[email protected] ~]# yum install elinks –y主配置文件[[email protected] ~]# ls/etc/httpd/conf/httpd.conf/etc/httpd/conf/httpd.conf#我们又是怎么知道httpd的注配置文件是在你那里的呢&#xff1f;查看httpd注配置文件位置[[email protected] ~]# rpm -pql/mnt/Packa…

程序内存泄露监视_监视和检测Java应用程序中的内存泄漏

程序内存泄露监视因此&#xff0c;您的应用程序内存不足&#xff0c;您日夜不停地分析应用程序&#xff0c;以期捕获对象中的内存漏洞。 后续步骤将说明如何监视和检测您的内存泄漏&#xff0c;以确保您的应用程序处于安全状态。 1.怀疑内存泄漏 如果您怀疑有内存泄漏&#xf…

服务器可以装两个系统吗,云服务器可以装多个系统吗

云服务器可以装多个系统吗 内容精选换一换示例&#xff1a;购买并登录Windows弹性云服务器示例&#xff1a;购买并登录Linux弹性云服务器云平台提供了多种实例类型供您选择&#xff0c;不同类型的实例可以提供不同的计算能力和存储能力。同一实例类型下可以根据CPU和内存的配置…

与Spring的计划任务一起按时运行

您是否需要每天像闹钟一样在同一时间运行某个流程&#xff1f; 然后&#xff0c;Spring的预定任务适合您。 允许您使用Scheduled注释方法&#xff0c;以使其在指定的时间或内部间隔运行。 在本文中&#xff0c;我们将研究如何设置一个可以使用计划任务的项目&#xff0c;以及如…

jboss url路径_在JBoss的服务器端正确解码URL参数

jboss url路径我今天花了很多时间来弄清楚如何在运行在JBoss上的JSF应用程序中&#xff08;使用JBoss 7 Final&#xff09;强制正确解码编码的字符。 当您有例如通过URL传递中文字符时&#xff0c;就会发生此问题。 假设您有指点事件&#xff0c;编码为&#xff05;E6&#xff…

在JDK 10中不可变与不可修改

大约两个月前&#xff0c; 斯图尔特马克斯 &#xff08; Stuart Marks&#xff09;写道&#xff1a;“ 不变性就像葡萄酒 。” 然后&#xff0c;他提醒读者注意叔本华的熵定律 &#xff1a;“如果将一勺酒倒入装满污水的桶中&#xff0c;就会产生污水。 如果将一勺污水倒入装满…

@async方法不调用了_在Spring中使用Future对象调用Async方法调用

async方法不调用了下一个示例将演示Spring容器内部的异步方法调用。 为什么我们需要异步方法调用&#xff1f; 在某些情况下&#xff0c;我们并不真正知道是否需要重播或何时应返回结果。 传统方式在Java EE世界中处理异步调用的方法是使用队列/主题。 我们可以在Spring中进行相…

不同的休眠命名策略

本文讨论了hibernate提供的不同命名策略&#xff0c;以及命名策略从hibernate 4中的hibernate.ejb.naming_strategy到hibernate 5中的hibernate.implicit_naming_strategy和hibernate.physical_naming_strategy的转变。最后&#xff0c;我们将研究一下在休眠和配置中实施自定义…

基于FPGA,如何用Verilog HDL实现64位宽的扰码器?附上仿真结果。

文章目录前言一、扰码器1、什么是扰码器2、扰码的原理3、产生扰码的多项式二、Scrambler的Verilog实现1、scrambler.v2、scrambler_tb.v三、仿真结果四、总结前言 在数字信号处理系统中&#xff0c;因为发送端的数字信号序列可能会出现很长一段都是“0”&#xff0c;或很长一段…