SlideShare une entreprise Scribd logo
1  sur  8
Télécharger pour lire hors ligne
PHP Perú – TestFest 2009


  Que son pruebas unitarias?
Pruebas unitarias
    Prueban una funcionalidad
●


    Reportan si funciona o no
●


    En un formato usable por otros sistemas
●


    Se juntan todas
●


    Permiten reportes globales sobre un sistema
●


    Si funciona en sistema A, funciona en sistema B
●


    Si funciona hoy, funcionará mañana
●
Como probar una funcionalidad
    Función “str_replace()”
●


    Que es lo que supuestamente hace?
●


        Esta descrito en su documentación
    –

    Si sé lo que hace, entonces puedo escribir una
●

    prueba
    $str = str_replace('a','b','Hola Perú');
●


    var_dump($str);
●


    String (9) => 'Holb Perú';
●
Como se presentan en PHP
    Para el TestFest, probamos funcionalidades del
●

    lenguaje PHP mismo!
    Una prueba por fichero, un fichero por prueba
●


        separación
    –

        cambios de configuración por prueba
    –

        grupos de pruebas sobreviven fatal errors
    –

    Ficheros .phpt
●


    Cuatro secciones: test, ini, file, expectf
●
Denominación
    Pruebas para bugs
●



       bug<bugid>.phpt (bug17123.phpt)
●



    Pruebas para comportamiento básico de una función
●



       <functionname>_basic<id>.phpt (strlen_basic.phpt)
●



    Pruebas para comportamiento de error de una función
●



       <functionname>_error<id>.phpt (strlen_error.phpt)
●



    Pruebas para comportamiento de variaciones de una función
●



       <functionname>_variation.phpt (strlen_variation.phpt)
●



    Pruebas genéricas de extensiones
●



       <extname><no>.phpt (dba_003.phpt)
●
Formato
ext/standard/tests/strings/strtr.phpt

--TEST--
strtr() function - basic test for strstr()
--INI--

--FILE--
<?php
/* Descripción de la prueba – EN INGLES */

$trans = array(quot;helloquot;=>quot;hiquot;, quot;hiquot;=>quot;helloquot;, quot;aquot;=>quot;Aquot;,
quot;worldquot;=>quot;planetquot;);
var_dump(strtr(quot;# hi all, I said hello world! #quot;, $trans));
?>
--EXPECT--
string(32) quot;# hello All, I sAid hi planet! #quot;
Preparación
    Sobre PHP 5.3 RC1
●


    http://snaps.php.net/
●


    http://windows.php.net/snapshots/
●


    Para nuestra sesión, esta en local también, en
●

    http://192.168.1.34/shared/
    Descomprimir
●


    Ir dentro de la carpeta ext/standard/tests/strings
●

    (por ejemplo)
Preparación – Elegir pruebas
    http://gcov.php.net => PHP_5_3 => coverage
●


    Encontrar una función que no esta probada (o
●

    no mucho)
    Leer http://qa.php.net/write-test.php
●


    Escribir prueba
●


    Ejecutar run-tests.php
●

Contenu connexe

Similaire à Php Peru Test Fest 2009

Similaire à Php Peru Test Fest 2009 (20)

REPLs
REPLsREPLs
REPLs
 
32773 php-basico
32773 php-basico32773 php-basico
32773 php-basico
 
Introducción a la programación en bioinformática
Introducción a la programación en bioinformáticaIntroducción a la programación en bioinformática
Introducción a la programación en bioinformática
 
Proyectos Web 3 Introduccion Php
Proyectos Web   3 Introduccion PhpProyectos Web   3 Introduccion Php
Proyectos Web 3 Introduccion Php
 
Java 7- Java Day Guatemala
Java 7- Java Day GuatemalaJava 7- Java Day Guatemala
Java 7- Java Day Guatemala
 
Php Basico
Php BasicoPhp Basico
Php Basico
 
Tema2 3
Tema2 3Tema2 3
Tema2 3
 
Introducción a php
Introducción a phpIntroducción a php
Introducción a php
 
Plone en La Jornada
Plone en La JornadaPlone en La Jornada
Plone en La Jornada
 
PostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidadPostgreSQL: Un motor Impulsado por una comunidad
PostgreSQL: Un motor Impulsado por una comunidad
 
Unidad 2 programación estructurada
Unidad 2 programación estructuradaUnidad 2 programación estructurada
Unidad 2 programación estructurada
 
0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf0139-php-y-mysql-lenguaje-php-basico.pdf
0139-php-y-mysql-lenguaje-php-basico.pdf
 
Perl
PerlPerl
Perl
 
Argentesting 2017 - Performance testing 101 con jmeter
Argentesting 2017 - Performance testing 101 con jmeterArgentesting 2017 - Performance testing 101 con jmeter
Argentesting 2017 - Performance testing 101 con jmeter
 
Especialista Web J9 Php
Especialista Web J9  PhpEspecialista Web J9  Php
Especialista Web J9 Php
 
MAnual de php básico
MAnual de php básicoMAnual de php básico
MAnual de php básico
 
Php basico
Php basicoPhp basico
Php basico
 
PHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básicoPHP Tema 2 - Lenguaje PHP básico
PHP Tema 2 - Lenguaje PHP básico
 
4.Programación con PHP y MySQL
4.Programación con PHP y MySQL4.Programación con PHP y MySQL
4.Programación con PHP y MySQL
 
Php
PhpPhp
Php
 

Plus de Yannick Warnier

Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Yannick Warnier
 
Skillbeez short-presentation
Skillbeez short-presentationSkillbeez short-presentation
Skillbeez short-presentation
Yannick Warnier
 

Plus de Yannick Warnier (20)

Chamilo, 12 ans déjà
Chamilo, 12 ans déjàChamilo, 12 ans déjà
Chamilo, 12 ans déjà
 
Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018Chamilo en FLISOL Perú 2018
Chamilo en FLISOL Perú 2018
 
Novedades de PHP 7.*
Novedades de PHP 7.*Novedades de PHP 7.*
Novedades de PHP 7.*
 
The benefits of using Git
The benefits of using GitThe benefits of using Git
The benefits of using Git
 
Skillms, solution de gestion des talents
Skillms, solution de gestion des talentsSkillms, solution de gestion des talents
Skillms, solution de gestion des talents
 
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
Chamilo "Lectoura", proyecto Hackaton EdTech, Lima 2017
 
Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017Novedades de Chamilo 1.11 - 2017
Novedades de Chamilo 1.11 - 2017
 
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
Chamilo, qu'est-ce? - Chamilo Camp Lyon 2017
 
L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017L'avenir de Chamilo - 2017
L'avenir de Chamilo - 2017
 
Introducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPMIntroducción a Nginx y PHP FPM
Introducción a Nginx y PHP FPM
 
Desarrollo del plugin Chamilo-Wordpress
Desarrollo del plugin Chamilo-WordpressDesarrollo del plugin Chamilo-Wordpress
Desarrollo del plugin Chamilo-Wordpress
 
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CICalidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CI
 
Como usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso ChamiloComo usar un aula virtual como recurso educativo - Caso Chamilo
Como usar un aula virtual como recurso educativo - Caso Chamilo
 
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
Chamilo LMS y otros LMSes - Universidad de Valencia, España - Octubre 2013
 
Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)Prepa certificación docente Chamilo 1.8 (CHACOBU)
Prepa certificación docente Chamilo 1.8 (CHACOBU)
 
Chamilo advantages against other LMSes
Chamilo advantages against other LMSesChamilo advantages against other LMSes
Chamilo advantages against other LMSes
 
Taller de optimizacion de servidores web tipo LAMP
Taller de optimizacion de servidores web tipo LAMPTaller de optimizacion de servidores web tipo LAMP
Taller de optimizacion de servidores web tipo LAMP
 
Chamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libreChamilo, c'est pas le Pérou - Jeudis du libre
Chamilo, c'est pas le Pérou - Jeudis du libre
 
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
TICs en educación y Chamilo, introducción para Maestria en Edumática, 2011
 
Skillbeez short-presentation
Skillbeez short-presentationSkillbeez short-presentation
Skillbeez short-presentation
 

Dernier

Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
Yanitza28
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
Marc Liust
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
EdwinGarca59
 

Dernier (20)

Editorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdfEditorial. Grupo de 12B de La Salle Margarita.pdf
Editorial. Grupo de 12B de La Salle Margarita.pdf
 
NIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptx
NIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptxNIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptx
NIA_300_PLANEACION_DE_UNA_AUDITORIA_DE_E.pptx
 
Desarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - EstradaDesarrollo del Dominio del Internet - Estrada
Desarrollo del Dominio del Internet - Estrada
 
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptxTarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
Tarea_sesion_15_Reportes Maestro - Detalle con el uso de AJAX.pptx
 
Función del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacionFunción del analizador léxico.pdf presentacion
Función del analizador léxico.pdf presentacion
 
QUINTA SEXTA GENERACION de COMPUTADORAS
QUINTA  SEXTA GENERACION de COMPUTADORASQUINTA  SEXTA GENERACION de COMPUTADORAS
QUINTA SEXTA GENERACION de COMPUTADORAS
 
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
¡Ya basta! Sanidad Interior - Angela Kellenberger.pdf
 
herramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el temaherramientas web para estudiantes interesados en el tema
herramientas web para estudiantes interesados en el tema
 
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdfRedes Neuronales profundas convolucionales CNN ́s-1.pdf
Redes Neuronales profundas convolucionales CNN ́s-1.pdf
 
Chat GPT para la educación Latinoamerica
Chat GPT para la educación LatinoamericaChat GPT para la educación Latinoamerica
Chat GPT para la educación Latinoamerica
 
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptxAVANCES TECNOLOGICOS  DEL SIGLO XXI. 10-08..pptx
AVANCES TECNOLOGICOS DEL SIGLO XXI. 10-08..pptx
 
Imágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la informaciónImágenes digitales: Calidad de la información
Imágenes digitales: Calidad de la información
 
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptxinfor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
infor expo AVANCES TECNOLOGICOS DEL SIGLO 21.pptx
 
presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...presentación del desensamble y ensamble del equipo de computo en base a las n...
presentación del desensamble y ensamble del equipo de computo en base a las n...
 
EL ESPIRITU SANTO en pentecostes2022.pptx
EL ESPIRITU SANTO en pentecostes2022.pptxEL ESPIRITU SANTO en pentecostes2022.pptx
EL ESPIRITU SANTO en pentecostes2022.pptx
 
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptxTipos de Datos de Microsoft Access-JOEL GARCIA.pptx
Tipos de Datos de Microsoft Access-JOEL GARCIA.pptx
 
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
2023 07 Casos prácticos para Realidad aumentada, metaverso y realidad extendida
 
el uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptxel uso de las TIC en la vida cotidiana.pptx
el uso de las TIC en la vida cotidiana.pptx
 
10°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-810°8 - Avances tecnologicos del siglo XXI 10-8
10°8 - Avances tecnologicos del siglo XXI 10-8
 
Introduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptxIntroduccion-a-la-electronica-industrial.pptx
Introduccion-a-la-electronica-industrial.pptx
 

Php Peru Test Fest 2009

  • 1. PHP Perú – TestFest 2009 Que son pruebas unitarias?
  • 2. Pruebas unitarias Prueban una funcionalidad ● Reportan si funciona o no ● En un formato usable por otros sistemas ● Se juntan todas ● Permiten reportes globales sobre un sistema ● Si funciona en sistema A, funciona en sistema B ● Si funciona hoy, funcionará mañana ●
  • 3. Como probar una funcionalidad Función “str_replace()” ● Que es lo que supuestamente hace? ● Esta descrito en su documentación – Si sé lo que hace, entonces puedo escribir una ● prueba $str = str_replace('a','b','Hola Perú'); ● var_dump($str); ● String (9) => 'Holb Perú'; ●
  • 4. Como se presentan en PHP Para el TestFest, probamos funcionalidades del ● lenguaje PHP mismo! Una prueba por fichero, un fichero por prueba ● separación – cambios de configuración por prueba – grupos de pruebas sobreviven fatal errors – Ficheros .phpt ● Cuatro secciones: test, ini, file, expectf ●
  • 5. Denominación Pruebas para bugs ● bug<bugid>.phpt (bug17123.phpt) ● Pruebas para comportamiento básico de una función ● <functionname>_basic<id>.phpt (strlen_basic.phpt) ● Pruebas para comportamiento de error de una función ● <functionname>_error<id>.phpt (strlen_error.phpt) ● Pruebas para comportamiento de variaciones de una función ● <functionname>_variation.phpt (strlen_variation.phpt) ● Pruebas genéricas de extensiones ● <extname><no>.phpt (dba_003.phpt) ●
  • 6. Formato ext/standard/tests/strings/strtr.phpt --TEST-- strtr() function - basic test for strstr() --INI-- --FILE-- <?php /* Descripción de la prueba – EN INGLES */ $trans = array(quot;helloquot;=>quot;hiquot;, quot;hiquot;=>quot;helloquot;, quot;aquot;=>quot;Aquot;, quot;worldquot;=>quot;planetquot;); var_dump(strtr(quot;# hi all, I said hello world! #quot;, $trans)); ?> --EXPECT-- string(32) quot;# hello All, I sAid hi planet! #quot;
  • 7. Preparación Sobre PHP 5.3 RC1 ● http://snaps.php.net/ ● http://windows.php.net/snapshots/ ● Para nuestra sesión, esta en local también, en ● http://192.168.1.34/shared/ Descomprimir ● Ir dentro de la carpeta ext/standard/tests/strings ● (por ejemplo)
  • 8. Preparación – Elegir pruebas http://gcov.php.net => PHP_5_3 => coverage ● Encontrar una función que no esta probada (o ● no mucho) Leer http://qa.php.net/write-test.php ● Escribir prueba ● Ejecutar run-tests.php ●