Jump to content

Комплект совместимости технологий

Комплект совместимости технологий ( TCK ) — это набор тестов, который, по крайней мере номинально, проверяет конкретную предполагаемую реализацию запроса спецификации Java (JSR) на соответствие. Это один из трех обязательных элементов для ратифицированного JSR в процессе сообщества Java , а именно:

Содержание и архитектура

[ редактировать ]

TCK обычно получают от руководителя спецификации данного JSR. Обычно (но не всегда) они представляют собой графическое хост-приложение, которое обменивается данными через TCP/IP с тестируемым устройством или виртуальной машиной Java. Тесты обычно получаются устройством через HTTP, а результаты отправляются обратно в хост-приложение аналогичным способом. Такое разделение позволяет использовать TCK для тестирования виртуальных машин на таких устройствах, как CLDC мобильные телефоны , которые не имеют возможности запуска полного хост-приложения TCK.

Тесты, содержащиеся в JSR, предположительно основаны на утверждениях спецификации JSR. Любой конкретный API будет иметь набор тестов, чтобы гарантировать, что он ведет себя должным образом, в том числе в условиях ошибки.

Чтобы заявить о соответствии данному JSR, реализация Java должна передать соответствующий TCK. Любые (редкие) исключения должны быть согласованы с руководителем спецификации. По этой причине TCK имеют большое значение при реализации JSR. Первой важной вехой является запуск TCK, что обязательно включает в себя реализацию Java и базовый сетевой стек, имеющий определенный уровень зрелости. Далее TCK необходимо правильно настроить — ведь они должны быть достаточно гибкими, чтобы справиться с любой реализацией, вариантов много. (Например, список всех поддерживаемых форматов мультимедиа и связанных с ними дополнительных элементов управления для JSR135 ). Отдельные тесты также требуют некоторых действий по настройке - это обычно бывает особенно сложно для тестов, которые обеспечивают правильное поведение в условиях ошибки, поскольку реализация Java должна быть переведена в правильное состояние, чтобы вызвать каждую ошибку. Наконец, каждый неудачный тест должен быть исправлен, что обычно выполняется с помощью обычного отслеживания дефектов. механизмы.

Некоторые разработчики Java считают, что их продукт в основном завершен после прохождения TCK. Хотя TCK действительно являются достаточно всеобъемлющими, существует множество областей, которые они не охватывают. К ним относятся производительность, а также дополнительные функции. Нет другого выхода, кроме как провести большое количество реальных испытаний для устранения этих недостатков, хотя дополнительные наборы тестов, такие как JDTS, могут помочь.

TCK для платформы Java

[ редактировать ]

Комплект совместимости технологий для конкретной платформы Java называется Комплектом совместимости Java (JCK) . Это обширный набор тестов, используемый Oracle и лицензиатами для обеспечения совместимости реализаций платформы.

JCK для Java 6.0 . Выпущен исходный код [1] [2] Соответствующая лицензия изначально не позволяла пользователям компилировать или запускать тесты. [3] но право на просмотр кода не связано с угрозой его порчи, и публичные комментарии к исходному коду разрешены. [1] Однако с момента выпуска OpenJDK специальная лицензия позволяет запускать JCK в контексте OpenJDK, то есть для любой реализации GPL, в значительной степени производной от OpenJDK. [4] [5]

Лицензионное соглашение TCK сообщества OpenJDK версии 2.0 опубликовано для спецификации Java SE 7 с декабря 2011 года. [6]

TCK-фреймворк

[ редактировать ]

Инструмент JavaTest на сегодняшний день является наиболее распространенной средой модульного тестирования, используемой для проверки соответствия реализации. Это среда тестирования общего назначения, предназначенная для запуска тестов TCK. Однако в некоторых спецификациях также используются JUnit или TestNG . [7]

Лицензия и споры

[ редактировать ]

После выпуска OpenJDK компанией Sun компания Sun выпустила специальную лицензию, позволяющую запускать TCK в контексте OpenJDK для любой реализации GPL , в значительной степени производной от OpenJDK. [8]

Это требование лишает Apache Harmony проект лицензией Apache права на использование TCK, совместимого с . 9 ноября 2010 года Apache Software Foundation пригрозил выйти из процесса сообщества Java, если им не будет предоставлена ​​лицензия TCK для Harmony без дополнительных ограничений. [9]

9 декабря 2010 г. Apache Software Foundation покинула свое место в Исполнительном комитете Java SE/EE. [10]

См. также

[ редактировать ]
  1. ^ Jump up to: а б Гамильтон, Грэм (13 декабря 2004 г.). «Выпущены исходные коды тестов совместимости J2SE» . Архивировано из оригинала 16 декабря 2004 г. Проверено 8 марта 2008 г. Мы постарались убедиться, что лицензия отвечает разумным потребностям разработчиков, которые хотят оценить исходные коды JCK: она доступна по нулевой цене через лицензию по клику; Никакого "порчи" нет. Удалив копию JCK, вы больше не ограничены в своих дальнейших действиях. Чтобы прояснить это, мы включили раздел, явно предоставляющий то, что юристы называют «остаточными правами», что по сути означает, что вещи, которые застревают у вас в голове, можно использовать в будущем; Вы можете публиковать отзывы и комментарии публично.
  2. Проект JCK. Архивировано 8 июля 2007 г., в Wayback Machine.
  3. ^ « ТОЛЬКО ДЛЯ ЧТЕНИЯ» ИСХОДНОЕ ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ, КОМПЛЕКТ СОВМЕСТИМОСТИ JAVA (TM) v1.0 6a» . Сан Микросистемс . Июнь 2007 г. Архивировано из оригинала 31 декабря 2010 г. Проверено 8 марта 2008 г.
  4. ^ Дарси, Джозеф (6 марта 2008 г.). «Соответствие версий JDK и JCK» . Архивировано из оригинала 12 августа 2011 г. Проверено 8 марта 2008 г. Если вы заинтересованы в использовании JCK в контексте проектов OpenJDK, доступна лицензия.
  5. ^ «ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ СООБЩЕСТВА OPENJDK TCK V 1.1» (PDF) . Сан Микросистемс . Проверено 8 марта 2008 г. При условии, что его реализация Лицензиата в значительной степени является производной от кода OpenJDK, и, если такая реализация распространяется или будет распространяться третьей стороне, она распространяется по лицензии GPL, Sun настоящим предоставляет Лицензиату в пределах интеллектуальных прав Sun. Права собственности на TCK, глобальная, личная, неисключительная, не подлежащая передаче, ограниченная лицензия на использование TCK для внутренних целей и исключительно с целью разработки и тестирования реализации Лицензиата.
  6. ^ http://openjdk.java.net/legal/OpenJDK-TCK_SE7_27Dec2011.pdf [ только URL-адрес PDF ]
  7. ^ «Обзор исходного кода: jsr-352-git-repository» . Архивировано из оригинала 05 марта 2013 г. Проверено 12 февраля 2014 г.
  8. ^ «ЛИЦЕНЗИОННОЕ СОГЛАШЕНИЕ СООБЩЕСТВА OPENJDK TCK V 1.1» (PDF) . Сан Микросистемс . Проверено 8 марта 2008 г. При условии, что его реализация Лицензиата в значительной степени является производной от кода OpenJDK, и, если такая реализация распространяется или будет распространяться третьей стороне, она распространяется по лицензии GPL, Sun настоящим предоставляет Лицензиату в пределах интеллектуальных прав Sun. Права собственности на TCK, глобальная, личная, неисключительная, не подлежащая передаче, ограниченная лицензия на использование TCK для внутренних целей и исключительно с целью разработки и тестирования реализации Лицензиата.
  9. ^ Заявление Правления ASF о нашем участии в процессе сообщества Java , Apache Software Foundation , 9 ноября 2010 г. блог
  10. ^ ASF уходит из исполнительного комитета JCP , Apache Software Foundation , 9 декабря 2010 г. блог
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 89ff5c2e68ea78538a75f1d1bb673992__1719925620
URL1:https://arc.ask3.ru/arc/aa/89/92/89ff5c2e68ea78538a75f1d1bb673992.html
Заголовок, (Title) документа по адресу, URL1:
Technology Compatibility Kit - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)