SlideShare una empresa de Scribd logo
1 de 21
CENSURADO
¿Qué es?
Es la práctica de desarrollo de software donde los miembros de un equipo integran su
código continuamente, Usualmente una persona integra al menos una vez al día pero pueden
ser multiples veces en un solo día. Cada integración es verificada por una construcción
automática “Automated Build” para detectar errores de integración tan rápido como sea
posible. Muchos equipos encuentran que está práctica los ayuda a reducir muchos problemas
de integración tempranamente y le permite a los equipos desarrollar software más
rapidamente.

                                                                             Martin Fowler
Construcciones diarias – “Daily Builds”
Poner el código en un solo lugar donde todos puedan accederlo. (CVS y Visual SourceSafe)
Automatizar el proceso de construcción de tal manera que se pueda hacer con un solo
comando o con una herramienta. (Ant, Nant, Team Foundation Server Team Build,
CruiseControl, CruiseControl.NET)
Breve resumen
“Test Driven Development”
Test Driven Development
Un método para dividir un problema en pequeñas partes.
Es Probar, Desarrollar, Diseñar, Repetir.
TDD es el proceso de pensar acerca de un bloque de código desde la perspectiva del usuario que usará
el código.
TDD es esencial para los proyectos con metodología XP, pero esto no significa que solo se pueda usar
en estos proyectos.
Escribir una prueba que muestre lo que usted quiere que haga el código, antes de escribirlo.
Su base de código ira creciendo mientras realiza el desarrollo de las pruebas unitarias.

   “TDD es una técnica poderosa para producir código bien diseñado con menos defectos”. Martin Fowler
Como lo hacemos?
Nos basamos en los casos de prueba, en base a estos empezamos a desarrollar las pruebas
unitarias.
Escribimos el código más sencillo posible para que los casos de prueba se ejecuten
satisfactoriamente.
Escribimos pruebas que fallen y empezamos a hacer refactoring hasta que todas los casos de
pruebas sean satisfactorios.
Aplicamos refactoring en el camino.
Ejemplo código de la prueba unitaria
           [Test]
public void TestPolicy()
{
                           private CPasswordManager hash = new CPasswordManager();

                           Assert.IsTrue(hash.MeetsPasswordPolicy("goodpass"),
                                           "Good password failed check");
                           Assert.IsFalse(hash.MeetsPasswordPolicy("badpass"),
                                           "Bad password passed check");
}




                                                                                     7
Ejemplo del código de la aplicación
public bool MeetsPasswordPolicy(string password)
{
          bool meetsPolicy = false;

         //NOTE: this policy is too simple; should probably be a
         // regular expression, checking for length and mandatory
         // character types
         if(password.Length >= 8)
                         meetsPolicy = true;

         return meetsPolicy;
}
Continuación IC
Buenas prácticas
Uso de un repositorio de control de código fuente.
Uso de una herramienta de automatización de builds.
Los errores deben ser revisados exactamente después de las construcciones.
“Automatizar el proceso de pruebas de unidad. Se recomienda construir pruebas
unitarias antes de hacer el código, ya que al realizar el proceso automático de
construcción se puede configurar no solo que haga la construcción, si no también que
se ejecuten las pruebas unitarias, en otras palabras utilizar Test Driven Development.”
SQA solo debe probar sobre Builds exitosos.
Entre más regulares sean los Builds, mejor.
Ejemplo:
Cada que se haga check-in de un artefacto.
Cada 2 horas.
Cada que se construya una funcionalidad completa.
Beneficios
Detección temprana de errores.
Automatización de las pruebas unitarias.
Análisis de código estático en las construcciones.
Rápida solución de errores.
Reducción de tiempo de desarrollo.




                                                      11
What makes a Successful Build?
El último código fuente de los desarrolladores ha sido subido al control de código.
Todos los archivos de la integración han sido compilados.
Todos los objetos, ejecutables, dll, jars del resultado de la compilación pueden ser usados
inmediatamente.
Una suite de pruebas de unidad ha sido ejecutada contra el código en cuestión.
Si todo esto ocurre sin intervención humana y el Build sale sin errores, entonces tenemos
un Build exitoso.




                                                                                               12
ScreenShots - CruiseControl
ScreenShots - CruiseControl
ScreenShots - CruiseControl
ScreenShots - CruiseControl
ScreenShots - CruiseControl
ScreenShots - CruiseControl
ScreenShots – Team Foundation build
ScreenShots – Team Foundation build
Integracion Continua

Más contenido relacionado

La actualidad más candente

Servicios en Zend Framework 2
Servicios en  Zend Framework 2Servicios en  Zend Framework 2
Servicios en Zend Framework 2El Taller Web
 
Desarrollo Guiado Por Pruebas
Desarrollo Guiado Por PruebasDesarrollo Guiado Por Pruebas
Desarrollo Guiado Por PruebasMiguel Angel
 
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
 
PHP Unit y TDD
PHP Unit y TDDPHP Unit y TDD
PHP Unit y TDDEmergya
 
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de PruebasGlobant
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioOsvaldo
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónKleer Agile Coaching & Training
 
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015 César Hernández
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJSRodrigo Pimentel
 
Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Juampy NR
 
Tests de regresión visual con PhantomCSS
Tests de regresión visual con PhantomCSSTests de regresión visual con PhantomCSS
Tests de regresión visual con PhantomCSSRuben Torres
 

La actualidad más candente (20)

Servicios en Zend Framework 2
Servicios en  Zend Framework 2Servicios en  Zend Framework 2
Servicios en Zend Framework 2
 
Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!Jenkins, no me rompas los builds!
Jenkins, no me rompas los builds!
 
Desarrollo Guiado Por Pruebas
Desarrollo Guiado Por PruebasDesarrollo Guiado Por Pruebas
Desarrollo Guiado Por Pruebas
 
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
 
PHP Unit y TDD
PHP Unit y TDDPHP Unit y TDD
PHP Unit y TDD
 
Actividad 07 zsar
Actividad 07 zsarActividad 07 zsar
Actividad 07 zsar
 
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
¡Introducción a Cypress! - Globant Tech Insiders: Automatización de Pruebas
 
Integracion Continua
Integracion ContinuaIntegracion Continua
Integracion Continua
 
Continuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudioContinuous Delivery Un caso de estudio
Continuous Delivery Un caso de estudio
 
Testing Ruby on Rails (spanish)
Testing Ruby on Rails (spanish)Testing Ruby on Rails (spanish)
Testing Ruby on Rails (spanish)
 
Dev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producciónDev ops e infraestructura – acompañando nuestro software a producción
Dev ops e infraestructura – acompañando nuestro software a producción
 
Jenkins ci + selenium
Jenkins ci + seleniumJenkins ci + selenium
Jenkins ci + selenium
 
Construir tests
Construir testsConstruir tests
Construir tests
 
Pruebas Unitarias
Pruebas Unitarias Pruebas Unitarias
Pruebas Unitarias
 
Introducción a TDD
Introducción a TDDIntroducción a TDD
Introducción a TDD
 
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015 Mejorando la productividad en proyectos java EE con  CI y CD - OTN 2015
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015
 
Probando aplicaciones AngularJS
Probando aplicaciones AngularJSProbando aplicaciones AngularJS
Probando aplicaciones AngularJS
 
Testing, tipos y otros flamewars
Testing, tipos y otros flamewarsTesting, tipos y otros flamewars
Testing, tipos y otros flamewars
 
Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012Taller de Simpletest - Drupal Day Valencia 2012
Taller de Simpletest - Drupal Day Valencia 2012
 
Tests de regresión visual con PhantomCSS
Tests de regresión visual con PhantomCSSTests de regresión visual con PhantomCSS
Tests de regresión visual con PhantomCSS
 

Destacado

Recuperación colección Museo Pazo de Tor
Recuperación colección Museo Pazo de TorRecuperación colección Museo Pazo de Tor
Recuperación colección Museo Pazo de TorEncarna Lago
 
Yelsin Fernando Blanco Barajas
Yelsin Fernando Blanco BarajasYelsin Fernando Blanco Barajas
Yelsin Fernando Blanco Barajasyelsin blanco
 
CUMPLIENDO LA FUNCIÓN DE CONSERVACIÓN DE MUSEOS-EJEMPLO DE INTERVENCION
CUMPLIENDO LA FUNCIÓN DE CONSERVACIÓN DE MUSEOS-EJEMPLO DE INTERVENCIONCUMPLIENDO LA FUNCIÓN DE CONSERVACIÓN DE MUSEOS-EJEMPLO DE INTERVENCION
CUMPLIENDO LA FUNCIÓN DE CONSERVACIÓN DE MUSEOS-EJEMPLO DE INTERVENCIONEncarna Lago
 
Pruebas de lógica
Pruebas de lógicaPruebas de lógica
Pruebas de lógicanelsonboli
 
La Crisis
La CrisisLa Crisis
La Crisisrage
 
Biologia Nava
Biologia NavaBiologia Nava
Biologia Navanava
 
4p 10c Jm Dariocriollo Practica01 Tarea3[1]
4p 10c Jm Dariocriollo Practica01 Tarea3[1]4p 10c Jm Dariocriollo Practica01 Tarea3[1]
4p 10c Jm Dariocriollo Practica01 Tarea3[1]Dario Fernando
 
Estudio Mercado Electoral Costa Bonino Marcela RodríGuez
Estudio Mercado Electoral Costa Bonino   Marcela RodríGuezEstudio Mercado Electoral Costa Bonino   Marcela RodríGuez
Estudio Mercado Electoral Costa Bonino Marcela RodríGuezNASA’s Curiosity Mars Rover
 
Las presunciones en la relación de trabajo domestico
Las presunciones en la relación de trabajo domesticoLas presunciones en la relación de trabajo domestico
Las presunciones en la relación de trabajo domesticoAlejandro Germán Rodriguez
 
Decálogo del maestro mediador en la educación superior
Decálogo del maestro mediador en la educación superiorDecálogo del maestro mediador en la educación superior
Decálogo del maestro mediador en la educación superiorJohnatan Escobar Aguirre
 
Desenrolo actividades campamento museo do mar 2010
Desenrolo actividades campamento museo do mar 2010Desenrolo actividades campamento museo do mar 2010
Desenrolo actividades campamento museo do mar 2010Encarna Lago
 

Destacado (20)

Recuperación colección Museo Pazo de Tor
Recuperación colección Museo Pazo de TorRecuperación colección Museo Pazo de Tor
Recuperación colección Museo Pazo de Tor
 
Expo language based activities
Expo language based activitiesExpo language based activities
Expo language based activities
 
Novedades de legislación junio 2013
Novedades de legislación junio 2013Novedades de legislación junio 2013
Novedades de legislación junio 2013
 
Yelsin Fernando Blanco Barajas
Yelsin Fernando Blanco BarajasYelsin Fernando Blanco Barajas
Yelsin Fernando Blanco Barajas
 
07 nivelacion septimo
07   nivelacion septimo07   nivelacion septimo
07 nivelacion septimo
 
Novedades de legislación abril 2013
Novedades de legislación abril 2013Novedades de legislación abril 2013
Novedades de legislación abril 2013
 
CUMPLIENDO LA FUNCIÓN DE CONSERVACIÓN DE MUSEOS-EJEMPLO DE INTERVENCION
CUMPLIENDO LA FUNCIÓN DE CONSERVACIÓN DE MUSEOS-EJEMPLO DE INTERVENCIONCUMPLIENDO LA FUNCIÓN DE CONSERVACIÓN DE MUSEOS-EJEMPLO DE INTERVENCION
CUMPLIENDO LA FUNCIÓN DE CONSERVACIÓN DE MUSEOS-EJEMPLO DE INTERVENCION
 
modulo # 2 - sesion # 2/5
modulo # 2 - sesion # 2/5modulo # 2 - sesion # 2/5
modulo # 2 - sesion # 2/5
 
Pruebas de lógica
Pruebas de lógicaPruebas de lógica
Pruebas de lógica
 
El mejor regalo
El mejor regaloEl mejor regalo
El mejor regalo
 
La Crisis
La CrisisLa Crisis
La Crisis
 
Biologia Nava
Biologia NavaBiologia Nava
Biologia Nava
 
Trampas legales-para-las-empresas-familiares
Trampas legales-para-las-empresas-familiaresTrampas legales-para-las-empresas-familiares
Trampas legales-para-las-empresas-familiares
 
Mantenimiento Preventivo
Mantenimiento PreventivoMantenimiento Preventivo
Mantenimiento Preventivo
 
4p 10c Jm Dariocriollo Practica01 Tarea3[1]
4p 10c Jm Dariocriollo Practica01 Tarea3[1]4p 10c Jm Dariocriollo Practica01 Tarea3[1]
4p 10c Jm Dariocriollo Practica01 Tarea3[1]
 
Estudio Mercado Electoral Costa Bonino Marcela RodríGuez
Estudio Mercado Electoral Costa Bonino   Marcela RodríGuezEstudio Mercado Electoral Costa Bonino   Marcela RodríGuez
Estudio Mercado Electoral Costa Bonino Marcela RodríGuez
 
Las presunciones en la relación de trabajo domestico
Las presunciones en la relación de trabajo domesticoLas presunciones en la relación de trabajo domestico
Las presunciones en la relación de trabajo domestico
 
Calentamiento Global
Calentamiento GlobalCalentamiento Global
Calentamiento Global
 
Decálogo del maestro mediador en la educación superior
Decálogo del maestro mediador en la educación superiorDecálogo del maestro mediador en la educación superior
Decálogo del maestro mediador en la educación superior
 
Desenrolo actividades campamento museo do mar 2010
Desenrolo actividades campamento museo do mar 2010Desenrolo actividades campamento museo do mar 2010
Desenrolo actividades campamento museo do mar 2010
 

Similar a Integracion Continua

Pruebas software (1)
Pruebas  software (1)Pruebas  software (1)
Pruebas software (1)René Pari
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.Juan Ravi
 
pruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptxpruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptxCompusoftnetCiaLtda
 
Desarrollo con Java y metodologías agiles
Desarrollo con Java y metodologías agilesDesarrollo con Java y metodologías agiles
Desarrollo con Java y metodologías agilesJobsket
 
Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins armolinamilla
 
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles2009
 
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...adrianeidelman
 
Testing & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetsTesting & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetseusonlito
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumSoftware Guru
 
Ingeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesIngeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesRodrigo Corral
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareJose Manuel Ortega Candel
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoTestingUy
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurancewill2294
 
Introducción a testing en php
Introducción a testing en phpIntroducción a testing en php
Introducción a testing en phpIsmael Ambrosi
 

Similar a Integracion Continua (20)

Pruebas software (1)
Pruebas  software (1)Pruebas  software (1)
Pruebas software (1)
 
tipos de pruebas.
tipos de pruebas.tipos de pruebas.
tipos de pruebas.
 
7iSF-4 test driver development
7iSF-4   test driver development7iSF-4   test driver development
7iSF-4 test driver development
 
pruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptxpruebasunitarias-110921232512-phpapp02.pptx
pruebasunitarias-110921232512-phpapp02.pptx
 
Desarrollo con Java y metodologías agiles
Desarrollo con Java y metodologías agilesDesarrollo con Java y metodologías agiles
Desarrollo con Java y metodologías agiles
 
Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins Meetup Integración Continua y Jenkins
Meetup Integración Continua y Jenkins
 
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
Agiles 2009 - Integracion Continua: Dando los primeros pasos a traves de un e...
 
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
Ágiles 2009 - Integración Continua: Dando los primeros pasos a través de un e...
 
Pruebas unitarias
Pruebas unitariasPruebas unitarias
Pruebas unitarias
 
Testing & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnetsTesting & Pizza by Lito & nitsnets
Testing & Pizza by Lito & nitsnets
 
Presentación: xUnit y Junit
Presentación: xUnit y JunitPresentación: xUnit y Junit
Presentación: xUnit y Junit
 
6.redes pruebas de software
6.redes pruebas de software6.redes pruebas de software
6.redes pruebas de software
 
Cypress en un mundo lleno de Selenium
Cypress en un mundo lleno de SeleniumCypress en un mundo lleno de Selenium
Cypress en un mundo lleno de Selenium
 
CI integración continua
CI   integración continuaCI   integración continua
CI integración continua
 
Ingeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágilesIngeniería del software y metodologías ágiles
Ingeniería del software y metodologías ágiles
 
Herramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos softwareHerramientas de integración continua en proyectos software
Herramientas de integración continua en proyectos software
 
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuoMeetup TestingUy 2019 - Plataforma de integración y testing continuo
Meetup TestingUy 2019 - Plataforma de integración y testing continuo
 
Software Quality Assurance
Software Quality AssuranceSoftware Quality Assurance
Software Quality Assurance
 
Introducción a testing en php
Introducción a testing en phpIntroducción a testing en php
Introducción a testing en php
 
TDD
TDDTDD
TDD
 

Integracion Continua

  • 2. ¿Qué es? Es la práctica de desarrollo de software donde los miembros de un equipo integran su código continuamente, Usualmente una persona integra al menos una vez al día pero pueden ser multiples veces en un solo día. Cada integración es verificada por una construcción automática “Automated Build” para detectar errores de integración tan rápido como sea posible. Muchos equipos encuentran que está práctica los ayuda a reducir muchos problemas de integración tempranamente y le permite a los equipos desarrollar software más rapidamente. Martin Fowler
  • 3. Construcciones diarias – “Daily Builds” Poner el código en un solo lugar donde todos puedan accederlo. (CVS y Visual SourceSafe) Automatizar el proceso de construcción de tal manera que se pueda hacer con un solo comando o con una herramienta. (Ant, Nant, Team Foundation Server Team Build, CruiseControl, CruiseControl.NET)
  • 5. Test Driven Development Un método para dividir un problema en pequeñas partes. Es Probar, Desarrollar, Diseñar, Repetir. TDD es el proceso de pensar acerca de un bloque de código desde la perspectiva del usuario que usará el código. TDD es esencial para los proyectos con metodología XP, pero esto no significa que solo se pueda usar en estos proyectos. Escribir una prueba que muestre lo que usted quiere que haga el código, antes de escribirlo. Su base de código ira creciendo mientras realiza el desarrollo de las pruebas unitarias. “TDD es una técnica poderosa para producir código bien diseñado con menos defectos”. Martin Fowler
  • 6. Como lo hacemos? Nos basamos en los casos de prueba, en base a estos empezamos a desarrollar las pruebas unitarias. Escribimos el código más sencillo posible para que los casos de prueba se ejecuten satisfactoriamente. Escribimos pruebas que fallen y empezamos a hacer refactoring hasta que todas los casos de pruebas sean satisfactorios. Aplicamos refactoring en el camino.
  • 7. Ejemplo código de la prueba unitaria [Test] public void TestPolicy() { private CPasswordManager hash = new CPasswordManager(); Assert.IsTrue(hash.MeetsPasswordPolicy("goodpass"), "Good password failed check"); Assert.IsFalse(hash.MeetsPasswordPolicy("badpass"), "Bad password passed check"); } 7
  • 8. Ejemplo del código de la aplicación public bool MeetsPasswordPolicy(string password) { bool meetsPolicy = false; //NOTE: this policy is too simple; should probably be a // regular expression, checking for length and mandatory // character types if(password.Length >= 8) meetsPolicy = true; return meetsPolicy; }
  • 10. Buenas prácticas Uso de un repositorio de control de código fuente. Uso de una herramienta de automatización de builds. Los errores deben ser revisados exactamente después de las construcciones. “Automatizar el proceso de pruebas de unidad. Se recomienda construir pruebas unitarias antes de hacer el código, ya que al realizar el proceso automático de construcción se puede configurar no solo que haga la construcción, si no también que se ejecuten las pruebas unitarias, en otras palabras utilizar Test Driven Development.” SQA solo debe probar sobre Builds exitosos. Entre más regulares sean los Builds, mejor. Ejemplo: Cada que se haga check-in de un artefacto. Cada 2 horas. Cada que se construya una funcionalidad completa.
  • 11. Beneficios Detección temprana de errores. Automatización de las pruebas unitarias. Análisis de código estático en las construcciones. Rápida solución de errores. Reducción de tiempo de desarrollo. 11
  • 12. What makes a Successful Build? El último código fuente de los desarrolladores ha sido subido al control de código. Todos los archivos de la integración han sido compilados. Todos los objetos, ejecutables, dll, jars del resultado de la compilación pueden ser usados inmediatamente. Una suite de pruebas de unidad ha sido ejecutada contra el código en cuestión. Si todo esto ocurre sin intervención humana y el Build sale sin errores, entonces tenemos un Build exitoso. 12
  • 19. ScreenShots – Team Foundation build
  • 20. ScreenShots – Team Foundation build