SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
pruebas unitarias UNIT TESTING pruebas unitarias Créditos: Félix Rivas Jorge Salas
pruebas unitarias Test = prueba, examen ¿Qué prueban en un software? Un bloque de código fuente Una funcionalidad completa ¿Por qué probamos un software? Encontrar y corregir bugs. ¿Cómo probamos un software? Input / Output
pruebas unitarias Pruebas de Unidad Unit = unidades    POO (Métodos) Test = prueba, examen Si tenemos una función que realiza cierto cálculo: función suma( a, b) .... fin Podemos probar esta función de esta manera: Si (suma(1,1) es igual a 2) // :-D caso contrario // :-(
pruebas unitarias Técnica Verificar igualdad de dos valores. Verificar que una sentencia sea verdadera. Verificar que un objeto exista. Verificar que dos objetos sean del mismo tipo.
pruebas unitarias Ventajas Facilita el cambio. Simplifica la integración. Lleva la programación a otro nivel. Aunque suene difícil de creer, acelera el desarrollo de software. Desventajas Estimación Código extenso
pruebas unitarias Existen Unit Testing Frameworks para la mayoría de lenguajes de programación. Sunit: Smalltalk Java: JUnit Ruby: Test::Unit Python: PyUnit Perl: TAP (Test Anything Protocol) PHP: PHPUnit .NET: NUnit
pruebas unitarias package  pruebarapida;   import  org.junit.*;   import   static  org.junit.Assert.*;  import  java.util.*;  public class  TestingJava {  @Test public  void testEmptyCollection() {  Collection  collection =  new  ArrayList();  assertTrue(collection.isEmpty());  }   public static  void main( String  args[]) {  org.junit.runner.JUnitCore.main("pruebarapida.TestingJava");  }  }  Ejemplo: JUnit
pruebas unitarias package  pruebarapida;  import  org.junit.*;  import static  org.junit.Assert.*;  import  java.util.*;  public class  TestingJava {  private Collection <Object> collection;  @Before  public  void setUp() {  collection =  new  ArrayList<Object>();  }  @Test public  void testEmptyCollection() {  assertTrue(collection.isEmpty());  }  @Test public  void testOneItemCollection() {  collection.add(&quot;itemA&quot;);  assertEquals(1, collection.size());  }  }   Ejemplo: JUnit
pruebas unitarias require  ‘test/unit’   class  PruebaSuma  <  Test::Unit::TestCase def  test_suma assert_equal 4, 2+2 assert_equal 4, 3+1 assert_equal 5, 5+0 assert_equal 0, -5+5 end end Ejemplo: Test::Unit
pruebas unitarias ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Más contenido relacionado

La actualidad más candente

Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Paulo Clavijo
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blancaStudentPc
 
Prueba De La Estructura De Control
Prueba De La Estructura De ControlPrueba De La Estructura De Control
Prueba De La Estructura De ControlErma Chamba
 
Tema 9 pruebas unitarias por gio
Tema 9   pruebas unitarias por gioTema 9   pruebas unitarias por gio
Tema 9 pruebas unitarias por gioRobert Wolf
 
Pruebas Automatizadas
Pruebas AutomatizadasPruebas Automatizadas
Pruebas AutomatizadasAngel Nuñez
 
Proyecto de sistemas de información luis castellanos (prueba)
Proyecto de sistemas de información   luis castellanos (prueba)Proyecto de sistemas de información   luis castellanos (prueba)
Proyecto de sistemas de información luis castellanos (prueba)Luis R Castellanos
 
Prueba de-caja-negra-y-caja-blanca pwp
Prueba de-caja-negra-y-caja-blanca pwpPrueba de-caja-negra-y-caja-blanca pwp
Prueba de-caja-negra-y-caja-blanca pwpGomez Gomez
 
Tecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de softwareTecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de softwareclean88
 
Junit y Jmock
Junit y JmockJunit y Jmock
Junit y Jmockkaolong
 
Mapa conseptual tipos de pruebas.
Mapa conseptual tipos de pruebas.Mapa conseptual tipos de pruebas.
Mapa conseptual tipos de pruebas.LuisManuelPoot
 
Ingenieria de sw Junit
Ingenieria de sw JunitIngenieria de sw Junit
Ingenieria de sw Junitpattyand89
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de softwareGuillermo Lemus
 

La actualidad más candente (20)

Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4Tests Unitarios con JUnit 4
Tests Unitarios con JUnit 4
 
Caja blanca
Caja blancaCaja blanca
Caja blanca
 
Software caja negra y caja blanca
Software caja negra y caja blancaSoftware caja negra y caja blanca
Software caja negra y caja blanca
 
Las mejores herramientas para realizar pruebas de software
Las mejores herramientas para realizar pruebas de softwareLas mejores herramientas para realizar pruebas de software
Las mejores herramientas para realizar pruebas de software
 
Prueba De La Estructura De Control
Prueba De La Estructura De ControlPrueba De La Estructura De Control
Prueba De La Estructura De Control
 
Tema 9 pruebas unitarias por gio
Tema 9   pruebas unitarias por gioTema 9   pruebas unitarias por gio
Tema 9 pruebas unitarias por gio
 
Pruebas Automatizadas
Pruebas AutomatizadasPruebas Automatizadas
Pruebas Automatizadas
 
Proyecto de sistemas de información luis castellanos (prueba)
Proyecto de sistemas de información   luis castellanos (prueba)Proyecto de sistemas de información   luis castellanos (prueba)
Proyecto de sistemas de información luis castellanos (prueba)
 
Pruebas de estres
Pruebas de estresPruebas de estres
Pruebas de estres
 
Pruebas de Software
Pruebas de SoftwarePruebas de Software
Pruebas de Software
 
Prueba de-caja-negra-y-caja-blanca pwp
Prueba de-caja-negra-y-caja-blanca pwpPrueba de-caja-negra-y-caja-blanca pwp
Prueba de-caja-negra-y-caja-blanca pwp
 
Tecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de softwareTecnicas de prueba y mantenimiento de software
Tecnicas de prueba y mantenimiento de software
 
Pruebas del software
Pruebas del softwarePruebas del software
Pruebas del software
 
Junit y Jmock
Junit y JmockJunit y Jmock
Junit y Jmock
 
Mapa conseptual tipos de pruebas.
Mapa conseptual tipos de pruebas.Mapa conseptual tipos de pruebas.
Mapa conseptual tipos de pruebas.
 
Ingenieria de sw Junit
Ingenieria de sw JunitIngenieria de sw Junit
Ingenieria de sw Junit
 
Tecnicas de Pruebas
 Tecnicas de Pruebas  Tecnicas de Pruebas
Tecnicas de Pruebas
 
Prueba de Caja Blanca
Prueba de Caja BlancaPrueba de Caja Blanca
Prueba de Caja Blanca
 
Tipos de pruebas de software
Tipos de pruebas de softwareTipos de pruebas de software
Tipos de pruebas de software
 
Unit testing
Unit testingUnit testing
Unit testing
 

Similar a Unit Testing

Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013dayaorte
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..siticfje
 
Taller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansTaller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansEmerson Garay
 
Unit Testing - GTUG
Unit Testing - GTUGUnit Testing - GTUG
Unit Testing - GTUGJordi Gerona
 
Introducción a JUnit
Introducción a JUnitIntroducción a JUnit
Introducción a JUnitIker Canarias
 
Testing efectivo con pytest
Testing efectivo con pytestTesting efectivo con pytest
Testing efectivo con pytestHector Canto
 
Jyoc java-cap23 j unit
Jyoc java-cap23 j unitJyoc java-cap23 j unit
Jyoc java-cap23 j unitJyoc X
 
Introducción a Unit Testing y TDD
Introducción a Unit Testing y TDDIntroducción a Unit Testing y TDD
Introducción a Unit Testing y TDDFernando Perez
 
Introducción y novedades de JUnit 5 (16/01/2018)
Introducción y novedades de JUnit 5 (16/01/2018)Introducción y novedades de JUnit 5 (16/01/2018)
Introducción y novedades de JUnit 5 (16/01/2018)Boni García
 
Introducción y novedades de JUnit 5 (04/07/2018)
Introducción y novedades de JUnit 5 (04/07/2018)Introducción y novedades de JUnit 5 (04/07/2018)
Introducción y novedades de JUnit 5 (04/07/2018)Boni García
 
Curso java desde cero nivel i - modulo v
Curso java desde cero   nivel i - modulo vCurso java desde cero   nivel i - modulo v
Curso java desde cero nivel i - modulo vGiovanny Guillen
 
Unit Testing with Mock Objects
Unit Testing with Mock ObjectsUnit Testing with Mock Objects
Unit Testing with Mock ObjectsAngel Nuñez
 
Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NETAngel Nuñez
 

Similar a Unit Testing (20)

Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013Pruebas de aceptación 15 11_2013
Pruebas de aceptación 15 11_2013
 
Pruebas software con junit ..
Pruebas software con junit ..Pruebas software con junit ..
Pruebas software con junit ..
 
Taller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeansTaller: Prueba Unitaria con JUnit en NetBeans
Taller: Prueba Unitaria con JUnit en NetBeans
 
Unit Testing - GTUG
Unit Testing - GTUGUnit Testing - GTUG
Unit Testing - GTUG
 
Introducción a JUnit
Introducción a JUnitIntroducción a JUnit
Introducción a JUnit
 
Testing efectivo con pytest
Testing efectivo con pytestTesting efectivo con pytest
Testing efectivo con pytest
 
Testing 101 con Arquillian
Testing 101 con ArquillianTesting 101 con Arquillian
Testing 101 con Arquillian
 
Curso java
Curso javaCurso java
Curso java
 
Jyoc java-cap23 j unit
Jyoc java-cap23 j unitJyoc java-cap23 j unit
Jyoc java-cap23 j unit
 
Introducción a Unit Testing y TDD
Introducción a Unit Testing y TDDIntroducción a Unit Testing y TDD
Introducción a Unit Testing y TDD
 
Testeo unitario
Testeo unitarioTesteo unitario
Testeo unitario
 
Unidad 5: Excepciones Ejercicio 4
Unidad 5: Excepciones Ejercicio 4Unidad 5: Excepciones Ejercicio 4
Unidad 5: Excepciones Ejercicio 4
 
Introducción y novedades de JUnit 5 (16/01/2018)
Introducción y novedades de JUnit 5 (16/01/2018)Introducción y novedades de JUnit 5 (16/01/2018)
Introducción y novedades de JUnit 5 (16/01/2018)
 
Qunit CookBook español
Qunit CookBook españolQunit CookBook español
Qunit CookBook español
 
Introducción y novedades de JUnit 5 (04/07/2018)
Introducción y novedades de JUnit 5 (04/07/2018)Introducción y novedades de JUnit 5 (04/07/2018)
Introducción y novedades de JUnit 5 (04/07/2018)
 
2 f programas
2 f programas2 f programas
2 f programas
 
2 f programas
2 f programas2 f programas
2 f programas
 
Curso java desde cero nivel i - modulo v
Curso java desde cero   nivel i - modulo vCurso java desde cero   nivel i - modulo v
Curso java desde cero nivel i - modulo v
 
Unit Testing with Mock Objects
Unit Testing with Mock ObjectsUnit Testing with Mock Objects
Unit Testing with Mock Objects
 
Test Automation .NET
Test Automation .NETTest Automation .NET
Test Automation .NET
 

Más de Felix Rivas

Facebook's Apps II part
Facebook's Apps II partFacebook's Apps II part
Facebook's Apps II partFelix Rivas
 
Presentacion facebook's apps
Presentacion facebook's appsPresentacion facebook's apps
Presentacion facebook's appsFelix Rivas
 
Facebook app API Vs2.0
Facebook app API Vs2.0Facebook app API Vs2.0
Facebook app API Vs2.0Felix Rivas
 
Diapositias curso fb 3
Diapositias curso fb 3Diapositias curso fb 3
Diapositias curso fb 3Felix Rivas
 
Productos Trangénicos
Productos TrangénicosProductos Trangénicos
Productos TrangénicosFelix Rivas
 
Cinetica Quimica
Cinetica QuimicaCinetica Quimica
Cinetica QuimicaFelix Rivas
 
Sustancias Higroscopicas
Sustancias HigroscopicasSustancias Higroscopicas
Sustancias HigroscopicasFelix Rivas
 
Morfologia Del Robot II
Morfologia Del Robot IIMorfologia Del Robot II
Morfologia Del Robot IIFelix Rivas
 
Morfología del robot
Morfología del robotMorfología del robot
Morfología del robotFelix Rivas
 
Fundamentos de Robotica
Fundamentos de RoboticaFundamentos de Robotica
Fundamentos de RoboticaFelix Rivas
 
Emisiones ElectromagnéTicas
Emisiones ElectromagnéTicasEmisiones ElectromagnéTicas
Emisiones ElectromagnéTicasFelix Rivas
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionFelix Rivas
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacionFelix Rivas
 
Administración de Empresas - Enfoque Contingencia
Administración de Empresas - Enfoque ContingenciaAdministración de Empresas - Enfoque Contingencia
Administración de Empresas - Enfoque ContingenciaFelix Rivas
 

Más de Felix Rivas (20)

Facebook's Apps II part
Facebook's Apps II partFacebook's Apps II part
Facebook's Apps II part
 
Presentacion facebook's apps
Presentacion facebook's appsPresentacion facebook's apps
Presentacion facebook's apps
 
Facebook app API Vs2.0
Facebook app API Vs2.0Facebook app API Vs2.0
Facebook app API Vs2.0
 
Diapositias curso fb 3
Diapositias curso fb 3Diapositias curso fb 3
Diapositias curso fb 3
 
Productos Trangénicos
Productos TrangénicosProductos Trangénicos
Productos Trangénicos
 
Ph
PhPh
Ph
 
Monopolio
MonopolioMonopolio
Monopolio
 
Las Drogas
Las DrogasLas Drogas
Las Drogas
 
Gases Ideales
Gases IdealesGases Ideales
Gases Ideales
 
Cinetica Quimica
Cinetica QuimicaCinetica Quimica
Cinetica Quimica
 
Sustancias Higroscopicas
Sustancias HigroscopicasSustancias Higroscopicas
Sustancias Higroscopicas
 
Morfologia Del Robot II
Morfologia Del Robot IIMorfologia Del Robot II
Morfologia Del Robot II
 
Sensores II
Sensores IISensores II
Sensores II
 
Robotica2
Robotica2Robotica2
Robotica2
 
Morfología del robot
Morfología del robotMorfología del robot
Morfología del robot
 
Fundamentos de Robotica
Fundamentos de RoboticaFundamentos de Robotica
Fundamentos de Robotica
 
Emisiones ElectromagnéTicas
Emisiones ElectromagnéTicasEmisiones ElectromagnéTicas
Emisiones ElectromagnéTicas
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Fundamentos de programacion
Fundamentos de programacionFundamentos de programacion
Fundamentos de programacion
 
Administración de Empresas - Enfoque Contingencia
Administración de Empresas - Enfoque ContingenciaAdministración de Empresas - Enfoque Contingencia
Administración de Empresas - Enfoque Contingencia
 

Último

De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETGermán Küber
 
Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Festibity
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfJoseAlejandroPerezBa
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidaddanik1023m
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfalejandrogomezescoto
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfodalistar77
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfymiranda2
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx Emialexsolar
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...RaymondCode
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfOBr.global
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxPaolaCarolinaCarvaja
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosLCristinaForchue
 

Último (14)

De Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NETDe Código a Ejecución: El Papel Fundamental del MSIL en .NET
De Código a Ejecución: El Papel Fundamental del MSIL en .NET
 
Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025Hazte partner: Club Festibity 2024 - 2025
Hazte partner: Club Festibity 2024 - 2025
 
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdfTENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
TENDENCIAS DE IA Explorando el futuro de la tecnologia.pdf
 
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier FolchBEDEC Proyecto y obra , novedades 2024 - Xavier Folch
BEDEC Proyecto y obra , novedades 2024 - Xavier Folch
 
Inteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidadInteligencia artificial dentro de la contabilidad
Inteligencia artificial dentro de la contabilidad
 
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdfActividad 14_ Diseño de Algoritmos Paralelos.pdf
Actividad 14_ Diseño de Algoritmos Paralelos.pdf
 
Los mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdfLos mejores simuladores de circuitos electrónicos.pdf
Los mejores simuladores de circuitos electrónicos.pdf
 
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdfPresentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
Presentación - Diseño de Algoritmos Paralelos - Grupo 2.pdf
 
VIDEOS DE APOYO.docx E
VIDEOS DE APOYO.docx                                  EVIDEOS DE APOYO.docx                                  E
VIDEOS DE APOYO.docx E
 
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
Actividad 14: Diseño de Algoritmos Paralelos Actividad 14: Diseño de Algoritm...
 
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdfInmersión global en ciberseguridad e IA en la conferencia RSA.pdf
Inmersión global en ciberseguridad e IA en la conferencia RSA.pdf
 
Matriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docxMatriz de integración de tecnologías- Paola Carvajal.docx
Matriz de integración de tecnologías- Paola Carvajal.docx
 
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura SilvaBEDEC Sostenibilidad, novedades 2024 - Laura Silva
BEDEC Sostenibilidad, novedades 2024 - Laura Silva
 
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimosEl diseño de Algoritmos Paralelos.pdf - analisis de algortimos
El diseño de Algoritmos Paralelos.pdf - analisis de algortimos
 

Unit Testing

  • 1. pruebas unitarias UNIT TESTING pruebas unitarias Créditos: Félix Rivas Jorge Salas
  • 2. pruebas unitarias Test = prueba, examen ¿Qué prueban en un software? Un bloque de código fuente Una funcionalidad completa ¿Por qué probamos un software? Encontrar y corregir bugs. ¿Cómo probamos un software? Input / Output
  • 3. pruebas unitarias Pruebas de Unidad Unit = unidades  POO (Métodos) Test = prueba, examen Si tenemos una función que realiza cierto cálculo: función suma( a, b) .... fin Podemos probar esta función de esta manera: Si (suma(1,1) es igual a 2) // :-D caso contrario // :-(
  • 4. pruebas unitarias Técnica Verificar igualdad de dos valores. Verificar que una sentencia sea verdadera. Verificar que un objeto exista. Verificar que dos objetos sean del mismo tipo.
  • 5. pruebas unitarias Ventajas Facilita el cambio. Simplifica la integración. Lleva la programación a otro nivel. Aunque suene difícil de creer, acelera el desarrollo de software. Desventajas Estimación Código extenso
  • 6. pruebas unitarias Existen Unit Testing Frameworks para la mayoría de lenguajes de programación. Sunit: Smalltalk Java: JUnit Ruby: Test::Unit Python: PyUnit Perl: TAP (Test Anything Protocol) PHP: PHPUnit .NET: NUnit
  • 7. pruebas unitarias package pruebarapida; import org.junit.*; import static org.junit.Assert.*; import java.util.*; public class TestingJava { @Test public void testEmptyCollection() { Collection collection = new ArrayList(); assertTrue(collection.isEmpty()); } public static void main( String args[]) { org.junit.runner.JUnitCore.main(&quot;pruebarapida.TestingJava&quot;); } } Ejemplo: JUnit
  • 8. pruebas unitarias package pruebarapida; import org.junit.*; import static org.junit.Assert.*; import java.util.*; public class TestingJava { private Collection <Object> collection; @Before public void setUp() { collection = new ArrayList<Object>(); } @Test public void testEmptyCollection() { assertTrue(collection.isEmpty()); } @Test public void testOneItemCollection() { collection.add(&quot;itemA&quot;); assertEquals(1, collection.size()); } } Ejemplo: JUnit
  • 9. pruebas unitarias require ‘test/unit’ class PruebaSuma < Test::Unit::TestCase def test_suma assert_equal 4, 2+2 assert_equal 4, 3+1 assert_equal 5, 5+0 assert_equal 0, -5+5 end end Ejemplo: Test::Unit
  • 10.