23/11/2012

Test de integración de software

Test de integración de software

El aseguramiento de calidad del software se compone de una serie de pruebas que atraviesan todo el ciclo de desarrollo e implementación de la aplicación. Ya hablamos de la prueba unitaria (probar cada parte del programa por separado) y de la prueba de estrés (sobreexigir el programa para probar su robustez).  El tercer paso es el test de integración.

El fundamento de las pruebas unitarias es que separar un problema en partes pequeñas ayuda a su resolución. De manera similar, analizar módulos pequeños y separados permite detectar y reparar errores con mayor facilidad. Sin embargo, la corrección de errores durante esa etapa no asegura que no surjan problemas durante el acoplamiento de los módulos.

Durante el test de integración, se prueban de manera combinada los módulos que componen el software. Dichos módulos se van acoplando progresivamente en conjuntos. Luego de cada acoplamiento, se prueba la correcta interacción entre los módulos. Una vez que se haya verificado que el conjunto funciona de acuerdo con lo previsto, se le suma un nuevo módulo y se vuelven a realizar pruebas. Así, el conjunto va creciendo y probándose con cada agregado hasta completar la aplicación. Cada conjunto, parcial o total, debe verificar los requerimientos funcionales, de rendimiento y de seguridad definidos en las primeras etapas del ciclo de vida del software.

Existen varios tipos de pruebas de integración. Los más comunes son big bang, top-down y bottom-up. En big bang, se acoplan todos los módulos de una sola vez, reduciendo la cantidad de pruebas (pero también dificultando la detección de posibles errores). En bottom-up, se prueban primero los componentes de bajo nivel y luego se avanza hacia los de mayor nivel. En top-down, el enfoque es exactamente inverso.

Más allá del enfoque que se utilice, el test de integración es de importancia crítica, ya que es en esta etapa del plan de QA donde el software empieza a acercarse a su forma final.

0

angularjs Aplicaciones en Facebook aplicaciones mobile behavioral targeting Botones Call-to-action breadcrumbs breadcrumbs web búsqueda de personal búsqueda facetada Call-to-action buttons Client-side cliente-destacado cms a medida coding comercio electrónico content marketing CSS3 PIE cuanto debe pesar un sitio data-driven web design Datos estructurados Defacement Denegación de servicio Desarrollar una aplicación web desventajas de PhoneGap diseñar newsletters diseño web diseño web argentina diseño web esqueuomórfico Diseño web responsive Diseño web responsivo diseño web santa fe diseño web Smart TV diseño web televisores DOM desde PHP enlaces rotos filtros de búsqueda flash flat web design formularios sitio web fragmentos enriquecidos función de autocompletar futuro de la realidad aumentada html HTML5 html5shiv inbound marketing Initializr interfaces Web para televisores javascript jobs jQuery Mobile Mapbox maquetado html/css maquetador web masonry layout menú de navegación menú desplegable Metodologías ágiles Modernizr MVC Navegación por teclado oferta laboral OpenStreetMap paginas de Facebook Paper js Paper js framework personas Phishing plan de QA Polyfills polymer portfolio-destacados portfolio-inicio programacion de CMS Programadores WordPress página de contacto página de error 404 que es Backbone.js Realidad aumentada Resultados instantáneos server-side skeuomorphic design sliders y usabilidad soporte Internet Explorer Storytelling Underscores usabilidad usabilidad buscadores user-centered design ux velocidad de carga web Vendor prefixes ventajas jQuery Mobile Ventanas integradas versiones antiguas de Internet Explorer WAI-ARIA web components web imprimible Web Semántica WordPress para ecommerce