PRUEBAS DE SOFTWARE utilizando Integración Contínua - it

Anuncio
Curso: PRUEBAS DE SOFTWARE utilizando Integración
Contínua
PRUEBAS DE SOFTWARE UTILIZANDO INTEGRACIÓN CONTINUA ................ 1
OBJETIVO .................................................................................................... 1
AUDIENCIA ................................................................................................... 1
CONTENIDO .................................................................................................. 2
BIBLIOGRAFÍA ............................................................................................... 2
DOCENTE ..................................................................................................... 3
MODALIDAD DEL DESARROLLO ............................................................................. 3
DURACIÓN ................................................................................................... 3
MODO DE DESARROLLO .....................................................................................
3
MATERIAL .................................................................................................... 3
INFRAESTRUCTURA .......................................................................................... 3
“capacitación y guía para el desarrollo de software”
PRUEBAS DE SOFTWARE utilizando Integración Continua
OBJETIVO
El objetivo de este curso es transmitir conocimientos acerca de las actividades
realizadas como parte de las pruebas en el proceso de desarrollo de software. Se
busca instalar la trascendencia fundamental que tienen las pruebas en el proceso de
desarrollo y se presentan herramientas y métodos para llevarlas a cabo. Se tratan
temas vinculados al planeamiento, diseño, construcción, ejecución y análisis de
resultados. Se analizan los factores que modificaron en la última década las pruebas
y se presentan las mejores prácticas, frameworks y estrategias de uso. Se estudian y
ejemplifican las pruebas unitarias, de componentes, de integración, de sistema y
funcionales en el contexto de la forma de trabajo conocida como Integración
Contínua. Se muestran ejemplos de uso de todos los frameworks y herramientas
propuestas en el curso.
Esta capacitación integra los conceptos tradicionales de pruebas con el uso de
herramientas de última generación que posibilitan llevar adelante las tareas de
prueba de software de manera más eficiente y controlada.
El objetivo del curso es presentar una forma de trabajo (Integración Continua) y las
herramientas (aplicaciones y frameworks) que hacen posible desarrollar software
manteniendo controlado el proceso de desarrollo a partir de la realización de pruebas
sistemáticas, repetibles y de resultados visibles.
Se presentan estrategias de pruebas que abarcan las condiciones de prueba, su
establecimiento, el chequeo de resultados y su informe; pruebas con substitución de
componentes (MockObject). Se introduce el concepto de criterio de diseño basado en
las pruebas y se trabaja sobre ejemplos desarrollados. Se muestra el uso de
frameworks de prueba de tipo xUnit como JUnit, DBUnit, HttpUnit, ServletUnit y
Watir.
Se presenta el framework Maven2 como organizador del proyecto y CruiseControl
como servidor de Integración Continua.
Se muestran, sobre un ejemplo de Integración Continua, los indicadores obtenidos
de atributos de calidad del software tales como estilo de programación, problemas de
programación, dependencias entre paquetes y clases, actividad del grupo de
desarrollo en el repositorio de software, documentación de diseño y cubrimiento de
los test. Para esto se utilizan las siguientes herramientas: CheckStyle, PMD/CPD,
JDepend, JavaDoc, Doxygen, Subversion, Clover y Jira.
Se introducen conceptos de métricas sobre el código utilizando técnicas de
visualización (PolymetricView, ClassBluePrint, etc.) como guía a ser utilizadas en las
sesiones de revisión de diseño y código. Se utilizan herramientas como iCode,
iPlasma y Crucible.
AUDIENCIA
El presente curso está orientado a programadores, analistas programadores y
miembros de QA.
1
“capacitación y guía para el desarrollo de software”
CONTENIDO
⇒ Introducción. Las pruebas en el Proceso de Desarrollo de Software. Revisiones
y pruebas. Estadísticas. Esfuerzo y Planificación. Métodos y roles
involucrados. Problemas comunes.
⇒ Pruebas Unitarias, necesidad de su sistematización. Pruebas de Componentes.
Pruebas de Integración. Pruebas Funcionales. Pruebas de Sistema (Volumen,
Estrés, Seguridad, Usabilidad, Disponibilidad, Configuración, Instalación,
Performance). Pruebas funcionales, relación entre los casos de uso y los casos
de prueba.
⇒ Pruebas de Integración. Código cerrado vs Código Compartido. Testeo
Contínuo. Desarrollo conducido por las pruebas. Las pruebas como criterio de
buen diseño. Diseño y organización de pruebas. Automatización de pruebas.
Ejemplos.
⇒ Testeo Contínuo. Frameworks Xunit: Junit, DBUNit, HttpUnit, ServletUnit y
test de Watir. Estratégias y tácticas: condiciones de prueba, ejecución,
validación de resultados, reportes. Componentes de pruebas: MockObject,
SpyObject, FakeObject, subclases, StubObject. Ejemplos.
⇒ Integración Contínua. Resolviendo problemas. Conceptos. Proceso.
Frameworks y herramientas: CruiseControl, Maven, Subversion, JIRA,
Doxygen, Clover, JDepent, PMD/CPD, Checklist, Enterprise Architecture.
Resultados. Ejemplos.
⇒ Pruebas Funcionales. Casos de Uso. Casos de Prueba. Procedimientos de
Prueba. Ejemplos.
⇒ Revisiones. Estándares de codificación. Java. Estándares de diseño.
Revisiones soportadas por herramientas. Dinámica. Organización. Resultados.
⇒ Métricas. Qué medir? Cómo medir? Cómo utilizar los resultados?. Métricas de
código, indicadores visuales (Polimétricas, ClassBlueprint), herramientas
inCode y XRay.
BIBLIOGRAFÍA
¾
Continuous Integration: Improving Software Quality and Reducing Risk,
Paul M. Duvall, Andrew Glover, Steve Matyas, Addison-Wesley Martin
Fowler Signature Series, 2008.
¾
xUnit Test Patterns: Refactoring Test Code, Gerard Meszaros, AddisonWesley, 2007.
2
“capacitación y guía para el desarrollo de software”
¾
JUnit Recipes - Practical Methods for Programmer Testing, J.B.
Rainsberger with contributions by Scott Stirling, Manning, 2005.
¾
Object Oriented Metrics in Practice, Michele Lanza, Radu Marinescu,
Springer Verlag Berlin Heidelberg 2006.
¾
¾
Code Complete (2nd edition), Steve McConnell, Microsoft Press, 1993.
A Practical Guide to Testing Object – Oriented Software, John McGregor,
David Sykes, Addison Wesley, 2001.
¾
Systematic Software Testing, Rick D. Craig, Stefan P. Jaskiel, Artech
House Publishers, 2002.
¾
The Craft of Software Testing,Brian Marick , PH, 1995.
¾
The Art of Software Testing (2nd edition), Glenford J. Myers, John Wiley &
Sons, Inc, 2004.
DOCENTE
Ing. Guillermo G. Pantaleo
MODALIDAD DEL DESARROLLO
El curso es de tipo teórico/práctico y se desarrolla sobre casos testigos. Para
ejemplificar el curso se utilizan herramientas case (Enterprise Architect) y de
desarrollo (Eclipse) y las mencionadas en el temario.
DURACIÓN
La duración del curso es de 15hs.
MODO DE DESARROLLO
Se propone desarrollar el curso en dos clases semanales de 3 horas de duración.
MATERIAL
Se entrega a los asistentes material en formato electrónico.
INFRAESTRUCTURA
Para el desarrollo del curso es necesario un cañón proyector y una conección a
internet de banda ancha sin filtrado de ningún tipo.
3
Descargar