SlideShare una empresa de Scribd logo
PRUEBAS AUTOMÁTICAS
Joan Sebastián Ramírez Pérez
2017
AGENDA
Pruebas de software
Cuadrantes testing Agil
Mocking
Pruebas unitarias
Pruebas de integración
Pruebas funcionales
Pruebas de sistema
Bibliografía
AGENDA
Pruebas de software
Cuadrantes testing Agil
Mocking
Pruebas unitarias
Pruebas de integración
Pruebas funcionales
Pruebas de sistema
Bibliografía
CUADRANTES AGILE TESTING, BRIAN
MARICK
http://lisacrispin.com/2011/11/08/using-the-agile-testing-
quadrants/
PRUEBAS DE SOFTWARE
Pruebas de Software es un proceso de evaluar un sistema ya
sea manual o automático y verificar que este satisface los
requisitos o identifica diferencias entre lo esperados y los
resultados actuales.
Subconjunto de las llamadas “prácticas técnicas” en la cual
se automatizan las pruebas del software.
Alrededor del 30 40% del tiempo de la implementación se
invierte en la automatización de pruebas de software.
Las pruebas de software apuntan a mejorar la calidad del
producto.
TIPOS DE PRUEBAS
AUTOMATIZADAS
Unitarias
Integración
Funcionales
Sistema
¿POR QUÉ HACER PRUEBAS
DE SOFTWARE?
Mitigar errores en la aplicación.
Eficiencia de la aplicación.
Aseguramiento de la calidad (proceso del desarrollo del
software).
Flexibilidad del software.
Adaptación del sistema a cambios futuros.
AGENDA
Pruebas de software
Cuadrantes testing Agil
Mocking
Pruebas unitarias
Pruebas de integración
Pruebas funcionales
Pruebas de sistema
Bibliografía
MOCKING
Los mocks son objetos falsos que simulan el comportamiento de un
objeto real.
Se llaman Mock a los objetos que imitan el comportamiento de
objetos reales de una forma controlada. Se usan para probar a
otros objetos en test unitarios que esperan mensajes de una clase
en particular para sus métodos, al igual que los diseñadores de
autos usan un crash dummy cuando simulan un accidente.
Algunos frameworks para hacer mocks: Mockito, EasyMock,
PowerMock, Jmock, Jmockit, ngMock, JustMock, Nmock,
RhinoMock.
EJEMPLO
Framework: mockito
AGENDA
Pruebas de software
Cuadrantes testing Agil
Mocking
Pruebas unitarias
Pruebas de integración
Pruebas funcionales
Pruebas de sistema
Bibliografía
PRUEBAS UNITARIAS
Testean la funcionalidad de una unidad de código
emulando las llamas a otras unidades (tanto internas como
externas).
La emulación se hace a través de mocking.
las pruebas unitarias por lo general son simples y rápidas
de codificar, el desarrollo de una prueba unitaria no debería
tomar más de cinco minutos.
Algunos frameworks: Junit, Karma, Nunit, RSpec.
¿QUÉ DEBERÍA CUMPLIR UNA
PRUEBA UNITARIA?
Unitaria: prueba solamente pequeñas cantidades de
código.
Independiente: no debe depender ni afectar a otras
pruebas unitarias.
Automatizable: la prueba no debería requerir intervención
manual.
Repetible y predecible: no debe incidir el orden y las veces
que se repita la prueba, el resultado siempre debe ser el
mismo.
PATRÓN AAA
Hace referencia a la forma en la cual se debe organizar el
código para automatizar una prueba.
Arrange: preparar objetos, variables, dependencias y mock
necesarios para hacer el llamado a la prueba.
Act: se invoca la funcionalidad que se quiere probar con lo
que se genero en el arrange.
Assert: verificar que el resultado del act coincide con el
esperado a través de un assert. Un único assert por
prueba.
SET UP Y TEAR DOWN
Set up nos permite inicializar
valores comunes a todos los
test.
Tear Down nos permite limpiar
valores comunes a todos los
test.
– Mismo Hevery
“No hay ningún secreto en cómo escribir los tests,
solo hay secretos en cómo escribir código
testeable.”
AGENDA
Pruebas de software
Cuadrantes testing Agil
Mocking
Pruebas unitarias
Pruebas de integración
Pruebas funcionales
Pruebas de sistema
Bibliografía
PRUEBAS DE INTEGRACIÓN
Testean unidades de código.
Se hacen similar a las unitarias solo que no es necesaria la
emulación de las unidades.
Es importante probar excepciones y timeout en este tipo de
pruebas.
Se hacen con los mismos framework que las pruebas
unitarias.
¿CUÁNDO ES UNA PRUEBA
DE INTEGRACIÓN?
Cuando involucra una o más clases en simultaneo.
Cuando el código se comunica fuera de las fronteras de su
propio proceso (base de datos, la red, sistemas de
archivos)
AGENDA
Pruebas de software
Cuadrantes testing Agil
Mocking
Pruebas unitarias
Pruebas de integración
Pruebas funcionales
Pruebas de sistema
Bibliografía
PRUEBAS FUNCIONALES
Testean la aplicación incluso interactuando con las
diferentes capas de ella.
Estas pruebas simulan la interacción del usuario con la
aplicación.
Jbehave, Cucumber, Protractor, Selenium, Code Ui, Spec
Flow, etc.
TIPOS DE PRUEBAS
FUNCIONALES
Visuales o de apariencia: garantizan que la interfaz de
usuario se despliega de la manera esperada con todas sus
secciones, comportamientos y elementos
Transversales: son las pruebas en las cuales se hace un
robot que ingresa los datos a la pantalla y hace la petición
como lo haría un usuario.
AGENDA
Pruebas de software
Cuadrantes testing Agil
Mocking
Pruebas unitarias
Pruebas de integración
Pruebas funcionales
Pruebas de sistema
Bibliografía
PRUEBAS DEL SISTEMA
Testean la aplicación como un todo.
Usualmente son usadas para realizar pruebas de stress o
para verificar atributos de calidad definidos para la
aplicación.
Pruebas requisitos no funcionales.
TIPOS DE PRUEBAS DE
SISTEMA
Rendimiento: mide la aplicación respecto a los requisitos no
funcionales asociados a tiempo de respuesta. Pueden medir
también consumo de recursos, memoria, disco, procesador,
ancho de banda, etc.
Escalabilidad: mide que el rendimiento de la aplicación no
desmejore abruptamente en la medida que incrementa el
número de usuarios.
Profiling: análisis de rendimiento en un determinado
momento. Usado habitualmente para identificar problemas de
rendimiento en ambientes de producción.
AGENDA
Pruebas de software
Cuadrantes testing Agil
Mocking
Pruebas unitarias
Pruebas de integración
Pruebas funcionales
Pruebas de sistema
Bibliografía
BIBLIOGRAFÍA
Crispin, Lisa. Gregory, Janet. Agile Testing Essentials.
Crispin, Lisa. Gregory, Janet. Agile Testing: A Practical
Guide for Testers and Agile Teams
Crispin, Lisa. Gregory, Janet. More Agile Testing: Learning
Journeys for the Whole Team
Marick, Brian. Everyday Scripting with Ruby.

Más contenido relacionado

La actualidad más candente

Como Probar Una AplicacióN Web
Como Probar Una AplicacióN WebComo Probar Una AplicacióN Web
Como Probar Una AplicacióN Web
rlramirez
 
Testing automatizado de aplicaciones web
Testing automatizado de aplicaciones webTesting automatizado de aplicaciones web
Testing automatizado de aplicaciones web
Anibal Guzmán Miranda
 
5. Métodos de Prueba de Software
5. Métodos de Prueba de Software5. Métodos de Prueba de Software
5. Métodos de Prueba de Software
Mario A Moreno Rocha
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
StudentPc
 
Fundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del softwareFundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del software
William Remolina
 
Estrategias de prueba del software
Estrategias de prueba del softwareEstrategias de prueba del software
Estrategias de prueba del software
Chava Romero Aguilar
 
Automatización de pruebas funcionales
Automatización de pruebas funcionalesAutomatización de pruebas funcionales
Automatización de pruebas funcionales
Vicenç García-Altés
 
Validación y Verificación de Software
Validación y Verificación de SoftwareValidación y Verificación de Software
Validación y Verificación de Software
Alexandre Texeira Bondelas
 
Pruebas software (1)
Pruebas  software (1)Pruebas  software (1)
Pruebas software (1)
René Pari
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
Rocio Bonifaz Cuenca
 
Capitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_softwareCapitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_software
Andres Valencia
 
Gestion de la calidad con software libre
Gestion de la calidad con software libreGestion de la calidad con software libre
Gestion de la calidad con software libre
Manuel Morales
 
Fases de prueba de software
Fases de prueba de softwareFases de prueba de software
Fases de prueba de software
Marco Antonio
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Abstracta
 
3 importancia de la validación
3 importancia de la validación3 importancia de la validación
3 importancia de la validación
Bitter Lemon
 
Estrategias de prueba de software
Estrategias de prueba de softwareEstrategias de prueba de software
Estrategias de prueba de software
yalogueso81
 
Verificación y Validación de Software
Verificación y Validación de SoftwareVerificación y Validación de Software
Verificación y Validación de Software
Jeniffer Manosalvas
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
Jose Patricio Bovet Derpich
 
Mejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicacionesMejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicaciones
Software Guru
 
Testing & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetsTesting & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnets
eusonlito
 

La actualidad más candente (20)

Como Probar Una AplicacióN Web
Como Probar Una AplicacióN WebComo Probar Una AplicacióN Web
Como Probar Una AplicacióN Web
 
Testing automatizado de aplicaciones web
Testing automatizado de aplicaciones webTesting automatizado de aplicaciones web
Testing automatizado de aplicaciones web
 
5. Métodos de Prueba de Software
5. Métodos de Prueba de Software5. Métodos de Prueba de Software
5. Métodos de Prueba de Software
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Fundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del softwareFundamento pruebas Ingeniería del software
Fundamento pruebas Ingeniería del software
 
Estrategias de prueba del software
Estrategias de prueba del softwareEstrategias de prueba del software
Estrategias de prueba del software
 
Automatización de pruebas funcionales
Automatización de pruebas funcionalesAutomatización de pruebas funcionales
Automatización de pruebas funcionales
 
Validación y Verificación de Software
Validación y Verificación de SoftwareValidación y Verificación de Software
Validación y Verificación de Software
 
Pruebas software (1)
Pruebas  software (1)Pruebas  software (1)
Pruebas software (1)
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Capitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_softwareCapitulo 17 estrategias_de_prueba_de_software
Capitulo 17 estrategias_de_prueba_de_software
 
Gestion de la calidad con software libre
Gestion de la calidad con software libreGestion de la calidad con software libre
Gestion de la calidad con software libre
 
Fases de prueba de software
Fases de prueba de softwareFases de prueba de software
Fases de prueba de software
 
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...
 
3 importancia de la validación
3 importancia de la validación3 importancia de la validación
3 importancia de la validación
 
Estrategias de prueba de software
Estrategias de prueba de softwareEstrategias de prueba de software
Estrategias de prueba de software
 
Verificación y Validación de Software
Verificación y Validación de SoftwareVerificación y Validación de Software
Verificación y Validación de Software
 
Conociendo Nuestro Fua interno
Conociendo Nuestro Fua internoConociendo Nuestro Fua interno
Conociendo Nuestro Fua interno
 
Mejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicacionesMejores prácticas para testing de aplicaciones
Mejores prácticas para testing de aplicaciones
 
Testing & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetsTesting & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnets
 

Similar a Pruebas automaticas

Pruebas
PruebasPruebas
Pruebas
phortos
 
Prubea de software
Prubea de softwarePrubea de software
Prubea de software
Lucio Pimienta Pineda
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
Gomez Gomez
 
Mapa conseptual tipos de pruebas.
Mapa conseptual tipos de pruebas.Mapa conseptual tipos de pruebas.
Mapa conseptual tipos de pruebas.
LuisManuelPoot
 
Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
Jose Luis Rodriguez Roldan
 
Tipos de pruebas
Tipos de pruebasTipos de pruebas
Tipos de pruebas
Carlos Alejandro Pacheco
 
Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NET
Angel Nuñez
 
Otros tipos de pruebas
Otros tipos de pruebasOtros tipos de pruebas
Otros tipos de pruebas
Pedro Daniel
 
Otros tipos de pruebas
Otros tipos de pruebasOtros tipos de pruebas
Otros tipos de pruebas
Cesar Dzib
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
Tensor
 
Ces cacic07-automatizacion y-gestion_pruebas_funcionales
Ces cacic07-automatizacion y-gestion_pruebas_funcionalesCes cacic07-automatizacion y-gestion_pruebas_funcionales
Ces cacic07-automatizacion y-gestion_pruebas_funcionales
ginacris
 
Prueba unitaria
Prueba unitariaPrueba unitaria
Prueba unitaria
JefferRosendo
 
ESTRATE
ESTRATEESTRATE
ESTRATE
Aldo Sánchez
 
La auditoría de software
La auditoría de softwareLa auditoría de software
La auditoría de software
Luis Domingo
 
La auditoría de software
La auditoría de softwareLa auditoría de software
La auditoría de software
Luis Domingo
 
La auditoría de software
La auditoría de softwareLa auditoría de software
La auditoría de software
Luis Domingo
 
La auditoría de software
La auditoría de softwareLa auditoría de software
La auditoría de software
Luis Domingo
 
Estrategias de aplicación de pruebas
Estrategias de aplicación de pruebasEstrategias de aplicación de pruebas
Estrategias de aplicación de pruebas
Aldo Sánchez
 
Estrategias de aplicación de pruebas
Estrategias de aplicación de pruebasEstrategias de aplicación de pruebas
Estrategias de aplicación de pruebas
Aldo Sánchez
 
Estrategias de aplicación de pruebas
Estrategias de aplicación de pruebasEstrategias de aplicación de pruebas
Estrategias de aplicación de pruebas
Aldo Sánchez
 

Similar a Pruebas automaticas (20)

Pruebas
PruebasPruebas
Pruebas
 
Prubea de software
Prubea de softwarePrubea de software
Prubea de software
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Mapa conseptual tipos de pruebas.
Mapa conseptual tipos de pruebas.Mapa conseptual tipos de pruebas.
Mapa conseptual tipos de pruebas.
 
Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
 
Tipos de pruebas
Tipos de pruebasTipos de pruebas
Tipos de pruebas
 
Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NET
 
Otros tipos de pruebas
Otros tipos de pruebasOtros tipos de pruebas
Otros tipos de pruebas
 
Otros tipos de pruebas
Otros tipos de pruebasOtros tipos de pruebas
Otros tipos de pruebas
 
Pruebas de software
Pruebas de softwarePruebas de software
Pruebas de software
 
Ces cacic07-automatizacion y-gestion_pruebas_funcionales
Ces cacic07-automatizacion y-gestion_pruebas_funcionalesCes cacic07-automatizacion y-gestion_pruebas_funcionales
Ces cacic07-automatizacion y-gestion_pruebas_funcionales
 
Prueba unitaria
Prueba unitariaPrueba unitaria
Prueba unitaria
 
ESTRATE
ESTRATEESTRATE
ESTRATE
 
La auditoría de software
La auditoría de softwareLa auditoría de software
La auditoría de software
 
La auditoría de software
La auditoría de softwareLa auditoría de software
La auditoría de software
 
La auditoría de software
La auditoría de softwareLa auditoría de software
La auditoría de software
 
La auditoría de software
La auditoría de softwareLa auditoría de software
La auditoría de software
 
Estrategias de aplicación de pruebas
Estrategias de aplicación de pruebasEstrategias de aplicación de pruebas
Estrategias de aplicación de pruebas
 
Estrategias de aplicación de pruebas
Estrategias de aplicación de pruebasEstrategias de aplicación de pruebas
Estrategias de aplicación de pruebas
 
Estrategias de aplicación de pruebas
Estrategias de aplicación de pruebasEstrategias de aplicación de pruebas
Estrategias de aplicación de pruebas
 

Más de Joan Sebastián Ramírez Pérez

Clean architecture
Clean architectureClean architecture
Orm
OrmOrm
Servicios web
Servicios webServicios web
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
Joan Sebastián Ramírez Pérez
 
Microservicios
MicroserviciosMicroservicios
Control de versiones
Control de versionesControl de versiones
Control de versiones
Joan Sebastián Ramírez Pérez
 
Código Limpio
Código LimpioCódigo Limpio
Ciclo devida
Ciclo devidaCiclo devida
Roles scrum
Roles scrumRoles scrum
Lean startup
Lean startupLean startup
Principios SOLID
Principios SOLIDPrincipios SOLID
Código Limpio
Código LimpioCódigo Limpio
Modelo diseño
Modelo diseñoModelo diseño
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
Joan Sebastián Ramírez Pérez
 
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
Joan Sebastián Ramírez Pérez
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
Joan Sebastián Ramírez Pérez
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
Joan Sebastián Ramírez Pérez
 
Patrones GOF
Patrones GOFPatrones GOF
Calidad en el desarrollo del software
Calidad en el desarrollo del softwareCalidad en el desarrollo del software
Calidad en el desarrollo del software
Joan Sebastián Ramírez Pérez
 
Lean canvas
Lean canvasLean canvas

Más de Joan Sebastián Ramírez Pérez (20)

Clean architecture
Clean architectureClean architecture
Clean architecture
 
Orm
OrmOrm
Orm
 
Servicios web
Servicios webServicios web
Servicios web
 
La nube. Cloud computting
La nube. Cloud computtingLa nube. Cloud computting
La nube. Cloud computting
 
Microservicios
MicroserviciosMicroservicios
Microservicios
 
Control de versiones
Control de versionesControl de versiones
Control de versiones
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Ciclo devida
Ciclo devidaCiclo devida
Ciclo devida
 
Roles scrum
Roles scrumRoles scrum
Roles scrum
 
Lean startup
Lean startupLean startup
Lean startup
 
Principios SOLID
Principios SOLIDPrincipios SOLID
Principios SOLID
 
Código Limpio
Código LimpioCódigo Limpio
Código Limpio
 
Modelo diseño
Modelo diseñoModelo diseño
Modelo diseño
 
Roles desarrollo del software
Roles desarrollo del softwareRoles desarrollo del software
Roles desarrollo del software
 
Refactor y deuda técnica
Refactor y deuda técnicaRefactor y deuda técnica
Refactor y deuda técnica
 
Diagramas comportamiento
Diagramas comportamientoDiagramas comportamiento
Diagramas comportamiento
 
Patrones diseño y arquitectura
Patrones diseño y arquitecturaPatrones diseño y arquitectura
Patrones diseño y arquitectura
 
Patrones GOF
Patrones GOFPatrones GOF
Patrones GOF
 
Calidad en el desarrollo del software
Calidad en el desarrollo del softwareCalidad en el desarrollo del software
Calidad en el desarrollo del software
 
Lean canvas
Lean canvasLean canvas
Lean canvas
 

Último

DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
Maria Celeste Trujillo Cruz
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
dayronfabricioruizmo
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
PaulDelgadoSoto
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
eliersin13
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
Eduardo455921
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
micarnavaltupatrimon
 

Último (7)

DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
DIAPOSITIVA DE LA MEMORIA RAM.PPXT.-MARIATRUJILLO.
 
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptxTARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
TARJETA MADRE DE DAYRON FABRI RUIZ-1.pptx
 
Introduccion al Lenguaje de Programación C++
Introduccion al Lenguaje de Programación  C++Introduccion al Lenguaje de Programación  C++
Introduccion al Lenguaje de Programación C++
 
primer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporteprimer manual de nuestra compañía de soporte
primer manual de nuestra compañía de soporte
 
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcelherramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
herramientaswebpdfwww.edu.pe.edu.institutoluisevalcarcel
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
Mi Carnaval, Aplicación web para la gestión del carnaval y la predicción basa...
 

Pruebas automaticas

  • 2. AGENDA Pruebas de software Cuadrantes testing Agil Mocking Pruebas unitarias Pruebas de integración Pruebas funcionales Pruebas de sistema Bibliografía
  • 3. AGENDA Pruebas de software Cuadrantes testing Agil Mocking Pruebas unitarias Pruebas de integración Pruebas funcionales Pruebas de sistema Bibliografía
  • 4. CUADRANTES AGILE TESTING, BRIAN MARICK http://lisacrispin.com/2011/11/08/using-the-agile-testing- quadrants/
  • 5. PRUEBAS DE SOFTWARE Pruebas de Software es un proceso de evaluar un sistema ya sea manual o automático y verificar que este satisface los requisitos o identifica diferencias entre lo esperados y los resultados actuales. Subconjunto de las llamadas “prácticas técnicas” en la cual se automatizan las pruebas del software. Alrededor del 30 40% del tiempo de la implementación se invierte en la automatización de pruebas de software. Las pruebas de software apuntan a mejorar la calidad del producto.
  • 7. ¿POR QUÉ HACER PRUEBAS DE SOFTWARE? Mitigar errores en la aplicación. Eficiencia de la aplicación. Aseguramiento de la calidad (proceso del desarrollo del software). Flexibilidad del software. Adaptación del sistema a cambios futuros.
  • 8. AGENDA Pruebas de software Cuadrantes testing Agil Mocking Pruebas unitarias Pruebas de integración Pruebas funcionales Pruebas de sistema Bibliografía
  • 9. MOCKING Los mocks son objetos falsos que simulan el comportamiento de un objeto real. Se llaman Mock a los objetos que imitan el comportamiento de objetos reales de una forma controlada. Se usan para probar a otros objetos en test unitarios que esperan mensajes de una clase en particular para sus métodos, al igual que los diseñadores de autos usan un crash dummy cuando simulan un accidente. Algunos frameworks para hacer mocks: Mockito, EasyMock, PowerMock, Jmock, Jmockit, ngMock, JustMock, Nmock, RhinoMock.
  • 11. AGENDA Pruebas de software Cuadrantes testing Agil Mocking Pruebas unitarias Pruebas de integración Pruebas funcionales Pruebas de sistema Bibliografía
  • 12. PRUEBAS UNITARIAS Testean la funcionalidad de una unidad de código emulando las llamas a otras unidades (tanto internas como externas). La emulación se hace a través de mocking. las pruebas unitarias por lo general son simples y rápidas de codificar, el desarrollo de una prueba unitaria no debería tomar más de cinco minutos. Algunos frameworks: Junit, Karma, Nunit, RSpec.
  • 13. ¿QUÉ DEBERÍA CUMPLIR UNA PRUEBA UNITARIA? Unitaria: prueba solamente pequeñas cantidades de código. Independiente: no debe depender ni afectar a otras pruebas unitarias. Automatizable: la prueba no debería requerir intervención manual. Repetible y predecible: no debe incidir el orden y las veces que se repita la prueba, el resultado siempre debe ser el mismo.
  • 14. PATRÓN AAA Hace referencia a la forma en la cual se debe organizar el código para automatizar una prueba. Arrange: preparar objetos, variables, dependencias y mock necesarios para hacer el llamado a la prueba. Act: se invoca la funcionalidad que se quiere probar con lo que se genero en el arrange. Assert: verificar que el resultado del act coincide con el esperado a través de un assert. Un único assert por prueba.
  • 15. SET UP Y TEAR DOWN Set up nos permite inicializar valores comunes a todos los test. Tear Down nos permite limpiar valores comunes a todos los test.
  • 16.
  • 17. – Mismo Hevery “No hay ningún secreto en cómo escribir los tests, solo hay secretos en cómo escribir código testeable.”
  • 18. AGENDA Pruebas de software Cuadrantes testing Agil Mocking Pruebas unitarias Pruebas de integración Pruebas funcionales Pruebas de sistema Bibliografía
  • 19. PRUEBAS DE INTEGRACIÓN Testean unidades de código. Se hacen similar a las unitarias solo que no es necesaria la emulación de las unidades. Es importante probar excepciones y timeout en este tipo de pruebas. Se hacen con los mismos framework que las pruebas unitarias.
  • 20. ¿CUÁNDO ES UNA PRUEBA DE INTEGRACIÓN? Cuando involucra una o más clases en simultaneo. Cuando el código se comunica fuera de las fronteras de su propio proceso (base de datos, la red, sistemas de archivos)
  • 21. AGENDA Pruebas de software Cuadrantes testing Agil Mocking Pruebas unitarias Pruebas de integración Pruebas funcionales Pruebas de sistema Bibliografía
  • 22. PRUEBAS FUNCIONALES Testean la aplicación incluso interactuando con las diferentes capas de ella. Estas pruebas simulan la interacción del usuario con la aplicación. Jbehave, Cucumber, Protractor, Selenium, Code Ui, Spec Flow, etc.
  • 23. TIPOS DE PRUEBAS FUNCIONALES Visuales o de apariencia: garantizan que la interfaz de usuario se despliega de la manera esperada con todas sus secciones, comportamientos y elementos Transversales: son las pruebas en las cuales se hace un robot que ingresa los datos a la pantalla y hace la petición como lo haría un usuario.
  • 24. AGENDA Pruebas de software Cuadrantes testing Agil Mocking Pruebas unitarias Pruebas de integración Pruebas funcionales Pruebas de sistema Bibliografía
  • 25. PRUEBAS DEL SISTEMA Testean la aplicación como un todo. Usualmente son usadas para realizar pruebas de stress o para verificar atributos de calidad definidos para la aplicación. Pruebas requisitos no funcionales.
  • 26. TIPOS DE PRUEBAS DE SISTEMA Rendimiento: mide la aplicación respecto a los requisitos no funcionales asociados a tiempo de respuesta. Pueden medir también consumo de recursos, memoria, disco, procesador, ancho de banda, etc. Escalabilidad: mide que el rendimiento de la aplicación no desmejore abruptamente en la medida que incrementa el número de usuarios. Profiling: análisis de rendimiento en un determinado momento. Usado habitualmente para identificar problemas de rendimiento en ambientes de producción.
  • 27. AGENDA Pruebas de software Cuadrantes testing Agil Mocking Pruebas unitarias Pruebas de integración Pruebas funcionales Pruebas de sistema Bibliografía
  • 28. BIBLIOGRAFÍA Crispin, Lisa. Gregory, Janet. Agile Testing Essentials. Crispin, Lisa. Gregory, Janet. Agile Testing: A Practical Guide for Testers and Agile Teams Crispin, Lisa. Gregory, Janet. More Agile Testing: Learning Journeys for the Whole Team Marick, Brian. Everyday Scripting with Ruby.