La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Software Testing: “Tres enfoques para un mismo problema”

Presentaciones similares


Presentación del tema: "Software Testing: “Tres enfoques para un mismo problema”"— Transcripción de la presentación:

1 Software Testing: “Tres enfoques para un mismo problema”
Enrique Almeida Concepto Mi nombre es Enrique Almeida Soy director de la empresa CONCEPTO, que desde hace mas de 12 años trabaja con GeneXus, para el desarrollo de aplicaciones medianas y grandes. Hoy vamos a hablarle con Jorge y con Margarita del tema de testeo pero desde tres enfoques diferentes.

2 Objetivos de la charla Testeo Unitario con GeneXus.
GXUnit - Conseguir adeptos para el desarrollo entre todos Integrar el Testeo Unitario a GeneXus Los objetivos de esta charla, son: Hablar un poco de Testeo Unitario y de las herramientas necesarias para realizarlos. Conversar de la idea de hacer una herramienta GXUnit para poder testear en forma unitaria lo que estoy programando. Integrar esa herramienta a GeneXus y poder con eso facilitarle el trabajo a los desarrolladores, haciendo mucho mas facil, esta metodologia de trabajo.

3 Porque hablar de Testing?
Dos tipos de Testeo Unitario (todos los días) Funcional (3-7 días por ciclo) eXtreme Programming como metodología de trabajo con GeneXus. Test Driven Development En la metodologia actual de desarrollo dentro de Concepto, tenemos grupos de trabajos formados, de 5 a 10 personas trabajando en proyectos para clientes. Estos clientes reciben cada 2 o tres meses “entregables”. Estos entregables son funcionalidades nuevas (pueden ser nuevos modulos) y tambien arreglos a los errores que se encontraron durante el periodo. Para esto, tenemos dos tipos de testeo. El primero es el Unitario, es en el que voy a hacer incapie en esta charla. Este es el que hace el desarrollador, que recibe un nuevo requerimiento o el reporte de un error y tiene que arreglarlo. Luego de arreglar el problema, lo que hace es probar que el modulo que arreglo y los que estan involucrados directamente esten solucionados. Luego, y con una frecuencia de 2 a tres meses se hace un testeo funcional, donde se consolida el trabajo de todo el grupo y se hacen test de integracion, y test funcionales, probandose ciclos mas largos que los que se probaron con el unitario. El motivo de la charla es solamente el primer testeo. El testeo unitario. Dada la metodologia de desarrollo antes contada, empezamos a buscar que mejoras podiamos encontrar, y hace un par de años, empezamos con XP. Esta metodologia, si bien no la utilizamos hasta sus ultimas consecuencias (no usamos las 12 practicas) pero si vimos que tenian muchas ventajas y se adaptaba muy bien al ambiente de desarrollo con Genexus. Un poco despues surgio la Test Driven Development.

4 Libros recomendados Test Driven Development by Example (Kent Beck)
Buena Teoría Ejemplos demasiados simples Test Driven Development in Microsoft .NET (J. Newkirk, A.Vorontsov) Buenos ejemplos

5 Test Driven Development
Los tres pasos: Escribir un test Escribir código mas simple que cumpla los test. Refactoring Usa xUnit (Junit, Nunit, etc) para el control de los test. Test Driven Development – Basar el desarrollo de la aplicaicion en mis tests. Los pasos a seguir son siempre los mismos y se aplican en forma ciclica todo el tiempo y muy a menudo (varias veces al dia). Escribir un test (compilarlo, ejecutarlo, ver los resultados) Escribir el codigo mas simple que solucione los problemas que se detectan en la corrida de los test anteriores (compilarlo, ejecutarlo, ver los resultados) Refactoring. Es dificil traducir refactoring al español, Es la tarea de mejorar la estructura interna de nuestro codigo, sin alterar para nada su comportamiento externo. Consiste eliminar codigo duplicado y redundante, darle nombre adecuados a nuestras clases y metodos, etc. Es un tema en si mismo, pero no es el foco de esta charla. Como hacer que esta metodologia de desarrollo sea eficiente y comoda para el desarrollador?. Esto se logra con herramientas que se integren al ambiente de desarrollo (IDE) como pueden ser nUnit, que se integra a Visual Studio. Nunit es un programa que permite ejecutar en forma ordenada los test unitarios que tengo asociados a mi programas. Ademas deja un registro del resultado de dichos test.

6 Que es el Nunit? Aquí hay una pantalla de nUnit.
Se ve el resultado de la corrida de los test aplicables al Nunit mismo. Si los resultados estan todos en verde, quiere decir que esta todo bien. Si hay algo mal, el resultado es en rojo y quienes programan deben corregirlo.

7 GXUnit Framework de Testeo con GeneXus
Escribir Test en GeneXus como Procedures Ejecutarlos y registrar los resultados Que necesitamos entonces, para poder utilizar esta metodologia (Test Driven Development) en un ambiente de desarrollo Genexus? Lo ideal seria tener una herramienta, que se pueda integrar a GeneXus y en la cual se puedan ejecutar las pruebas que yo asocie a mis objetos. O sea, poder escribir TEST, como un procedimiento, marcado con alguna property especial, y luego poder ejecutarlo y ver cuales son los testeos que fallaron.

8 GXUnit – Etapas en el desarrollo
Procedimientos WebPanels Transacciones WorkPanels

9 Que nos falta? Comandos nuevos en GeneXus
try/catch Assert Mejorar el manejo de Excepciones Poder marcar objetos como de TEST Integración dentro de GeneXus Que nos falta para poder desarrollar una herramienta como GXUnit?. Seria bueno poder contar con comandos del tipo Try/catch para poder ejecutar algo en forma condicional y poder capturar las excepciones que se produzcan. Assert poder tener sentencias que permitan comparar el resultado


Descargar ppt "Software Testing: “Tres enfoques para un mismo problema”"

Presentaciones similares


Anuncios Google