Créditos ECTS Créditos ECTS: 6
Horas ECTS Criterios/Memorias Trabajo del Alumno/a ECTS: 99 Horas de Tutorías: 3 Clase Expositiva: 24 Clase Interactiva: 24 Total: 150
Lenguas de uso Castellano, Gallego
Tipo: Materia Ordinaria Grado RD 1393/2007 - 822/2021
Centro Escuela Politécnica Superior de Ingeniería
Convocatoria: Primer semestre
Docencia: Sin docencia (Extinguida)
Matrícula: No 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
Competencias básicas
CB1 - Que los estudiantes hayan demostrado poseer y comprender conocimientos en un área de estudio que parte de la base de la educación secundaria general, y se suele encontrar a un nivel que, si bien se apoya en libros de texto avanzados, incluye también algunos aspectos que implican conocimientos procedentes de la vanguardia de su campo de estudio.
CB2 - Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio.
CB3 - Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética.
CB4 - Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
CB5 - Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía.
Competencias generales
CG1 - Conocimiento de materias básicas y tecnologías, que le capacite para el aprendizaje de nuevos métodos y tecnologías, así como que le dote de una gran versatilidad para adaptarse a nuevas situaciones.
CG2 - Capacidad de resolución de problemas en el campo de la ingeniería robótica con creatividad, iniciativa, metodología y razonamiento crítico.
CG3 - Capacidad de utilizar herramientas informáticas para el modelado, la simulación y el diseño de aplicaciones de ingeniería.
CG6 - Concebir, calcular, diseñar y poner en marcha algoritmos, equipos o instalaciones en el ámbito de la robótica, para aplicaciones industriales o de servicios, teniendo en cuenta aspectos de calidad, seguridad, criterios medioambientales, uso racional y eficiente de recursos.
CG7 - Capacidad de trabajar en un grupo multidisciplinar y de comunicar, tanto por escrito como de forma oral, conocimientos, procedimientos, resultados e ideas relacionadas con la robótica y la electrónica.
Competencias transversales
CT1 - Capacidad de análisis y síntesis.
CT2 - Capacidad para el razonamiento y la argumentación.
CT3 - Capacidad de trabajo individual, con actitud autocrítica.
CT4 - Capacidad para trabajar en grupo y abarcar situaciones problemáticas de forma colectiva.
CT5 - Capacidad para obtener información adecuada, diversa y actualizada.
CT6 - Capacidad para elaborar y presentar un texto organizado y comprensible.
CT7 - Capacidad para realizar una exposición en público de forma clara, concisa y coherente.
CT8 - Compromiso de veracidad de la información que ofrece a los demás.
CT9 - Habilidad en el manejo de tecnologías de la información y de la comunicación (TIC).
CT10 - Utilización de información bibliográfica y de Internet.
CT11 - Utilización de información complementaria y/o puntual en lengua inglesa.
CT12 - Capacidad para resolver problemas mediante la aplicación integrada de sus conocimientos.
Competencias específicas
CE5 - Capacidad de analizar, diseñar, representar y programar algoritmos, y manejo de 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 4 en cada una de las partes (examen final y prácticas) y un 5 en la media entre las dos.
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) y un 5 en la media entre las dos.
* 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 asignatura. En concreto, el desarrollo de las prácticas así como la prueba final permitirá evaluar las competencias: CB2, CB4, CG2, CG3, CG6, CT1, CT4, CT6, CT7, CT12, CE5.
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.
- Tutorías individualizadas: 4 horas.
- Actividades de evaluación y revisión: 5 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: 6 horas.
- Actividades de evaluación y revisión: 7 horas.
TOTAL 90 horas
Materia en extinción en el curso 2024/25, sin docencia pero con derecho a la evaluación con el sistema especificado para estudiantes repetidores.