Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Horas de Tutorías: 3 Clase Expositiva: 24 Clase Interactiva: 24 Total: 51
Lenguas de uso Castellano, Gallego
Tipo: Materia Ordinaria Grado RD 1393/2007 - 822/2021
Departamentos: Electrónica y Computación
Áreas: Lenguajes y Sistemas Informáticos
Centro Escuela Politécnica Superior de Ingeniería
Convocatoria: Primer semestre
Docencia: Con docencia
Matrícula: Matriculable
La memoria del título fija los siguientes resultados de aprendizaje como objetivos de esta materia:
1. Aplicar y entender las métricas sobre el software para determinar y priorizar las pruebas de mayor valor.
2. Entender la construcción de software mediante el uso de metodologías de guiadas por pruebas
3. Conocer y saber utilizar un estándar de planificación y construcción de pruebas para la generación de documentación de pruebas de calidad.
4. Ser capaz de identificar las estrategias adecuadas para la construcción de pruebas en función de los requisitos y criterios de aceptación del sistema propuesto.
5. Conocer y ser capaz de aplicar técnicas de generación de casos de prueba tanto para pruebas estructurales como funcionales.
6. Conocer un marco para la construcción de pruebas automatizadas y ser capaz de utilizarlo para la construcción, en el lenguaje soportado, de casos y procedimientos de pruebas.
De acuerdo con la memoria verificada del título, los contenidos para esta materia son:
Métricas del software. Métodos de construcción dirigidos por pruebas. Planificación y construcción de pruebas. Estrategias de prueba. Técnicas de prueba.
Estos contenidos se estructuran en el siguiente programa (incluyendo las horas presenciales y no presenciales aproximadas):
1. Introducción a la Ingeniería de Software (4HP, 6HNP)
2. Ciclos de vida dirigidos por pruebas (TDD) (4HP, 6HNP)
3. Ingeniería de requisitos (4HP, 6HNP)
3.1. Análisis y especificación de requisitos
3.2. Validación de requisitos
3.3. Gestión de requisitos
4. Métricas aplicadas al desarrollo de Software (4HP,6HNP)
5. Pruebas de software (8HP, 12HNP)
5.1. Técnicas de diseño de casos de prueba
5.1.1. Pruebas estructurales o de caja blanca
5.1.2. Pruebas funcionales o de caja negra
5.2. Documentación del diseño de las pruebas
5.3. Planificación de la ejecución de las pruebas
5.4. Estrategias de aplicación y depuración de las pruebas
Se trata de una asignatura con un componente práctico importante en la que el alumno aprenderá, a través de las sesiones interactivas, a aplicar las diferentes técnicas y metodologías vistas durante las clases expositivas. El programa de prácticas completo (24HP y 36 HNP) estará centrado en el desarrollo por equipos de un proyecto software de robótica. El alumnado recibirá la descripción del proyecto y, en base a ello, tendrá que obtener los requisitos e implementarlos siguiendo un desarrollo guiado por pruebas de software (TDD). Durante este proceso el alumnado deberá de diseñar, planificar, ejecutar y documentar las diferentes pruebas que permitan avanzar en el proyecto y, finalmente, entregar y presentar los resultados.
Python será el lenguaje de desarrollo empleado para la implementación de las prácticas y para el desarrollo de y automatización de las pruebas necesarias.
Bibliografía básica
[1]. Pressman, Roger S., Ingeniería del software: un enfoque práctico. McGraw-Hill
[2]. Sommerville, Ian, "Ingeniería de software", Addison Wesley
Bibliografía complementaria
[3]. Beck, Kent, "Test-driven development by example", Addison-Wesley
[4]. Khorikov, Vladimir, "Unit Testing Principles, Practices, and Patterns", Manning
[5]. Percival, Harry, "Test-Driven Web Development with Python", O'Reilly
El alumno que haya superado el curso con éxito será capaz de:
* Conocimiento
Con107. Entender el ciclo de vida del software, con especial énfasis en las etapas de desarrollo y pruebas
Con108. Discutir los méritos de distintas metodologías de desarrollo de software para las necesidades de un sistema concreto
Con109. Identificar las estrategias adecuadas para la aplicación de pruebas en función de los requisitos y criterios de aceptación del sistema propuesto
Con110. Conocer el uso de métricas de calidad y su influencia en el proceso de planificación y construcción de las pruebas
* Destreza
H/D105. Definir las características y requisitos de un sistema software a partir de las necesidades de negocio del usuario
H/D106. Abordar el desarrollo de un sistema software mediante el uso de metodologías guiadas por pruebas
H/D107. Realizar la planificación de la estrategia de pruebas, construcción de los casos de prueba, aplicación y validación de un sistema software en desarrollo.
* Competencia
Comp02. Programar algoritmos con las estructuras de datos adecuadas para la resolución de problemas en el ámbito de la robótica.
Los contenidos de la asignatura se impartirán indistintamente en las clases expositivas e interactivas. Las unidades teóricas y las prácticas se impartirán de manera alterna a lo largo del semestre, con el objetivo de afianzar los conceptos impartidos en ellas y utilizar la teoría como la base real de las prácticas. La realización de las prácticas es necesaria, al igual que la asistencia a clase, para aprobar la materia, puesto que teoría y prácticas se complementan.
Clases expositivas: las clases de teoría se articularán con apoyo de medios electrónicos como videos y diapositivas. A través de la herramienta de e-Learning de la USC (Campus virtual) se proporcionará al alumnado el material docente de la asignatura a medida que se vaya empleando.
Clases interactivas: a lo largo del semestre el alumnado tendrá que realizar un proyecto compuesto de diferentes ejercicios adecuados a los contenidos expuestos hasta el momento. Las clases interactivas se desarrollarán principalmente de forma grupal y estarán centradas en la realización de un proyecto software de robótica desarrollado a través de un ciclo de vida guiado por pruebas (TDD) en el que se aplicarán las metodologías, técnicas y algoritmos vistos durante las clases expositivas. Para el desarrollo de las prácticas se empleará el lenguaje de programación Python. Se proporcionará al alumnado del entorno de desarrollo necesario para llevar a cabo las prácticas.
Tutorías: las sesiones de tutorías servirán para resolver las dudas del alumnado en cuanto a los contenidos de la materia y ejercicios de prácticas. Estas tutorías serán tanto presenciales como virtuales a través de correo electrónico, campus virtual o la plataforma Microsoft Teams.
Curso Virtual: Esta materia dispondrá de un curso virtual desenvuelto sobre la plataforma de Campus virtual de la USC, usando además la herramienta colaborativa Microsoft Teams. Se le facilitará al alumnado todo el material necesario en formato digital y distintas herramientas de comunicación para el apoyo, tanto de la docencia virtual como de las tutorías, incluyendo videoconferencia, chat, correo electrónico, foros...
Los recursos necesarios para la materia son los siguientes:
- Ordenador personal
- Entorno de desarrollo (se proporcionará al alumnado)
- Copias de los apuntes de la materia
- Acceso de los alumnos a la bibliografía en la Biblioteca o por Internet.
- OpenOffice o LibreOffice para la preparación de la documentación de las prácticas.
- Acceso al campus virtual de la USC
- Acceso a Microsoft Teams
Para superar la asignatura, el alumnado deberá superar por separado tanto la teoría como la práctica de la asignatura.
La asistencia a las clases interactivas y expositivas es obligatoria y se tendrá en cuenta para la evaluación de la materia. Será obligatorio la asistencia al menos al 80% de las sesiones (salvo causas muy justificadas, según normativa de la USC).
Las clases prácticas se realizarán a lo largo del curso durante las sesiones interactivas. A lo largo del semestre, durante las sesiones y de forma grupal, el alumnado desarrollará un proyecto software de robótica compuesto de diferentes ejercicios centrados en el desarrollo de software dirigido por pruebas. A la finalización del semestre el alumnado entregará y presentará el proyecto realizado, que será empleado como medio principal para evaluar su evolución en la parte práctica de la asignatura.
Las preguntas del examen final se centrarán en los contenidos específicos, que se han desarrollado en la materia, en relación con sus competencias, y que podrán haber sido adquiridos por el alumno tanto en la parte expositiva como en la interactiva. El examen podrá constar de preguntas tipo test, preguntas cortas y problemas de casos prácticos. En el examen se evaluará el grado de asimilación de los objetivos establecidos en el programa docente de la materia.
No se realizará ningún examen de teoría parcial.
El examen final será el 40% de la nota de la asignatura y las prácticas el otro 60%. Para poder superar la asignatura y estableciendo una evaluación sobre 10 puntos, será necesario obtener al menos un 5 en cada una de las partes (examen final y prácticas).
* No presentado
El alumno recibirá la cualificación de "no presentado" cuando no haga el examen final.
* Segunda oportunidad
Se mantiene la nota conseguida en las prácticas durante el curso y también su peso en la nota final. A los alumnos que no hayan superado la parte práctica durante la convocatoria anterior se les proporcionará otro proyecto para que desarrollen, entreguen y presenten en fecha previa al examen final. En segunda oportunidad, el examen final será el 40% de la nota de la asignatura y las prácticas el otro 60%. Para poder superar la asignatura y estableciendo una evaluación sobre 10 puntos, será necesario obtener al menos un 4 en cada una de las partes (examen final y prácticas).
* Dispensa de asistencia
En caso de dispensa de asistencia los alumnos estarán exentos del cumplimiento del deber de asistencia, pero seguirá siendo obligatorio la realización, entrega y superación de las actividades propuestas, así como superar el examen final.
* Alumnos repetidores
Los alumnos repetidores de años anteriores estarán exentos del cumplimiento del deber de asistencia a las clases presenciales. Para aprobar la materia deberán superar el examen teórico y los ejercicios prácticos como el resto de los alumnos.
* Realización fraudulenta de ejercicios o pruebas
Para los casos de realización fraudulenta de ejercicios o pruebas será de aplicación lo recogido en la "Normativa de avaliación do rendemento académico dos estudantes e de revisión de cualificacións" de la USC.
* Evaluación de las competencias
En general el desarrollo de las actividades prácticas, así como la preparación de los temas teóricos permitirá al alumnado trabajar las competencias básicas, generales y transversales de la materia, y conseguir los resultados de aprendizaje previstos.
La materia tiene fijada una carga de trabajo de 6 ECTS. En la guía de la materia se puede ver un análisis detallado sobre el tiempo de estudio y trabajo personal necesario para superar la materia que de forma simplificada se muestra a continuación:
* Trabajo presencial en el aula
- Clases expositivas: 24 horas.
- Clases interactivas: 24 horas.
- Tutorías de grupo (con grupos reducidos): 3 horas.
TOTAL 60 horas
* Trabajo personal del estudiante
- Lectura y preparación de temas: 36 horas.
- Elaboración de las prácticas: 36 horas.
- Tutoría en grupo: 5 horas.
- Tutoría individualizada: 10 horas.
- Actividades de evaluación y revisión: 12 horas.
TOTAL 99 horas
Marcos Boullon Magan
Coordinador/a- Departamento
- Electrónica y Computación
- Área
- Lenguajes y Sistemas Informáticos
- Correo electrónico
- marcos.boullon [at] usc.es
- Categoría
- Profesor/a: Profesor Ayudante Doctor LOU
Viernes | |||
---|---|---|---|
10:00-14:00 | Grupo /CLE_01 | Castellano | Aula de Informática 1 (Pab.III) |
16:00-20:00 | Grupo /CLE_01 | Castellano | Aula de Informática 1 (Pab.III) |
15.01.2021 16:00-20:00 | Grupo /CLE_01 | Aula 6 (Aulario 2) |
19.06.2025 16:00-20:00 | Grupo /CLE_01 | Aula 7 (Aulario 2) |