Спецификация, соответствия, совместимость, испытания ... Что они такое?

Иногда все это кажется условиях весьма запутанной. Или, лучше сказать, что они обычно или даже всегда. abstract Specification, conformance, compatibility, tests... What are they all about? Особенно, когда разные люди и компании, понять ситуацию вокруг них по-разному. Так давайте начнем с самого начала.

Есть много спецификаций или стандартов вокруг нас. Уэбстер словарь описывает стандартные как нечто установленных полномочий, обычай, или общего согласия в качестве модели или пример. Поэтому в основном это список правил, которые при использовании других должны подчиняться.

Давайте создадим компьютерный язык. Прежде всего необходимо спецификации, которые будут описывать всю модель концепции, сказать разработчикам, что может быть представлено в виде программы, как она будет вести себя, что будет подготовлен, выполнены и т.д. После создания всех этих необходимых документов - вот и все, можно остановить прямо здесь. Если эта идея достаточно несколько других компаний, возможно, захотите создать их реализации: Fe компиляторы и выполнение условий. Но они должны соблюдать спецификации. В противном случае те же программы, будут работать на 1 и заканчиваться в разное время или даже провалиться по реализации других. Исполнение по выполнению всех указанных требований называется соответствия.

Почему это так важно? money coins Specification, conformance, compatibility, tests... What are they all about? Ну, скажем, новый язык программирования использовался для создания программы на фондовой бирже. Представьте себе, она была написана в США, также протестированы и использованы на NYSE. Это было так хорошо, что и другие страны по всему миру купил лицензию и начал использовать его в их реализации этого нового языка. Если реализация не подчиняются спецификации и той же программы могут делать различные вещи с деньгами клиентов. В основном это программы биржи может его продать, когда торговый агент толкнул кнопку "Купить", либо купить стали вместо плодов.

Хороший вопрос может быть следующим: "Почему различных реализаций? Давайте создадим один и использовать его. ". Существуют различные ответы. Некоторые компании, возможно, захотите использовать этот язык на различных платформах (Solaris, Linux, Windows) и устройства (настольный компьютер, мобильный телефон, PDA, студент калькулятор и т.д.). Другие хотят оптимизировать алгоритмы для их нужд, Fe осуществлять их таким образом большую программу база данных будет в 10 раз быстрее.

Ключевым моментом является то, что несколько различных реализаций должны работать точно так же и в соответствии со спецификацией. Если они делают это они называются совместимыми. Плохой части является то, что никто не может быть уверен. Вот почему механизм контроля не требуется. Обычно это набор тестов, которая проверяет на соответствие и совместимость. И в этом случае было бы неправильно сказать, что что-то почти согласованные или 99% совместимы. Там может быть либо "да" или нет.

no bug2 Specification, conformance, compatibility, tests... What are they all about? Перейдем к примеру. Sun Microsystems Java изобрели язык. Если быть более точным несколько версий Java для различных рынков были созданы. Самые известные из них Java ME , Java SE и Java EE . И для каждого из них есть отдельные спецификации. Sun Microsystems имеет свою собственную реализацию, которая является наиболее часто используемых. Однако язык так хорошо, что Есть немало и других компаний и их реализации. Для обеспечения совместимости и соответствия целям Есть TCKs (тест соответствия Kit). TCK это продукт, который включает в себя ряд тестов, которые проверяют, если реализация исправить в соответствии с правилами, от спецификации.

Мой намерен был дать представление о том, что спецификации, соответствия, совместимости и TCK и почему они так важны.



, , , , , , , , , , , , , , , , , , ,
  • Закладки
Print This Post Распечатать этот пост

99% - это достаточно или нет?

99% Сегодня великий день. Я попытаюсь объяснить, почему. Как я уже упоминал в моем интро с должностями, наша команда создает несколько TCK в. Области, что я работаю на так называемый LANG - Я разработке тестов для Java языка. Давным-давно, более 2 лет, мы приступили к работе по JLS 3 спецификации . Мы должны были решить многие проблемы, которые часто возникают во время изменения спектра (я обещаю написать об этом подробнее). Наша команда заканчивает JCK 6a, Ланг испытаний является частью этого JCK. Сегодня я запускать сценарии охвата, и мы можем, наконец, сказать, что у нас 99% охвата для утверждения JLS 3. Если быть более точным мы 99,4%. Это означает, что мы написали тесты для 99% sentances в JLS 3, что у нас с пометкой потенциально проверяемым. Разве это не круто? Бьюсь об заклад, это так!

Работа, конечно, еще не закончена и не будет так - Есть много причин, почему больше испытаний необходимо:

  • Глубина улучшение охвата - более испытания в течение нескольких утверждений необходимы;
  • Есть sentances, которые проверяемого, но по ряду причин мы не отметил их как потенциально проверяемым;
  • будет JLS 4 в ближайшее время, мы должны начать работать на нем как можно скорее.

Разные люди могут иметь противоположные ответы на вопрос в заголовке. Большинство бы сказать: "Да, конечно". В самом деле 99% составляет почти 100%. А что такое 100% - это совершенство. 99% выглядит большим, и это здорово. Но мы должны понять, что это число означает, и какие могут быть улучшены. Мое мнение: да, это здорово, колоссальный, огромный, но нет, этого не достаточно, я хочу больше, даже больше, чем 100% ", поэтому я планирую создать сценарий для расчета глубины охвата.

Спасибо всем, вс разработчиков, которые сделали JCK-Lang работы, благодаря людям, которые помогли (особенно для компилятора команды) и, конечно, огромное спасибо всем разработчикам, которые используют Java :-)

Java мир стал еще более совместимым и безопаснее!



, , , , , , , , ,
  • Закладки
Print This Post Распечатать этот пост

Здравствуй, мир.

Я читаю блоги. Я начал читать их гораздо больше. Почему я это делаю? Ну .. Я верю, что обмен информацией делает работу других людей больше удовольствия. И не только работать, но народ живет в целом. Обмен знаниями и мыслями является большим шагом в направлении создания общин. Блог позволяет публиковать мысли, мнения, идеи, относится к читателям. Читатели могут открыть диалог на тему обсудили систему комментариев.
Я хотел создать свой личный блог уже давно, но, думаю я, наконец, сделал это.
Я работаю инженером-программистом в группе, которая создает очень важный продукт. Этот продукт не так хорошо известен как Java или Solaris. Я бы сказал, что большинство разработчиков программного обеспечения в этом огромном мире не знает об этом. Однако без этого продукта не будет Java, как мы ее знаем. По крайней мере, Java не будет так хорошо, как и в популярных распространенным, как он есть и каким мы хотим его видеть. Без этого продукта не будет износу (однократная запись работает везде). Да, я говорю о совместимости. И продукт TCK (технология совместимости Kit) для Java. В двух словах TCK это набор тестов, который гарантирует, что реализаций Java соответствует спецификации. Моя группа работает в нескольких TCK в. Но главное один для платформы Java SE.
Есть несколько различных районах JCK (TCK для Java SE): API, Java Язык и VM.
Моя область, что я работаю на протяжении более 2 лет "Java язык". Я пишу компилятор и среду выполнения тесты, чтобы убедиться, что ВС и реализации других компаний ведут себя именно так, как сказано в JLS (Java Language Specification).
В этом блоге я постараюсь поделиться своими знаниями, мое мнение и мысли по поводу моей работы.
PS: английский не является моим родным языком. Вот почему я хотел бы извиниться за возможные ошибки (я уверен Есть многие из них уже есть) и странные sentances в моем блоге. Я постараюсь сделать все возможное.



, , , , , , , , , , , , , , ,
  • Закладки
Print This Post Распечатать этот пост