Clase 2

Objetivos

Los objetivos principales de la clase son:

  • Introducir el concepto de testeo unitario, comprender la mecánica de esta técnica y cuáles son los beneficios que uno busca obtener al ponerla en práctica:
    • Los tests como especificación de mi programa y como herramienta para definir las interfaces del código.
    • Los tests como herramienta para evitar el sobrediseño y para incrementar la flexibilidad del código.
  • Aprender el uso y las ventajas de trabajar con un repositorio de código.
  • Mostrar el impacto en la metodología de trabajo de las herramientas que permitan automatizar determinadas tareas o asistir al programador al momento de codificar, por ejemplo:
    • Entorno integrado de desarrollo, autocompleción, refuerzo de convenciones de código, etc.
    • Automatización de refactors.
    • Automatización de testing
    • Versionado de código

Como objetivos secundarios podemos ver los siguientes temas:

  • Mostrar algunas buenas prácticas de codificación, selección de nombres, formateo del código, comentarios usando Javadoc.
  • Breve introducción a las Annotations.
  • Tips de utilización de algunas herramientas de desarrollo comunes:
    • Eclipse (organización del código en packages, source folders y proyectos, creación de un proyecto, organización de las dependencias, configuraciones y shortcuts más comunes)
    • JUnit (descripción de un test case usando JUnit 4, @Before y @After, ejecución de todos los tests en un package o en un projecto)
    • Svn (publicar un proyecto en svn, checkout de un proyecto preexistente, sincronizar el proyecto con el repositorio, herramientas resolución de conflictos).
  • Clase de cañon mostrando el entorno de trabajo.

Elegimos explícitamente concentrarnos en testeo unitario y no en TDD porque consideramos que al presentar ambos temas juntos se suelen confundir ambas técnicas.

Qué hay que llevar impreso

Enunciado de Software de Atención Médica con una nueva etapa

Material de lectura

Material complementario

Enunciados de cuatrimestres anteriores

Links

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License