La descarga está en progreso. Por favor, espere

La descarga está en progreso. Por favor, espere

Proyecto GxUnit Presentación del estado del arte Facultad de Ingeniería - UdelaR Juan Pablo Goyení Marcos Olivera Nicolás Carro.

Presentaciones similares


Presentación del tema: "Proyecto GxUnit Presentación del estado del arte Facultad de Ingeniería - UdelaR Juan Pablo Goyení Marcos Olivera Nicolás Carro."— Transcripción de la presentación:

1 Proyecto GxUnit Presentación del estado del arte Facultad de Ingeniería - UdelaR Juan Pablo Goyení Marcos Olivera Nicolás Carro

2 Agenda Introducción Lenguajes Generadores de Aplicaciones Pruebas Unitarias y Herramientas Xunit ¿Qué consideramos unidad? Objetos GeneXus Características de GXUnit ¿Cómo desarrollar GXUnit?

3 Introducción Objetivos de la Presentación Exponer investigación en: Pruebas Unitarias Herramientas xUnit Objetos GeneXus Recibir retroalimentación Requerimientos para la construcción de la herramienta

4 GXUnit tuvo su origen en el año 2003 En el año 2004 se formalizó la propuesta en la línea de las herramientas xUnit En el año 2007 se propuso el desarrollo del proyecto en el curso Proyecto de Ingeniería de Software En el año 2010 se propuso el desarrollo del proyecto en el ámbito del curso Proyecto de Grado Introducción GXUnit

5 Las fallas más notorias en la historia del desarrollo de software fueron todas debidas a defectos en las unidades, defectos que podrían haber sido encontrados con apropiadas pruebas unitarias Beizer, B.: "Carta a swtest-discuss La identificación temprana de errores reduce el esfuerzo de corrección y el costo de los proyectos En GeneXus las pruebas unitarias aún requieren mucho tiempo y esfuerzo por parte del desarrollador Introducción Motivación

6 GeneXus y Power Builder Lenguajes declarativos, generadores de aplicaciones Orientados a especificar Sistemas de Información Soportan arquitecturas cliente/servidor, distribuidas y web Brindan facilidades para el acceso a Bases de Datos, diseño de reportes e interfaz de usuario Generadores de Aplicaciones

7 Conceptos - Pruebas unitarias Verifican el funcionamiento de unidades de software Con acceso al código fuente (caja blanca) Involucra a los desarrolladores Es importante la velocidad de las pruebas Independizar unidades del resto del sistema Simulación de objetos

8 Herramientas xUnit Frameworks para automatización de pruebas unitarias Permiten crear y ejecutar las pruebas Se describen y controlan los resultados en el mismo lenguaje del SUT Al ejecutar una prueba indican si pasó o falló

9 Herramientas xUnit Conceptos utilizados Caso de prueba Porción de c ódigo que verifica cierta funcionalidad o funcionalidades Contexto de las pruebas Conjunto de precondiciones o estados necesarios para correr una prueba Suite de pruebas Conjunto de casos de prueba con el mismo contexto Ejecución de las pruebas

10 Herramientas xUnit Características más importantes Assertion Methods Implementan el Oráculo Incluidas en el código de la prueba Decisiones booleanas Ejecución de suites como operación única Exposición de los resultados No ambiguos Fáciles de entender Semántica de colores: verde = pasa, rojo = falla

11 JUnit y PBUnit Frameworks xUnit para Java y Power Builder Junit es el más utilizado, PBUnit basado en JUnit Especificación del Contexto de las pruebas Permite especificar métodos para que corran antes de comenzar la ejecución de las pruebas y luego de finalizadas (setUp y tearDown) Métodos Assertion Provee métodos Assertions que validan los resultados de la ejecución de la prueba Suite de pruebas

12 GXUnit (Versión 2007) Se verifican objetos Procedure Se construyen conjuntos de pruebas donde se indican las entradas del procedimiento sus salidas esperadas, según los parámetros definidos en las rules Los casos de prueba pueden construirse manualmente o cargarlos desde un XML El resultado de las pruebas se guarda en un XML y puede verse desde el IDE de desarrollo Está obsoleto

13 GXUnit 2007 Grupo1

14

15 GXUnit 2007 Grupo2

16

17

18 Unidad en Java Java es un lenguaje orientado a objetos, cada objeto tiene sus propiedades y métodos La unidad de trabajo se refiere a una clase, un método de una clase o un conjunto pequeño de clases Unidad en Power Builder Es un lenguaje orientado a objetos, cada objeto tiene eventos, funciones y propiedades La prueba de unidad se puede dirigir a eventos y funciones del objeto (Utilizando PBUnit) ¿Qué es una unidad?

19 Unidad de Prueba en GeneXus Tomamos como unidad a un objeto GeneXus ¿Todos los objetos? Temas, Lenguage … Objetos utilizados para modelar estructuras de datos External Object Componentes de objetos ¿Atributos fórmula? Eventos, Subrutinas Grupos de Objetos Pattern Bussines Process Diagram

20 Objetos GeneXus

21

22

23 Consideraciones Conviene comenzar a desarrollar pensando principalmente en los objetos Procedure Tener siempre en cuenta el funcionamiento de los objetos Web Panel al momento de definir la arquitectura ¿Business Process Diagram?

24 Características de GXUnit Integrado al entorno de GeneXus Es más sencillo utilizar la herramienta Se pueden considerar las preferencias de desarrollo de la KB Pruebas veloces Generación automática de pruebas Almacenar/Exportar/Importar pruebas y resultados Simulación de Objetos GeneXus (Mocks) Pruebas embebidas en el código

25 ¿Cómo Desarrollar GXUnit? Utilizando Extensiones Disponibles desde la versión X de GeneXus Desarrolladas en C# y utilizando el GeneXus SDK Basado en las implementaciones de PIS (2007) ¿Asserts? ¿Extendiendo el lenguaje? ¿Utilizando External Objects?

26 ¡Muchas Gracias! ¿Preguntas? ¿Respuestas? ¿Sugerencias?


Descargar ppt "Proyecto GxUnit Presentación del estado del arte Facultad de Ingeniería - UdelaR Juan Pablo Goyení Marcos Olivera Nicolás Carro."

Presentaciones similares


Anuncios Google