NO EXISTEN CAMBIOS
La guía de la asignatura ha sido actualizada con los cambios que aquí se mencionan.
El objetivo de esta guía es orientar al alumno en el estudio de la asignatura de Pruebas de Software, que forma parte de la materia Ingeniería de Software y juega un papel fundamental en el ciclo de vida de desarrollo de software. En concreto, el contenido de la asignatura permitirá que el/la estudiante verifique, mejore y garantice la calidad de sus futuros desarrollos, siendo por tanto de vital importancia para su futura vida profesional. De este modo, Pruebas de Software complementa lo aprendido en las asignaturas previas de programación en el primer curso del grado (Fundamentos de Programación y Programación Orientada a Objetos), así como la asignatura del segundo curso de Introducción a la Ingeniería de Software.
La asignatura se imparte en el segundo cuatrimestre del tercer curso, supone una carga docente de 6 créditos y tiene carácter optativo. Se recomienda la lectura completa de la guía al comienzo del cuatrimestre para tener una idea completa del temario, las prácticas y el método de evaluación, lo que permitirá al alumno una correcta planificación de su trabajo.
En Pruebas de Software se estudiarán las técnicas básicas para comprobar el correcto funcionamiento de aplicaciones informáticas.
En las siguientes asignaturas del Grado en Ingeniería Informática se estudian los fundamentos del desarrollo de software:
- Primer curso: (i) Fundamentos de Programación, (ii) Estrategias de Programación y Estructuras de Datos, y (iii) Programación Orientada a Objetos
- Segundo curso: (i) Programación y Estructuras de Datos Avanzadas, y (ii) Introducción a la Ingeniería de Software
- Tercer curso: Diseño del Software
Pruebas de Software complementa a las citadas asignaturas, aportando las técnicas necesarias para detectar errores en sistemas software.
Se aconseja tener los conocimientos básicos de programación y algoritmia que se estudian en las asignaturas de (i) Fundamentos de Programación y (ii) Estrategias de Programación y Estructuras de Datos del primer curso del Grado en Ingeniería Informática.
Las consultas sobre los contenidos o sobre el funcionamiento de la asignatura se plantearán preferentemente en el curso virtual, utilizando los foros públicos.
El alumno podrá ponerse en contacto directo con el equipo docente a través del:
- correo electrónico: rheradio@issi.uned.es
- teléfono: 913988242 (preferentemente los jueves de 10 a 14h)
- dirección postal: ETSI Informática de la UNED, C/ Juan del Rosal 16, 2ª planta, Despacho 2.21. 28040 Madrid.
La asignatura persigue las siguientes competencias generales de la titulación:
- G.1 - Competencias de gestión y planificación: Iniciativa y motivación. Planificación y organización (establecimiento de objetivos y prioridades, secuenciación y organización del tiempo de realización, etc.). Manejo adecuado del tiempo.
- G.2 - Competencias cognitivas superiores: selección y manejo adecuado de conocimientos, recursos y estrategias cognitivas de nivel superior apropiados para el afrontamiento y resolución de diversos tipos dtareas/problemas con distinto nivel de complejidad y novedad: Análisis y Síntesis. Aplicación de los conocimientos a la práctica Resolución de problemas en entornos nuevos o poco conocidos. Pensamiento creativo. Razonamiento crítico. Toma de decisiones.
- G.3 - Competencias de gestión de la calidad y la innovación: Seguimiento, monitorización y evaluación del trabajo propio o de otros. Aplicación de medidas de mejora. Innovación y Gestión de los procesos de comunicación e información. En la Sociedad del Conocimiento, son especialmente relevantes aquellas competencias instrumentales que potencian una interacción y comunicación adecuadas y eficaces del individuo a través de distintos medios y con distinto tipo de interlocutores, así como el uso adecuado de todas aquellas herramientas que permiten la comunicación y la gestión de la información mediada por tecnologías.
Las competencias específicas de esta asignatura son:
- BTEisw.1 Capacidad para desarrollar, mantener y evaluar servicios y sistemas software que satisfagan todos los requisitos del usuario y se comporten de forma fiable y eficiente, sean asequibles de desarrollar y mantener y cumplan normas de calidad, aplicando las teorías, principios, métodos y prácticas de la Ingeniería del Software.
- BTEisw.4 Capacidad para identificar y analizar problemas y diseñar, desarrollar, implementar, verificar y documentar soluciones software sobre la base de un conocimiento adecuado de las teorías, modelos y técnicas actuales.
De acuerdo a la memoria de verificación de la titulación, en esta asigantura se lograrán los siguientes resultados de aprendizaje enmarcardos en la materia de Ingeniería de Software:
- RA3. Conoce diferentes técnicas de codificación, integración y pruebas para la construcción de aplicaciones y es capaz de aplicarlas.
- RA8. Es capaz de debatir y defender las conclusiones con argumentos sólidos y bien fundados
An concreto, se aprenderán:
- Dos de las técnicas más populares para la simplificación de un espacio de prueba potencialmente infinito: la partición del espacio en clases de equivalencia y la identificación de valores límite para dichas clases.
- Los fundamentos del testing combinatorio, que facilita la creación de juegos de prueba que exploran la interacción entre distintos valores de prueba.
- Los fundamentos algorítmicos del testing combinatorio y cómo utilizar herramientas que dan soporte automático de este tipo de pruebas.
UNIDAD DIDÁCTICA I: Fundamentos de las pruebas de software
1.1. Conceptos fundamentales
1.1.1. Imposibilidad de las pruebas exhaustivas
1.1.2. Error, defecto o falta y fallo
1.1.3. Caso de prueba
1.1.4. Objetivo de las pruebas
1.2. Niveles de prueba
1.2.1. Pruebas de caja negra
1.2.2. Pruebas estructurales o de caja blanca
1.2.3. Pruebas unitarias
1.2.4. Pruebas de integración
1.2.5. Pruebas de sistema
1.3. Criterios de cobertura para artefactos software
1.3.1. Criterios de cobertura
1.3.2. Utilidad de los criterios de cobertura
1.3.3. Un posible modelo de trabajo
1.3.4. Criterios de cobertura para código fuente
1.3.5. Criterios de cobertura para máquinas de estado
1.3.6. Limitaciones de los criterios de cobertura
UNIDAD DIDÁCTICA II: Valores de prueba
2.1. Introducción a los valores de prueba
2.1.1. Clases o particiones de equivalencia
2.1.2. Valores límite
2.1.3. Conjetura de errores
2.1.4. Aplicación de las técnicas al conjunto de datos de salida
2.1.5. Criterios de cobertura para valores de prueba
2.2. Determinación de los valores de prueba
2.1.1. Identificación sistemática de valores de prueba
2.1.2. Dimensiones principales y secundarias de variables de prueba
UNIDAD DIDÁCTICA III: Combinación de valores de prueba
3.1. Introducción al testing combinatorio
3.1.1. Estructura de un caso de prueba
3.1.2. El oráculo
3.1.3. Estrategias de combinación
3.2. Testing combinatorio desde un enfoque práctico
3.2.1. Estructura de un caso de prueba
3.2.2. El oráculo
3.2.3. Estrategias de combinación
3.3. Limitaciones y funcionalidades básicas de una herramientas de testing combinatorio
3.3.1. Encontrar un “covering array” mínimo es un problema NP-completo
3.3.2. Combinaciones con valores mixtos de t
3.3.3. Supresión de combinaciones indeseables mediante la inclusión de restricciones
3.3.4. Reutilización de combinaciones de prueba a medida que se aumenta t
La metodología seguida para el aprendizaje de esta asignatura es la propia de una universidad a distancia, que se caracteriza por el empleo conjunto de medios impresos, audiovisuales y de las nuevas tecnologías. Los materiales docentes específicos, las comunidades virtuales de aprendizaje, la asistencia presencial a los estudiantes a través de los profesores tutores de los Centros Asociados y el uso de los diversos sistemas de comunicación (teléfono, videoconferencia, radio, televisión, correo electrónico, etc.) son los medios con que cuenta la UNED para la enseñanza a distancia y todos ellos son utilizados en esta asignatura.
TIPO DE PRUEBA PRESENCIAL
|
Tipo de examen |
Tipo de examen |
Examen de desarrollo |
Preguntas desarrollo |
Preguntas desarrollo |
2 |
Duración |
Duración |
120 (minutos) |
Material permitido en el examen |
Material permitido en el examen |
Ninguno |
Criterios de evaluación |
Criterios de evaluación |
- Capacidad para sintetizar y relacionar contenidos de la asignatura
- Resolución justificada y adecuada de los supuestos prácticos planteados en el examen
|
% del examen sobre la nota final |
% del examen sobre la nota final |
60 |
Nota mínima del examen para aprobar sin PEC |
Nota mínima del examen para aprobar sin PEC |
|
Nota máxima que aporta el examen a la calificación final sin PEC |
Nota máxima que aporta el examen a la calificación final sin PEC |
|
Nota mínima en el examen para sumar la PEC |
Nota mínima en el examen para sumar la PEC |
5 |
Comentarios y observaciones |
Comentarios y observaciones |
Para aprobar la asignatura, es imprescindible sacar un 5 o más en ambas partes (tanto en la PEC como en el examen). Al igual que existen dos convocatorias para examinarse, también se dispone de dos plazos para entregar la PEC: junio y septiembre. El plazo límite de entrega coincidirá con la fecha del último día de exámenes de cada convocatoria. Por ejemplo, supongamos que la segunda semana de exámenes va del 5 al 10 de junio; entonces, la fecha límite entrega de la PEC en la convocatoria de junio será el 10. Las notas, tanto del examen como de la PEC, se guardan para septiembre. Por ejemplo, puede aprobar el examen en junio y la PEC en septiembre. |
PRUEBAS DE EVALUACIÓN CONTINUA (PEC)
|
¿Hay PEC? |
¿Hay PEC? |
Si |
Descripción |
Descripción |
Los alumnos deberán resolver una Práctica de Evaluación Continua (PEC), que será obligatoria. El curso virtual de la asignatura contiene más de 12 PECs de cursos anteriores completamente resueltas. |
Criterios de evaluación |
Criterios de evaluación |
Resolución justificada y adecuada del supuesto práctico planteado en la PEC. La PEC supone un 40% de la nota final de la asignatura. Para aprobar el curso, los alumnos deberán obtener en la PEC una calificación mínima de 5 puntos sobre 10. |
Ponderación de la PEC en la nota final |
Ponderación de la PEC en la nota final |
40% |
Fecha aproximada de entrega |
Fecha aproximada de entrega |
Segunda semana de mayo |
Comentarios y observaciones |
Comentarios y observaciones |
|
OTRAS ACTIVIDADES EVALUABLES
|
¿Hay otra/s actividad/es evaluable/s? |
¿Hay otra/s actividad/es evaluable/s? |
No |
Descripción |
Descripción |
|
Criterios de evaluación |
Criterios de evaluación |
|
Ponderación en la nota final |
Ponderación en la nota final |
0 |
Fecha aproximada de entrega |
Fecha aproximada de entrega |
|
Comentarios y observaciones |
Comentarios y observaciones |
|
¿Cómo se obtiene la nota final?
|
Asumiendo que el examen y la PEC se evalúan sobre 10: - Nota final = nota del examen * 0,6 + calificación de la PEC * 0,4
- Para aprobar la asignatura, tanto en el examen como en la PEC es necesario alcanzar 5 puntos sobre 10
|
Como materiales adicionales de apoyo al estudio de la asignatura, se ofrece el curso virtual donde podrán obtenerse, además de este mismo documento (denominado “Guía de la asignatura, 1ª parte: información general”), la ya citada “Guía de la asignatura, 2ª parte: plan de trabajo” que constituye una ampliación de la misma junto a otra información necesaria como orientaciones de estudio y el calendario de actividades, entre otras.
El citado curso virtual se usará como medio para que los estudiantes puedan acceder a los materiales adicionales, PECs, preguntas más frecuentes, foros generales y específicos de cada tema, etc. para que el estudiante pueda completar los conocimientos adquiridos a través del estudio de la bibliografía básica, conforme al criterio y planificación del equipo docente.