Icon Test Framework
El Icon Test Framework es una aplicación de pruebas independiente, enfocada en caja negra y orientada a BDD. Se desarrolló junto con IPF con el objetivo de arrancar las pruebas de funcionalidades de una aplicación objetivo determinada mediante la reutilización de aserciones comunes, a la vez que ofrece completa extensibilidad para requisitos específicos de proyecto. El core-framework ahora es totalmente independiente y se puede aprovechar para cualquier nivel de pruebas de sistema.
Motivación
La naturaleza de alto rendimiento, asíncrona y flexible de IPF hizo que probar usando marcos de pruebas existentes fuera un desafío. Esto reafirmó la necesidad de invertir en un arnés de pruebas propio que pueda soportar tal aplicación. Hay varios principios fundamentales sobre los que se construye test-fw:
-
Caja negra: Necesitamos asegurarnos de que estamos probando a la aplicación como un sistema objetivo remoto para garantizar cobertura de pruebas de la capa de integración y aumentar la confianza en lo que entregamos.
-
Impulsado por BDD: Necesitamos poder derivar el comportamiento esperado de la aplicación directamente de los requisitos de negocio para asegurar una cobertura de funcionalidades precisa.
-
Extensible: Necesitamos poder facilitar pruebas efectivas de los diferentes posibles bancos, esquemas, configuraciones y tecnologías.
-
Paralelizable: Necesitamos poder ejecutar múltiples pruebas concurrentemente para reducir los tiempos de compilación y emular más de cerca el comportamiento del mundo real.
¿Qué ofrece el Icon Test Framework?
-
Una biblioteca core de pasos BDD Gherkin preconstruidos para enviar, recibir y verificar mensajes.
-
Implementaciones de protocolos de transporte comunes: RESTful HTTP, JMS (IBMMQ, ActiveMQ), SOAP.
-
Implementaciones de estrategias comunes de correlación de mensajes mediante preocupaciones de dominio como TransactionID vs OriginalTransactionID, o asociaciones técnicas como JMSCorrelationID
-
Manejo de propiedades agnóstico al dominio
-
Recetas para generar documentos, incluyendo integración con Freemarker
-
Una biblioteca creciente de evaluaciones BDD potentes, incluyendo referenciado incorporado de messages previos, comprobaciones estrictas o laxas e invocación de métodos personalizados
-
Conversiones de tipos enchufables
-
Componentes utilitarios para preparar el entorno objetivo antes de las pruebas
-
Una biblioteca totalmente modular y orientada hacia afuera con documentación para desarrolladores, JavaDocs y una biblioteca de pasos generada
Dependencias principales
Tenemos las siguientes dependencias tecnológicas principales
-
JBehave - Un motor de pruebas BDD, elegido sobre Cucumber por su extensibilidad y paralelización incorporada.
-
DockerComposeRule - Una utilidad de entorno (opcional) para iniciar la aplicación objetivo mediante un conjunto de archivos docker-compose configurados.
-
Spring Framework El clásico framework de aplicaciones, usado para inyección de dependencias, componentes de plantillas y programación de tareas
-
JBehave Intellij Syntax Support proporciona resaltado de sintaxis y autocompletado dentro de archivos .story
Usuarios de Windows, por favor establezcan las variables de entorno equivalentes para DockerComposeRule
DOCKER_COMPOSE_LOCATION=C:\Program Files\Docker\Docker\resources\bin
DOCKER_LOCATION=C:\Program Files\Docker\Docker\resources\bin