Especificaciones, conformidad, la compatibilidad, las pruebas ... ¿Para qué se trata?

A veces todo esto términos parecen bastante confuso. ¿O es mejor decir que por lo general, o incluso siempre lo hacen. abstract Specification, conformance, compatibility, tests... What are they all about? Especialmente cuando diferentes personas y empresas a comprender la situación en torno a ellos de diversas maneras. Así que vamos a empezar desde el principio.

Hay un montón de características o de las normas que nos rodea. El diccionario Webster describe como algo estándar establecido por la autoridad, la costumbre o el consentimiento general como un modelo o ejemplo. Así que básicamente es la lista de reglas, que otros al utilizar tienen que obedecer.

Vamos a crear un lenguaje de computadora. En primer lugar el pliego de condiciones es necesario, que se describe el modelo de concepto, informe a los desarrolladores de lo que se puede escribir como un programa, cómo se comportan, lo que será compilado, ejecutado y etc Después de crear todos estos documentos es necesario - que es, uno puede parar allí. Si la idea es lo suficientemente bueno muchas otras compañías que desee crear sus implementaciones: compiladores fe y entornos de ejecución. Sin embargo, deberán cumplir las especificaciones. De lo contrario los mismos programas que puede ejecutar en uno y corren de manera diferente o incluso un error en la aplicación de otros. Cumplimiento por parte de una aplicación de todos los requisitos especificados se llama conformidad.

¿Por qué es tan importante? money coins Specification, conformance, compatibility, tests... What are they all about? Bueno, digamos que este nuevo lenguaje se utilizó para crear un programa de intercambio de acciones. Imagine que se escribió en los EE.UU., así probado y utilizado en la Bolsa de Nueva York. Fue tan bueno, que otros países de todo el mundo compró una licencia y comencé a usarlo en su aplicación de este nuevo lenguaje. Si una aplicación no obedeció la especulación, el programa mismo podría hacer diferentes cosas con el dinero de los clientes. Básicamente este programa de intercambio de valores podría vender cuando el agente comercial empujó el botón "Comprar", o comprar acero en vez de fruta.

La buena pregunta podría ser: "¿Por qué las distintas aplicaciones? Vamos a crear una y usarlo. ". Hay muchas respuestas diferentes. Varias empresas que desee utilizar este lenguaje en diferentes plataformas (Solaris, Linux, Windows) y dispositivos (computadoras de escritorio, teléfono móvil, PDA, calculadora de estudiantes, etc). Otros quieren optimizar algoritmos para sus necesidades, Fe ponerlas en práctica lo que el programa de base de datos grande será 10 veces más rápido.

El punto clave es que varias de las distintas aplicaciones que funcionan exactamente de la misma y de acuerdo con la especificación. Si lo hacen se llaman compatibles. Lo malo es que nadie puede estar seguro. Por eso, el mecanismo de verificación que se necesita. Por lo general, se trata de una serie de pruebas que verifica la conformidad y compatibilidad. Y en este caso no es correcto decir que algo es compatible o casi el 99% compatibles. No puede ser sí o no.

no bug2 Specification, conformance, compatibility, tests... What are they all about? Vamos a pasar a un ejemplo. Sun Microsystems inventó el lenguaje Java. Para ser más precisos varias versiones de Java para los diferentes mercados fueron creados. Los más famosos son Java ME , Java SE y Java EE . Y para cada uno de ellos hay un pliego de condiciones por separado. Sun Microsystems tiene su propia aplicación, que es más comúnmente utilizado. Sin embargo, el lenguaje es tan buena, que hay bastantes empresas de otros y sus implementaciones. Para fines de compatibilidad y conformidad existen TCKs (prueba de conformidad Kit). TCK es un producto que incluye una serie de pruebas, que comprobar si una aplicación es correcta de acuerdo a las normas de especificación.

Mi intención era dar una idea de lo que las especificaciones, conformidad, la compatibilidad y la TCK son y por qué son tan importantes.



, , , , , , , , , , , , , , , , , , ,
  • Compartir / Guardar
Print This Post Imprimir este mensaje

99% - es suficiente o no?

99% Hoy es un gran día. Voy a tratar de explicar por qué. Como mencioné en mi introducción post nuestro equipo es la creación de varias de diferentes TCK. El área que mi trabajo consiste en la llamada LANG - Puedo desarrollar las pruebas de lenguaje Java. Hace tiempo, más de 2 años a partir de ahora, empezamos a trabajar en JLS 3 especificación . Tuvimos que resolver muchos problemas que suelen ocurrir durante el cambio de especificaciones (prometo escribir más sobre esto). Nuestro equipo está terminando JCK 6a, lang pruebas es parte de este JCK. Hoy ejecutar los scripts de cobertura y por fin podemos decir que tenemos 99% de cobertura de la afirmación de JLS 3. Para ser más precisos hemos 99,4%. Significa que escribió ensayos para el 99% de sentances en JLS 3 que había marcado como potencialmente comprobables. ¿No es genial? Apuesto a que es!

El trabajo no está terminado todavía y sin duda no será tan - hay muchas razones por las que más pruebas se necesitan para:

  • mejoramiento de la cobertura de profundidad - más pruebas para afirmaciones se necesitan varios;
  • hay sentances que son comprobables, pero por razones varias que no había marcado como potencialmente comprobables;
  • habrá JLS 4 en breve, debería empezar a trabajar en ella tan pronto como sea posible.

Diferentes personas podrían tener respuestas frente a una pregunta en un título. La mayoría diría "Sí, por supuesto". De hecho el 99% es casi el 100%. Y lo que es de 100% - es una perfección. 99% se ve muy bien, y es genial. Pero debemos entender lo que este número representa, y lo que se puede mejorar. Mi opinión es que sí, es grande, colosal, enorme, pero no, no es suficiente, quiero más, incluso más del 100% ", por eso me propongo crear un script para el cálculo de la cobertura de profundidad.

Gracias a todos los desarrolladores de Sun que ha funcionado JCK-Lang, gracias a la gente que ayudó a (especialmente, compilador de equipo) y gracias sin duda a todos los grandes programadores que utilizan Java :-)

mundo Java se hizo aún más compatible y más seguros!



, , , , , , , , ,
  • Compartir / Guardar
Print This Post Imprimir este mensaje