Вы находитесь на странице: 1из 8

Software IBM Informe de liderazgo intelectual

Julio 2012

El mtodo Rational para pruebas de integracin


Pruebas tempranas y continuas para reducir los defectos y optimizar la eficacia de las pruebas

El mtodo Rational para las pruebas de integracin

ndice
2 Introduccin 3 Integracin incremental 3 Emplee la virtualizacin de pruebas 5 Realice pruebas continuas a nivel de sistema y comparta los activos 5 Planifique una gestin efectiva de los datos 6 Reduzca las pruebas E2E y asle la GUI 6 Realice pruebas tempranas 7 Evite el Big Bang 7 Resumen

Introduccin
Las aplicaciones evolucionan a una velocidad cada vez mayor. No se trata de islas diferenciadas, estas aplicaciones estn construidas sobre un conjunto complejo e interconectado de componentes que incluye distintas tecnologas, desarrolladores, topologas de despliegue y organizaciones. Los desarrolladores deben proporcionar aplicaciones de alta calidad al tiempo que limitan su gasto en pruebas. En este difcil contexto, una combinacin de pruebas de integracin automticas y de virtualizacin de las pruebas puede ayudar a que los equipos responsables de stas mejoren la calidad del software y puedan adaptarse al ritmo de los cambios. Una sencilla medida del xito para cualquier profesional de la calidad es la relacin entre los defectos detectados y los defectos que pasan inadvertidos. Sin embargo, el xito o el fracaso no estn determinados nicamente por el nmero de defectos que llegan a produccin. Clasificar los defectos para determinar cundo deberan haber sido detectados puede demostrar de un modo contundente la eficacia o ineficacia de las pruebas. Si se detecta un defecto funcional, por ejemplo, durante una prueba completa del sistema, el coste que conlleva subsanarlo ser muy superior al que conllevara corregirlo si hubiera sido detectado en una fase de desarrollo temprana. El incremento del coste vendra dado por factores como ms pruebas de regresin, ms recursos destinados a pruebas, uso de entornos ms similares a los reales y mayores necesidades de coordinacin. Restringir la fase en la que se detecta el defecto es un factor clave en los proyectos de integracin y muy especialmente en los proyectos de arquitectura orientada a servicios (SOA); esto representa un desafo importante para un director de pruebas sujeto a limitaciones financieras y de tiempo. Es evidente que SOA plantea grandes retos a la comunidad de pruebas. La complejidad de los procesos de negocio implica que los servicios deben colaborar y esta colaboracin necesaria puede dar lugar a un enorme nmero de permutaciones de los datos y,

Resumen ejecutivo
Las aplicaciones evolucionan a una velocidad cada vez mayor. No se trata de islas diferenciadas, estas aplicaciones estn construidas sobre un conjunto complejo e interconectado de componentes que incluye distintas tecnologas, desarrolladores, topologas de despliegue y organizaciones. Los desarrolladores deben proporcionar aplicaciones de alta calidad al tiempo que limitan su gasto en pruebas. En este difcil contexto, una combinacin de pruebas de integracin automticas y de virtualizacin de las pruebas puede ayudar a que los equipos responsables de stas mejoren la calidad del software y puedan adaptarse al ritmo de los cambios. El presente informe aborda estas necesidades y describe las ventajas que puede suponer emplear un mtodo proactivo y continuo en las pruebas de integracin con las soluciones de automatizacin de pruebas IBM Rational.

Software IBM

por lo tanto, de los casos de prueba requeridos. Los tcnicos en verificar no solo necesitan probar combinaciones de mensajes, datos de mensajes e interacciones entre servicios, sino que, en ltima instancia, deben demostrar que la solucin satisface los requisitos de negocio. Las pruebas para SOA siguen normalmente la misma ruta de pruebas tradicional: gestin de requisitos, pruebas funcionales, pruebas de integracin, pruebas de sistema completas (E2E), pruebas de aceptacin del usuario (UAT), pruebas de rendimiento y pruebas de aceptacin operativa (OAT). Dicha ruta concede una gran importancia a las pruebas funcionales y de integracin para garantizar la compatibilidad, interoperabilidad, funcionalidad y rendimiento de los servicios en diversas aplicaciones y sistemas, as como en la empresa. La automatizacin de pruebas para SOA y pruebas de integracin ya no es una opcin sino una necesidad, pero las herramientas de prueba no son suficientes por s solas. Es necesario un mtodo proactivo de pruebas: un mtodo estratgico que atene los riesgos que conllevan los cambios en el sistema y verifique la calidad de forma estructurada y controlada. Emplear las capacidades de pruebas de integracin de las soluciones de automatizacin de pruebas IBM Rational, junto con una metodologa proactiva, puede ayudarle a reducir el nmero de defectos, realizar pruebas tempranas y continuas y rentabilizar las tareas de prueba. Un mtodo de pruebas proactivo requiere una estructura de integracin adecuada: la integracin incremental. Sin embargo, tambin precisa herramientas especficas. IBM Rational Test Workbench, IBM Rational Performance Test Server e IBM Rational Test Virtualization Server son potentes herramientas diseadas para ayudarle a implementar mtodos de prueba proactivos.

controla, por lo tanto, a nivel funcional, de interaccin entre servicios, de procesos de negocio y, por ltimo, de todo el sistema. Este mtodo para la gestin de los requisitos supone considerables ventajas potenciales para los proyectos SOA o de integracin en lo referido a costes. Si los requisitos detallados son plenamente visibles, los jefes de proyecto y los directores de pruebas pueden cooperar ms fcilmente y planificar un programa de lanzamientos de versiones ms efectivo y controlado. La introduccin gradual y controlada de funciones y componentes en entornos de prueba acelera en gran medida el aislamiento de los fallos y los defectos. Una vez establecido un plan de integracin incremental para el proyecto, los profesionales dedicados a las pruebas deberan tener en cuenta las siguientes tcnicas para ayudar a establecer un procedimiento de pruebas ms proactivo.
Emplee la virtualizacin de las pruebas

Durante la virtualizacin de las pruebas, un componente real es sustituido por uno virtual, en ocasiones denominado stub. Dichos componentes virtuales pueden utilizarse para modelar y simular el comportamiento real del sistema. El entorno virtual ayuda a eliminar las dependencias de la prueba de aplicacin y reduce los costes de configuracin e infraestructura de los entornos de pruebas tradicionales. Un plan de pruebas proactivo debe utilizar la virtualizacin de pruebas para hacer disponibles equivalentes virtuales de los componentes clave del servicio, lo que permite simular y probar ms fcilmente diversas situaciones.

Integracin incremental
Las pruebas de integracin precisan contar con requisitos precisos y sin ambigedades. Los procesos de negocio deben definirse y desglosarse en sus partes constituyentes con el fin de definir requisitos de pruebas con un nivel sumamente detallado de interaccin entre servicios. La cobertura de los requisitos se

Algunos profesionales del sector hablan de virtualizacin de servicios para referirse al proceso de emular dependencias ausentes. Sin embargo, estas emulaciones tambin pueden utilizar mtodos no basados en servicios, por lo que el trmino virtualizacin de pruebas es el ms apropiado.

El mtodo Rational para las pruebas de integracin

La virtualizacin es una potente herramienta para la ejecucin de las pruebas de integracin. Con la virtualizacin de las pruebas es posible crear entornos de integracin virtualizados para pruebas funcionales o de rendimiento, lo que a su vez puede suponer grandes ventajas en cuanto a reduccin del tiempo de inactividad, ahorro de costes, deteccin temprana de errores y clarificacin de los requisitos antes de las pruebas de desarrollo e integracin de hardware y software. Las capacidades de virtualizacin de las pruebas son ms efectivas cuando se utilizan estratgicamente. Los aspectos relacionados con los plazos, por ejemplo, pueden ser extremadamente perjudiciales para las pruebas de integracin. Los plazos de lanzamiento cuidadosamente planificados estn plagados de dependencias y supuestos. Una estrategia de pruebas proactiva que emplee la virtualizacin de servicios puede ayudarle a reducir el nmero de dependencias. IBM Rational T est Virtualization Server simula a nivel de produccin los servicios requeridos. Desarrolladores y verificadores pueden construir stubs simples que devuelvan respuestas fijas o diversas respuestas diferentes en funcin de las entradas, o bien stubs ms complejos con un comportamiento determinado por estados. Tambin pueden emplearse tablas de datos para establecer comportamientos parametrizados que puedan ampliarse simplemente aadiendo otra fila a una hoja de clculo. Del mismo modo, los desarrolladores y los verificadores pueden utilizar IBM Rational Performance Test Server para generar cargas en la aplicacin e integracin con el fin de simular el rendimiento de los servicios requeridos. Esta funcin ha sido diseada para ayudar a obtener una visin completa del rendimiento y la escalabilidad de todos los componentes de la aplicacin. Los servicios virtualizados pueden dar soporte a prcticamente cualquier propsito y tecnologa de ejecucin de pruebas. Cuando las capacidades de integracin de IBM Rational T est Workbench comienzan una prueba, el programa puede iniciar los servicios virtuales necesarios que la acompaan, ayudando a asegurar que las dependencias del sistema no resueltas puedan ser sustituidas

por comportamientos predeterminados. El usuario controla cul es el stub utilizado, lo que hace posible modelar una amplia variedad de situaciones diferentes en funcin de la prueba. Una evaluacin de los puntos de integracin crticos, tanto dentro como fuera del alcance del cambio, permitir conocer qu servicios deberan ser virtualizados. La disponibilidad de entornos y el suministro tardo del servicio suponen un riesgo considerable. La cobertura proactiva de las pruebas mediante la simulacin de servicios puede proporcionar la flexibilidad requerida para adaptarse a los problemas de plazos cuando stos surjan. A medida que los componentes son construidos y suministrados, stos pueden sustituir a los componentes virtualizados, permitiendo que las pruebas prosigan (vase la Figura 1).

Las unidades se introducen en el proceso de integracin continua de manera priorizada y controlada. Las nidades todava no construidas pueden ser simuladas y probadas

Componente real
Componente simulado

Pruebas de integracin incrementales

Figura 1: La simulacin puede proporcionar componentes virtuales y ayudar


a hacer posible las pruebas incrementales

Si planea utilizar los servicios virtualizados como parte de su protocolo de pruebas proactivo, normalmente es beneficioso crear una plantilla de simulacin en forma de script al principio del proyecto. Dicho script puede adaptarse rpidamente en caso de demanda del servicio virtualizado. Un minucioso conocimiento de los riesgos tecnolgicos y empresariales, obtenido de la gestin efectiva de los requisitos, puede ayudarle a priorizar las simulaciones del modo ms efectivo.

Software IBM

Realice pruebas continuas del sistema y comparta los activos

Planifique una gestin efectiva de los datos

Una de las grandes ventajas que conlleva utilizar Rational Test Workbench es la rapidez y facilidad con la que pueden ejecutarse las pruebas. Su simplicidad permite ejecutar ciclos de regresin completos cada vez que se introducen componentes nuevos o virtualizados. Esto proporciona al equipo de desarrollo un bucle de feedback inmediato, pudiendo ejecutar exactamente los mismos scripts y duplicar y solucionar los problemas con un esfuerzo mnimo (vase la Figura 2). Esto impulsa a innovar en lugar de corregir. Las herramientas animan a los desarrolladores y equipos de pruebas a colaborar compartiendo pruebas de integracin y servicios virtualizados durante todo el ciclo de desarrollo del software (SDLC).

Se requieren datos representativos y adecuados para sustentar la cobertura de pruebas necesaria y alcanzar el grado de confianza adecuado en la solucin entregada. Las consideraciones relativas a los datos deben comenzar en la etapa de requisitos e incluirse en la creacin y ejecucin de las pruebas. En vista de lo limitado de los plazos y de los presupuestos, normalmente se necesita una particin equivalente o un anlisis de lmites para identificar los datos absolutamente esenciales para el proyecto. La gestin de los datos de las pruebas es una actividad tan importante que suele asignarse a personas dedicadas exclusivamente a ella. Todos los scripts de pruebas deben estar orientados a los datos. Rational Test Workbench puede admitir diversas fuentes de archivos como entradas para suministrar dichos datos a travs de interfaces. Debido a que las pruebas son continuas, es importante pensar en scripts de limpieza, los cuales restauran los sistemas a su estado inicial y han sido diseados para asegurar que los datos puedan ser reutilizados cuando sea apropiado. Los servicios virtuales pueden estar igualmente orientados a los datos en funcin de los requisitos del entorno de pruebas. Frecuentemente es necesario que exista coherencia entre el conjunto de datos empleados por las pruebas y el que sustenta los servicios virtuales. Cuando se establece un plan de datos, debe recordarse que los servicios virtualizados pueden facilitar la recopilacin de los datos adecuados. Soluciones como IBM Optim Test Data Management, por ejemplo, pueden automatizar la extraccin de un subconjunto de datos relevante de los entornos de produccin, distorsionarlo en la medida necesaria y transformarlo para usarlo en mltiples pruebas. Un objetivo primario suele ser popular las bases de datos correspondientes en un entorno de pruebas. Sin embargo, los scripts de pruebas automticos y los servicios virtualizados pueden consumir muestras alternativas de los datos de produccin, manteniendo la coherencia entre los datos que alimentan las pruebas y las respuestas ofrecidas por los servicios simulados. En muchos casos, los servicios virtualizados pueden simplificar la gestin de los datos y rentabilizar la ejecucin repetida de las pruebas necesarias.

Los analistas y los especialistas en integracin denen el proceso de negocio y los puntos de integracin, respectivamente

Los nuevos proyectos, al agregarse a los proyectos de integracin existentes, examinan y emplean los activos de pruebas ya disponibles

Los desarrolladores comienzan las pruebas con IBM Rational Test Workbench y prueban la funcionalidad con simulaciones

El soporte de postproduccin utiliza los activos de pruebas existentes para la resolucin de problemas

Las pruebas de integracin emplean los activos creados y renan las pruebas mediante la integracin continua a nivel de sistema (con simulaciones en caso necesario)

Las pruebas E2E incluyen GUI anteriormente aisladas mediante simulacin

Figura 2: Reutilizar los activos de las pruebas contribuye a su evolucin


constante

El mtodo Rational para las pruebas de integracin

Reduzca las pruebas E2E y asle la GUI

Debido a que las pruebas de integracin son incrementales, las pruebas E2E son menos significativas. Si implementa un mtodo de pruebas proactivo, puede esperar dedicar menos tiempo a costosas pruebas E2E porque, en el momento en el que se crea una funcionalidad completa en el entorno de pruebas, ya se han ejecutado numerosas pruebas a nivel funcional, de integracin y a nivel de procesos de negocio. Las pruebas incrementales y continuas habrn eliminado la mayora de los riesgos de la solucin integrada (vase la Figura 3).

Para mantener una velocidad de ejecucin de las pruebas suficiente, deben aislarse los componentes GUI en entornos en los que interacten con servicios virtualizados. Los componentes GUI pueden entonces ser introducidos, validados y retirados peridicamente durante el ciclo de vida del proyecto; solamente deben ser introducidos formalmente una vez completadas todas las dems pruebas de integracin. Rational Test Workbench tambin puede ayudar a automatizar estas pruebas. La combinacin de automatizacin en mltiples capas aisladas de la aplicacin y de un entorno de ejecucin ms predecible para las pruebas de GUI ayuda a atenuar los problemas tradicionales que supone un mtodo de pruebas exclusivamente basado en GUI.
Realice pruebas tempranas

Mtodo estndar
Gestin de requisitos Pruebas unitarias

Big Bang
Pruebas E2E del sistema UAT OAT

Pruebas de interfaz limitadas

Pruebas de rendimiento

Mtodo IBM Rational


Gestin de requisitos Pruebas unitarias Pruebas de integracin (automticas) Pruebas E2E del sistema

Todas las consideraciones anteriores tienen como fin realizar pruebas ms efectivas en un punto ms temprano del ciclo de desarrollo del software. Se acepta generalmente que las pruebas y la resolucin de defectos son ms costosos si se llevan a cabo en las ltimas etapas de la integracin (vase la Figura 4).

UAT

OAT

La automatizacin de Rational permite pruebas tempranas y continuas

Pruebas de rendimiento

Umbral de calidad
Nmero de defectos

Defectos detectados con el mtodo de prueba estndar Defectos detectados con el mtodo de prueba Rational

Figura 3: Un protocolo de pruebas temprano y continuo ayuda a reducir las


pruebas E2E.

Las pruebas E2E deben concentrarse en examinar los procesos completos a travs de las distintas interfaces grficas de usuario. Puede utilizar Rational Test Workbench para implementar pruebas automticas que se ejecutan en la capa de servicios y omiten la GUI. Segn nuestra experiencia, este mtodo de prueba es ms rpido de crear y ejecutar y ms slido frente al paso del tiempo que el uso de scripts automticos orientados a la GUI.

Cdigo

Pruebas unitarias

Pruebas de integracin

E2E

Figura 4: Ahorre costes con pruebas continuas y tempranas.

Coste de la correccin

Coste de la correccin de defectos

Software IBM

Evite el Big Bang


Un mtodo de pruebas Big Bang rene todos los puntos de integracin para realizar una prueba completa. Con este mtodo existe un umbral repentino a partir del cual es posible ejecutar muchos ms casos de prueba. Debido al incremento del nmero de casos se produce una cada repentina del porcentaje que se somete a dichas pruebas y las supera (vase la Figura 5).

Resumen
Ponga a prueba las integraciones de modo incremental para reducir el coste de las pruebas E2E. Es esencial contar con un plan proactivo: Emplee la virtualizacin de pruebas estratgicamente para eliminar dependencias vitales y reducir el tiempo de inactividad. Comparta activos a nivel del sistema para acelerar la subsanacin de los defectos. Gestione los datos de las pruebas de manera proactiva. Piense en aislar las pruebas con GUI. Podra acelerar la ejecucin de las pruebas? Comience las pruebas antes para conseguir la mxima eficacia. Evite el Big Bang. Las aplicaciones y productos fabricados son cada vez ms complejos, con niveles sin precedentes de conectividad y dependencia entre sistemas, procesos e infraestructura. Por este motivo, las pruebas de integracin de aplicaciones, en general, y las pruebas SOA, en particular, continuarn planteando nuevos retos a la comunidad de pruebas. Con el desarrollo de nuevas aplicaciones que cooperen con los servicios existentes, puede producirse frecuentemente una situacin en la que no exista ninguna interfaz de usuario dentro del alcance del cambio. Las pruebas requeridas en tales casos se encuentran en un punto medio entre las pruebas de "caja blanca" (pruebas de sistemas internos) y las pruebas de "caja negra" (pruebas de funcionalidad). Debido a la naturaleza tcnica de estos proyectos, los componentes e interfaces son verificados habitualmente mediante programas o stubs creados por los propios desarrolladores. Esto puede dar lugar a una situacin en la que los desarrolladores establecen los criterios de su propio xito, lo que puede perjudicar a la calidad general del proyecto. Adems, dichas pruebas y stubs pueden no estar disponibles o estar limitados a fines de prueba, aplicaciones o equipos especficos.

El motivo para usar un mtodo de pruebas ms proactivo nace de este principio fundamental : evitar el Big Bang.

% de posibles casos de prueba superados

cin incrementales Pruebas de integra


Mtodo estndar

con IBM Rational Tes

t Workbench

Big Bang

Tiempo

Figura 5: Unas pruebas tempranas y continuas ayudan a evitar el Big Bang


de las pruebas de integracin tradicionales.

En otras palabras: con las pruebas Big Bang, una enorme proporcin del riesgo del proyecto se aplaza hasta una etapa tarda del ciclo de desarrollo, cuando todos los componentes estn ya disponibles. Este perfil debe ser invertido abordando el riesgo de la integracin con anterioridad y de manera continua. Un mtodo de pruebas proactivo favorece una integracin incremental estructurada y controlada de su aplicacin y ayuda a mantener el coste de las pruebas bajo control.

Es imperativo que los desarrolladores y los verificadores adopten una nueva estrategia de pruebas que les permita gestionar correctamente el cambio y proporcionar una calidad duradera. Esto puede requerir que el equipo de pruebas tenga un conjunto de conocimientos ms tcnico de lo habitual. Sin embargo, los axiomas de las pruebas no deben ser descartados enteramente a favor de un enfoque puramente tcnico. El principio general de las pruebas, identificar y corregir los defectos lo antes posible, es cada vez ms importante a medida que los proyectos ganan en complejidad y el alcance del cambio se acrecienta.

Copyright IBM Corporation 2012 IBM Corporation Software Group Route 100 Somers, NY 10589 Producido en los Estados Unidos de Amrica Julio 2012 IBM, el IBM, Rational, Optim e ibm.com son marcas comerciales de International Business Machines Corp., registradas en numerosas jurisdicciones de todo el mundo. Otros nombres de productos y servicios pueden ser marcas registradas de IBM u otras compaas. Existe una lista actualizada de marcas registradas de IBM en la Web, en el apartado Copyright and trademark information de ibm.com/legal/copytrade.shtml Este documento se considera actualizado en la fecha inicial de su publicacin y puede ser modificado por IBM en cualquier momento. No todas las ofertas estn disponibles en todos los pases en los que opera IBM. Los datos de rendimiento aqu citados han sido obtenidos en condiciones especficas. Los resultados reales pueden ser diferentes. El usuario es responsable de evaluar y verificar el funcionamiento de cualquier otro producto o programa con los productos y programas de IBM. LA INFORMACIN PROPORCIONADA EN ESTE DOCUMENTO SE DISTRIBUYE TAL CUAL, SIN GARANTA ALGUNA, YA SEA EXPRESA O IMPLCITA. IBM RECHAZA EXPRESAMENTE TODA GARANTA DE COMERCIALIZACIN, IDONEIDAD PARA UN FIN CONCRETO O CONFORMIDAD LEGAL. Los productos IBM estn garantizados de acuerdo con los trminos y condiciones de los contratos con arreglo a los cuales son facilitados.
Recicle este documento

Informacin adicional
Para saber ms acerca de las soluciones de automatizacin de pruebas IBM Rational, pngase en contacto con su representante de ventas IBM o IBM Business Partner, o visite: ibm.com/software/rational/offerings/quality. Visite tambin: IBM Rational Test Workbench
ibm.com/software/rational/products/rtw

IBM Rational Performance Test Server


ibm.com/software/rational/products/rpts

IBM Rational Test Virtualization Server


ibm.com/software/rational/products/rtvs

Adems, IBM Global Financing puede ayudarle a adquirir las soluciones de TI que su empresa necesita del modo ms rentable y estratgico posible. Colaboramos con clientes que dispongan de crdito para personalizar una solucin de financiacin de TI acorde con sus objetivos empresariales, hacer posible una gestin de efectivo adecuada y mejorar el coste total de propiedad. Financie inversiones en TI vitales e impulse su empresa hacia delante con IBMGlobal Financing. Para obtener ms informacin, visite: ibm.com/financing

RAW14304-ESES-00

Вам также может понравиться