Curso de desarrollo de Pruebas del Software

FrontEnd, BackEnd

Introducción al desarrollo de pruebas, usando la herramienta JUnit

Avanzado Medio (de 8 a 20 horas)
Clic para comenzar...

Objetivos

El objetivo del curso de pruebas del software es presentar una visión general de este área del desarrollo de software, abordando asuntos generales como vocabulario, tácticas, estrategias, tipos de pruebas, herramientas de testing, metodologías, etc.

Para profundizar en la materia y realizar ejemplos concretos de pruebas automáticas abordaremos la herramienta JUnit, un conjunto de librerías utilizadas para el desarrollo de pruebas unitarias en el lenguaje de programación Java.

Programa de clases del curso

Introducción

Definiciones previas: Entorno y Código de Producción y Preproducción, Validación y Verificación, Característica, Sujeto bajo Prueba (SUT) y Componente del que depende (DOC), Caso de Prueba.
Justificación de las Pruebas: Eficacia y Eficiencia, Cobertura de Código
Objetivos de las Pruebas: Fases Mentales, Triángulo de hierro
Tipos de Pruebas: Según el SUT (Unitarias, Componentes/Integración, Sistema/Aceptación), la característica (Funcionales, No Funcionales), la ejecución (Manuales y Automáticas) y la táctica (estáticas, caja negra y blanca)
Herramientas de Pruebas: Pruebas de Registro y de Script

Pruebas Estáticas

Pruebas Manuales, Semiautomáticas y Automáticas. 
Análisis Económico

Pruebas Automáticas

Ciclo de Vida de las Pruebas Automáticas
Ejecución de Pruebas
Integración Continua
Ejecución de Pruebas con Integración Continua
Pruebas Alpha/Beta y de Humo

Organización de las Pruebas Automáticas:
Organización General y de Pruebas Unitarias
Clases de Pruebas
Métodos de Prueba (Cabecera, Cuerpo -Arrange/Act/Assert-, Aserciones (AssertTrue/AssertEquals/…)
Comparadores (AssertThat/is/not/either/…)
Reutilización –Before/After- y Parámetros, Expceciones/TimeOut)
Conjuntos de Prueba.

Metodologías de Pruebas

Desarrollo con Pruebas al Final (TLD)
Desarrollo con pruebas all Principio (TFD)
Desarrollo dirigido por Pruebas (TDD)
Desarrollo dirigido por el Comportamiento (BDD)

Requisitos de conocimientos por los estudiantes

Para el acceso a este curso se recomienda poseer experiencia previa en Programación Orientada a Objetos con un lenguaje similar a Java (C++, C#, Ruby, ...): clases, atributos, métodos, objetos, mensajes, herencia, polimorfismo, ...

Así mismo es ideal poseer conocimientos de Diseño Orientado a Objetos: KISS, YAGNI, SOLID, GRASP, Diseño por Contrato, Inyección de Dependencias, ... 

Tipos de pruebas

Luis Fernández

Pruebas dinamicas

Luis Fernández

Pruebas, pruebas, pruebas

Luis Fernández

Aspectos avanzados de jUnit

Luis Fernández

Luis Fernández

Doctor en Inteligencia Artificial e Ingeniero Informático