Documentos de Académico
Documentos de Profesional
Documentos de Cultura
A0043 MAI Calidad de Software ED1 V1 2017
A0043 MAI Calidad de Software ED1 V1 2017
1
MANUAL AUTOFORMATIVO
CALIDAD
DE
SOFTWARE
Autores:
Henry Joe Wong Urquiza
Calidad de Software
Primera edición
Huancayo, febrero de 2017
De esta edición
© Universidad Continental
Av. San Carlos 1980, Huancayo-Perú
Teléfono: (51 64) 481-430 anexo 7361
Correo electrónico: recursosucvirtual@continental.edu.pe
http://www.continental.edu.pe/
Todos los derechos reservados. Cada autor es responsable del contenido de su propio texto.
Este manual autoformativo no puede ser reproducido, total ni parcialmente, ni registrado en o transmitido por
un sistema de recuperación de información, en ninguna forma ni por ningún medio sea mecánico, fotoquímico,
electrónico, magnético, electro-óptico, por fotocopia, o cualquier otro medio, sin el permiso previo de la Universidad
Continental.
ÍNDICE
Introducción 7
Organización de la asignatura 9
Resultado de aprendizaje de la asignatura 9
Unidades didacticas 9
Tiempo minimo de estudio 9
Lectura seleccionada N° 2 23
Autoevaluación N° 1 24
Autoevaluación N° 2 24
Glosario de la unidad I 25
Bibliografía de la unidad I 26
Autoevaluación de la unidad I 27
Anexo 28
Lectura seleccionada Nº 1 38
Lectura seleccionada Nº 2 38
Actividad Nº 1 39
Actividad Nº 2 39
Glosario de la unidad II 40
Bibliografia de la unidad II 41
Autoevaluación de la unidad II 42
Anexo 43
UNIDAD III: Aseguramiento de la calidad 45
Lectura seleccionada N° 2 51
Actividad Nº 1 52
Actividad Nº 2 52
Anexo 56
Lectura seleccionada Nº 1 66
Lectura seleccionada Nº 2 66
Actividad Nº 1 67
Actividad Nº 2 67
Glosario de la unidad IV 68
Bibliografía de la unidad IV 69
Autoevaluación de la unidad IV 70
Anexo 71
INTRODUCCIÓN
PRESENTACIÓN DE LA ASIGNATURA
COMPETENCIAS DE LA ASIGNATURA:
Al término de la asignatura el estudiante será capaz de elaborar un correcto Plan de Calidad de Software, basándose en
las normativas que la ISO y el modelo CMMI para su implementación.
UNIDADES DIDACTICAS:
UNIDAD I UNIDAD II UNIDAD III UNIDAD IV
Introducción a la Calidad de
Planificación de la calidad Aseguramiento de la calidad Control de calidad
Software
Al finalizar la unidad, el Al finalizar la unidad, el estudiante Al finalizar la unidad, el estudiante Al finalizar la unidad, el
estudiante describe los conceptos explica la importancia del plan de explica la integración del SQA dentro estudiante explica el ciclo de
de calidad a nivel de produc- calidad en la gestión de un proyecto del proceso de desarrollo de software vida de las pruebas de software
to y servicio, asociándolos a la de software. y cómo contribuye a la calidad del dentro de un proyecto de
Ingeniería de software. mismo. sistemas y lo relaciona con las
actividades que impactan en la
calidad del software.
AUTOEVALUACIÓN BIBLIOGRAFÍA
Autoevaluación de la Unidad I
12 UNIDAD I Introducción a la Calidad de Software
En el siguiente capítulo usted comprenderá los diferentes conceptos sobre Calidad a nivel de producto o servicio asociado a
la Ingeniería de Software y además será capaz de poder describir los principios de la Gestión de la Calidad y explicara como
la mejora continua de procesos permite la Calidad en los proyectos o servicios.
1 Definición de calidad
1.1. Introducción
Para darle una introducción sobre lo que es Calidad, es bueno que analice el siguiente video que nos explica que pasaría
si los programadores hicieran construyeran un avión (La URL del video es la siguiente https://www.youtube.com/wat-
ch?v=UZq4sZz56qM
Como pudo apreciar en el video a los Ingenieros de Sistemas, Software o carreras afines que construyen algún Software
piensan que construyen Software sin ningún estándar o procedimiento para poder tener un producto que sea de Calidad.
¿Pero que podemos entender sobre Calidad? Para entender dicho concepto le invito a que usted indique porque com-
praría una computadora de marca “AB” con otra computadora de marca “BC” ¿Qué criterio usted escogería para escoger
una computadora de la marca “AB” y no de “BC”?
Según la norma ISO 8402 la Calidad lo define como “La totalidad de propiedades y características de un producto
o servicio que le confieren la capacidad de satisfacer las necesidades del Cliente” es por eso que un producto o
servicio para ser de calidad siempre tiene que satisfacer las necesidades de un Cliente, así el producto o servicio
internamente tenga alguna falla, si satisface la necesidad del Cliente será de Calidad.
Además de que un Producto o Servicio satisfaga la necesidad del Cliente tiene que ser accesible para el Cliente, eso quiero
indicar también para que un Producto o Servicio sea Calidad debe de ser accesible para el Cliente a un costo razonable,
para que de esa forma el Cliente se vuelva nuestro principal vendedor.
Para poder explicar el concepto de Servicios de Calidad, primero debemos de explicar que es Servicio:
Se entiende por servicio a cualquier actividad o beneficio que una parte ofrece a otra; son esencialmente intangibles y no
dan lugar a la propiedad de ninguna cosa. En otras palabras, el servicio es una actividad realizada para brindar un beneficio
CALIDAD DE SOFTWARE
UNIDAD I: Introducción a la Calidad de Software 13
MANUAL AUTOFORMATIVO
o satisfacer una necesidad. Su producción puede estar vinculada o no con un producto físico. (Abadi, 2004)
Con la definición anterior podemos concluir que para realizar un producto de Software debemos de tener un Servicio que
este alineado para poder construir productos de Calidad, porque son los cimientos necesarios para su construcción.
Entonces podemos definir que un Servicio de Calidad consiste en dar un Servicio a un Cliente que cumpla con las
expectativas que él está esperando.
• C onfiabilidad: Es la capacidad de ofrecer un servicio sin fallas, de manera exacta y consistente, desde la primera vez
que un cliente solicita algún servicio.
• Accesibilidad: Cuando se ofrece un servicio al cliente, las empresas deben facilitar los accesos necesarios para que los
clientes puedan contactar con ellos fácilmente y puedan recibir el servicio que ellos necesitan de manera rápida y
oportuna.
• Seguridad: Los clientes siempre deben percibir que reciben un servicio con los principios de seguridad y que no hay
riesgo de usarlos: riesgo como que les roben la información personal (número telefónico, cuentas bancarias, etc.).
• Empatía: Cuando se ofrece un servicio, debemos ponernos en el lado del cliente para intuir qué es lo que espera y de
esa manera ofrecerle un servicio de calidad.
Pero desde el punto de vista del cliente, los objetivos de un servicio de calidad deben ser los siguientes:
• L a satisfacción del cliente. Esto quiere decir que siempre debemos ponernos en el lugar del cliente para saber qué es
lo que espera y entregarle el servicio que él esté esperando.
• Las empresas que ofrecen servicios siempre deben estar mejorando y actualizándose, porque los procesos siempre
cambian en el tiempo y las necesidades del cliente también.
• Cuando ofrecemos los servicios también debemos ser eficientes para que de esa manera podamos generar productos
o servicios de calidad.
Como se explicó en los puntos anteriores, para poder crear un producto de calidad siempre hay que basarse en un proceso que
esté bien definido y normado por instituciones internacionales, como son las normas ISO, CMMI, entre otras, para que de esa
manera el producto que desarrollemos se encuentre avalado por un proceso de calidad.
Y como punto final, para poder ofrecer el producto debemos brindar servicios de calidad. De esa manera, nuestro cliente
percibirá que recibe un producto integral.
Usualmente cuando buscamos conceptos sobre calidad nos aparecen los siguientes conceptos que muchas de las veces nos
genera confusión, como es el caso de Control de Calidad y Aseguramiento de Calidad y según Abadi (2004) la diferencia seria
la siguiente:
Existe diferentes Modelos y Normas de Calidad que se encuentran estipulados en la Norma ISO 9126 que es una estándar
para la evaluación de la calidad que lo pueda descargar de la siguiente ruta: https://www.cse.unsw.edu.au/~cs3710/PMmate-
rials/Resources/9126-1%20Standard.pdf
CALIDAD DE SOFTWARE
UNIDAD I: Introducción a la Calidad de Software 15
MANUAL AUTOFORMATIVO
• L os datos de entrada serían los requerimientos del cliente. Luego, estos se convertirán en requisitos funcionales para
generar un producto de software.
• Las actividades que intervendrían para desarrollar dicho producto de software serian:
o Análisis funcionales
o Análisis técnico
o Construcción del producto de software
o Pruebas del producto de software
o Entrega al cliente
• P
ersonas que intervienen:
o Analistas funcionales
o Programadores
o Analista de calidad
o Cliente
Todos estos conjuntos de actividades se pueden representar en diagramas de flujos o diagramas de procesos (BPM). El pro-
ceso siempre deberá tener unos datos de entrada que pasarán por dicho proceso para generar una salida, como se puede
apreciar en el grafico siguiente:
ENTRADA SALIDA
• S irve para asegurar que los procesos que se definen sean congruentes con los objetivos estratégicos de la empresa,
siempre enfocándose en el cliente.
• Nos ayuda a enfocarnos en los procesos importantes del negocio para que sean constantemente revisados y mejorados
en el tiempo.
• Poder usar los recursos de la manera más eficiente dentro de un proceso, para ahorrar costos sin descuidar la calidad
del producto.
• Mejora la entrega del producto o servicio relacionado.
• Garantiza que los procesos de la empresa sean estandarizados para que todos los procesos sean utilizados por todos los
colaboradores de una institución.
• Facilitar la identificación temprana de riesgos en el cumplimiento de objetivos, gracias al seguimiento sistemático del
rendimiento de los procesos.
16 UNIDAD I Introducción a la Calidad de Software
La ISO 9000:2000 define la Gestión de la Calidad como las actividades coordinadas para dirigir y controlar una organización
en lo relativo a la calidad.
En general se puede definir la Gestión de la Calidad como el aspecto de la gestión general de la empresa que determina y
aplica la política de calidad
Con el objetivo de orientar las actividades de la Empresa para obtener y mantener el nivel de calidad del producto o el servi-
cio, de acuerdo con las necesidades del cliente.
PRODUCCIÓN
COMPRAS VENTAS
ASISTENCIA
CALIDAD POST-
LA CADENA VENTA
DE LA
CALIDAD
RR.HH ADMINIS-
TRACIÓN
FINANCIERO
Según la norma ISO 9000 define a la Mejora Continua como “Mejorar la eficacia de su sistema aplicando la política de calidad,
los objetivos de calidad, los resultados de las verificaciones de inspección, el análisis de los datos, las acciones correctivas y
preventivas y la revisión de la Dirección”. Eso quiere indicar que la Mejora Continua es una parte de la Mejora de Procesos y
viene ser los métodos para lograr mejorar los Procesos de una institución.
Ahora que ya sabemos que es la Mejora Continua podemos entender que el CMMI (Capability Maturity Model Integration)
sirve como un modelo para la mejora continua de procesos y nos da ciertos de modelos de madurez para asegurar la calidad
de las productos o servicios que demos. Para descargarle Modelo de CMMI debemos entrar a la siguiente ruta: http://www.
sei.cmu.edu/library/assets/whitepapers/Spanish%20Technical%20Report%20CMMI%20V%201%203.pdf
CALIDAD DE SOFTWARE
UNIDAD I: Introducción a la Calidad de Software 17
MANUAL AUTOFORMATIVO
En el siguiente capítulo usted comprenderá los conceptos referentes a los fundamen-tos de Calidad aplicado para el desarrollo
de Software.
1.1. Estructura
La estructura de la norma es la siguiente (ISO/IEC 15504):
Parte 1 Parte 9
Conceptos y guía introductoria Vocabulario
Parte 7 Parte 8
Guía para usar en un Guía para usar en la
proceso de mejora determinación de la
capacidad de un proveedor
Evaluación de Procesos
Parte 3 Parte 2
Realizar una Un modelo de referencia
evaluación de procesos y de
capacidad de los procesos
1.2 Caracteristicas
Las principales características de la NTP/ISO/IEC 15504 (IEC 15504, 2014) son las siguientes:
Con más detalle sobre las características de dicha norma lo puede descargar de http://www.senasa.gob.pe/senasa/wp-con-
tent/uploads/2014/11/Certificacion-citricos-a-mexico_26_mayo_2105_2.pdf
18 UNIDAD I Introducción a la Calidad de Software
Para el proceso de Calidad del Software el ISQTB (ISQTB, 2014) recomienda las si-guientes fases:
Figura 8: Metodología
Fuente: (Wong, 2016)
2.1. Análisis
En la etapa de Análisis se empieza a recolectar toda la información correspondiente al proceso de desarrollo de Software
y el producto de Software con el fin de realizar el cronograma de actividades de pruebas y planear el personal que parti-
cipara para la validación y verificación del producto de Software.
2.2. Diseño
En la etapa de Diseño se empieza a definir que tipos de Pruebas de Software se va a realizar y la construcción de los scripts
de pruebas ya sea de manera manual o automática.
2.3. Ejecución
En la etapa de Ejecución se comienza a “ejecutar” los scripts que se elaboraron en la etapa de Diseño para encontrar
defectos y reportarlas como hallazgos para que lue-go sean reparadas por el equipo responsable de la implementación.
3 ESTANDARES Y NORMAS
Analicemos la siguiente imagen que explica lo que trata de estándares y normas
Como podemos analizar en la imagen para poder producir un producto de Calidad debemos de cumplir un procedimiento
que usualmente esta normado, como por ejemplo:
CALIDAD DE SOFTWARE
UNIDAD I: Introducción a la Calidad de Software 19
MANUAL AUTOFORMATIVO
• ISO 2001
• CMMI
• ITIL
Y para la elaboración de un producto tenemos:
• I SO 25000
• P QM
4 MODELOS DE CALIDAD
Existe actualmente diferentes modelos para la gestión de procesos de software a nivel mundial, uno de ellos es lo que revisamos
en puntos anteriores que es el CMMI, entre los modelos que se platean están los siguientes (SEI, 2016):
• Ingeniería
• Gestión de Proyectos
• Gestión de Procesos
• Soporte
Para entrar a más detalle de cada una de los modelos lo pude visualizar en la siguiente ruta: http://www.sei.cmu.edu/cmmi/
index.cfm
5 NTP/ISO/IEC 12207
En 1995 es el año en que se publicó la norma IEC 12207 para que se pueda definir, controlar y mejorar los procesos del
desarrollo de software o más conocidos como el ciclo de desarrollo de software.
Este proceso define las arquitecturas de los procesos, que se dividen en los siguientes:
• Adquisición
• Suministro
• Desarrollo
• Operación
• Mantenimiento
• Documentación
• Gestión de la Configuración
• Aseguramiento de la Calidad
• Verificación
• Validación
• Revisión Conjunta
• Auditoria
• Solución de Problemas
6 NTP/ISO/IEC 9126
Necesidades de Calidad
Calidad del Usuario en Uso
Uso y retroalimentación
contribuye a especificar Índica
Requerimientos
de Calidad Externa Calidad Externa
Validación
Índica
contribuye a especificar
Requerimientos
de Calidad Interna Calidad Interna
Verificación
Figura 7: Modelo de Calidad
Fuente: (ISO 9126, 2010)
Los Factores Internos de un producto de Software se encuentran conformado por las siguientes características:
• S olo lo perciben los diseñadores y desarrolladores, eso quiere decir que no es fácil de percibir por personas que no
tengan conocimiento sobre algún lenguaje de programación.
• Es un medio para conseguir la Calidad externa.
CALIDAD DE SOFTWARE
UNIDAD I: Introducción a la Calidad de Software 21
MANUAL AUTOFORMATIVO
Los Factores Externos de un producto de Software se encuentran conformado por las siguientes características:
• P uede ser detectado por los usuarios finales, porque es fácil de percibir cuando el usuario está usando el Software.
• La Calidad externa es lo que realmente preocupa dado que es lo que el usuario solicito.
1 Pruebas de software
Según el ISQTB®, las pruebas de software se pueden definir como una actividad en la que un sistema o uno de sus componentes
se ejecuta en circunstancias previamente especificadas (configuración de la prueba), registrándose los resultados obtenidos.
Se debe tener en claro que el objetivo de las pruebas no es asegurar la ausencia de defectos en un software, sino demostrar
que existen defectos en él.
El ISQTB norma que los principios para las pruebas de software son:
2 Defectos
Analicemos los siguientes conceptos para tener clara la diferencia entre defecto, falla y error:
• E rror (error): Es una decisión incorrecta tomada durante el desarrollo de un sistema de software (usualmente una
suposición incorrecta).
• Defecto (defect, fault, bug): Es una propiedad del software que puede hacer que este se comporte de una manera no
deseada. Por ejemplo: un proceso, una definición de datos o un paso de procesamiento incorrectos son un progra-
ma.
• Fallo (failure): Es la situación en la que un software en ejecución se comporta de una manera no deseada.
CALIDAD DE SOFTWARE
UNIDAD I: Introducción a la Calidad de Software 23
MANUAL AUTOFORMATIVO
LECTURA SELECCIONADA N° 1
Realizar la lectura desde la página 01 al 30 del PDF adjunto (“Lectura01.pdf”) de la Norma Internacional ISO 9000 para
que le ayude a definir los conceptos sobre lo que es Calidad.
ISO. (2005). Sistema de gestión de la calidad - Fundamentos y vocabulario ISO 9000:2005. Normativa ISO. Ginebra: Secreta-
ría Central de ISO. http://www.uco.es/sae/archivo/normativa/ISO_9000_2005.pdf
LECTURA SELECCIONADA N° 2
Leer el Capítulo 1. Fundamentos de pruebas. (pp. 1-28)
Black, R., & Rueda Sandoval, G. (2011). Fundamentos de pruebas. In Editorial RBCS (Ed.), Fundamentos de Pruebas de
Software (Spanish Edition) (531 p.). Texas: Estados Unidos. Disponible en https://es.slideshare.net/dumethvah/prue-
bas-software-c1
24 UNIDAD I Introducción a la Calidad de Software
ACTIVIDAD N° 1
Foro de discusión sobre la importancia de la calidad
Instrucciones
ACTIVIDAD N° 2
Foro de discusión sobre la importancia de la calidad
Instrucciones
GLOSARIO DE LA UNIDAD I
1. Defecto
Es una decisión incorrecta tomada durante el desarrollo de un sistema de software (usualmente una suposición incorrecta).
2. Error
Es una propiedad del software que puede hacer que este se comporte de una manera no deseada, por ejemplo: un proceso,
una definición de datos o un paso de procesamiento incorrectos son un programa.
3. Fallo
4. ISO
5. ISTQB
6. Validación
Conjunto de actividades que aseguran que el software construido se ajusta a los requisitos del cliente.
7. Verificación
Conjunto de actividades que aseguran que el software implementa correctamente una función específica.
26 UNIDAD I Introducción a la Calidad de Software
BIBLIOGRAFÍA DE LA UNIDAD I
Abadi, Miguel (2004). La Calidad de Servicio [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en Web:
www.econ.uba.ar/www/departamentos/.../LA_CALIDAD_DE_SERVICIO.doc
Amo, Fernando (2002). Introducción a la Ingenieria de Software [en linea]* [Consulta: 09 de Setiembre de 2016].
Disponible en https://books.google.com.pe/books?id=rXU-WS4UatYC&pg=PA120&lpg=PA120&dq=Conjun-
to+de+actividades+que+aseguran+que+el+softwa-re+construido+se+ajusta+a+los+requisitos+del+cliente.&sour-
ce=bl&ots=vvwKy74l1V&sig=08G-5aS5JEZavr7KvnLX-5_AKgo&hl=es&sa=X&ved=0ahUKEwiyttWKovHPAhX-
G6yYKHYWmATAQ6AEIIjAB#v=onepa-ge&q=Conjunto%20de%20actividades%20que%20aseguran%20que%20
el%20software%20construido%20se%20ajusta%20a%20los%20requisitos%20del%20cliente.&f=false
Chrissis,M. Konrad,M. y Shrum.S. (2009) CMMI - guía para la integración de procesos y la mejora de productos (2da
Edición). España,Madrid: Person Educación. 664 páginas.
Euskalit (s.f.). Gestión y Mejora de Procesos [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en Web:
http://www.euskalit.net/pdf/folleto5.pdf
EQA (s.f.). NTP/ISO 15504 [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en Web: https://eqa.es/
presentaciones/presentacion_ISO_15504.pdf
IEC 12207 (2008), ISO/IEC 12207 [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en Web: http://disi.
unal.edu.co/dacursci/sistemasycomputacion/docs/SystemsEng/ISO_IEC_12270_2008.pdf
Pragma Consultores (s.f.). Mejora de Procesos de Negocios[en línea]* [Consulta: 09 de Setiembre de 2016]. Disponi-
ble en Web: http://www.pragmaconsultores.com/pe/servicios/consultoria/Paginas/MejoraProcesosNegocio.aspx
R.M.M. (2007, Junio 2). If programmers have make a plane [Archivo de video]* [Consulta: 09 de Setiembre de
2016]. Disponible en Web: https://www.youtube.com/watch?v=UZq4sZz56qM
SEI (s.f.). Software Engineering Insititute [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en Web:
http://www.sei.cmu.edu/cmmi/index.cfm
CALIDAD DE SOFTWARE
UNIDAD I: Introducción a la Calidad de Software 27
MANUAL AUTOFORMATIVO
AUTOEVALUACIÓN DE LA UNIDAD I
1. A qué definición corresponde la siguiente pregunta: ¿Se está desarrollando el producto correcto?
a) Verificación
b)Pruebas de software
c) Análisis
d)Complejidad ciclomática
a) Toma de requerimientos
b)Incepción
c) Diseño
d)Planificación
a) Resumen
b)Pruebas
c) Validación
d)Desarrollo
4. En la fase de construcción se están elaborando los documentos de casos de pruebas de acuerdo a las solicitudes de cam-
bio emitidas y aprobadas por el cliente. ¿Qué tipo de V&V se tendrá que aplicar para estos documentos?
a) V&V Dinámica
b)Revisión
c) V&V Estática
d)Inspección
5. ¿La V&V requiere ser administrada y realizada en forma completa durante qué proceso de desarrollo de software?
a) Planificación
b)Gestión
c) Ejecutar / interpretar
d)Reportar
e) Monitorear
6. La mitigación es:
a) Defecto
b)Una acción preventiva
c) Una acción correctiva
d)Inconsistencia
a) Compatibilidad
b)Facilidad de uso
c) Integridad
d)Robustez
28 UNIDAD I Introducción a la Calidad de Software
a) Es un proceso / secuencia de actividades cuyo objetivo es desarrollar un sistema basado en un computador (or-
denador)
b)La definición de un caso de prueba debe incluir: Precondiciones, conjunto de valores de entrada, conjunto de
resultados esperados, forma en la cual se debe ejecutar el caso de prueba y verificación de resultados y postcon-
diciones
c) Conjunto de documentos que definen los requisitos de un componente o sistema utilizado como referencia para
el desarrollo de casos de prueba
10. ¿Cuál es la principal ventaja del diseño de pruebas tempranas en el ciclo de vida?
Anexo
Preguntas Respuesta
1 B
2 B
3 A
4 C
5 A
6 B
7 A
8 D
9 A
10 C
CALIDAD DE SOFTWARE
UNIDAD II: Planificación de la calidad 29
MANUAL AUTOFORMATIVO
AUTOEVALUACIÓN BIBLIOGRAFÍA
1 Objetivos
En capítulos anteriores ya vimos que «calidad de software» consiste en desarrollar un producto que satisfaga la necesidad de un
cliente. Los objetivos de la gestión de calidad de un software serían (Corochano, 2013):
Todas las actividades anteriores serían recomendable que se encuentren integradas dentro de un proceso de Integración
Continua, donde se ejecute todas las pruebas de un producto de software de manera automática, para que de esa manera el
control de la calidad se dé de manera rápida y eficaz.
LA ISO / IEC 12119 especifica cómo probar un paquete de software en contra de los requisitos de calidad y las instrucciones de
prueba están relacionados, en particular, a las pruebas de terceros.
Ellos incluyen pruebas mediante la inspección de los documentos y las pruebas de recuadro negro de programas y datos. Se
presta especial atención a la selección de casos de prueba, repetición de pruebas y presentación de informes de prueba.
3 PLAN DE CALIDAD
La adecuada definición de Plan de Calidad siempre apoyara para que un Proyecto de Software genere un producto de calidad
aceptable. Es por eso que desde el inicio del desarrollo de un Proyecto de Software se debe de realizar dicho Plan.
Las actividades que involucra un Plan de Calidad son las siguientes (Alvarez y Lopez, 2005):
Los requisitos de calidad vienen a ser los requerimientos funcionales y no funcionales que se deben de probar de una aplicación
y dichos requerimientos se representan en el siguiente diagrama:
A continuación, pasaremos a explicar cada uno de ellos, según la definición que plantea el ISTQB®:
• Funcionalidad
o Todo producto que se desarrolle debe cumplir los requerimientos funcionales que le solicitó el cliente.
• Usabilidad
o Los sistemas actualmente deben ser capaces de entender de manera rápida, es por eso que los sistemas que se de-
sarrollen deben ser usables.
• Portabilidad
o Es la facilidad que tiene un producto de software de poder instalarse en diferentes entornos, por ejemplo: las apli-
caciones que se desarrollan en Java se pueden instalar en diferentes entornos operativos.
• Desempeño
o Es la capacidad que tiene un sistema de responder de manera rápida a peticiones.
• Confiabilidad
o Los sistemas siempre se ejecutan sin errores.
32 UNIDAD II Planificación de la calidad
En el siguiente capítulo comprenderás la importancia del plan de pruebas en la gestión de calidad del software.
Según la IEEE® 829, se define que el propósito del plan de pruebas es explicitar el alcance, enfoque, recursos requeridos,
calendario y responsables del proceso de pruebas. El objetivo principal de este documento es guiar el proceso de pruebas de los
distintos proyectos del área y ser una herramienta que sirva para:
• B rindar información que será de utilidad para definir el plan de pruebas de cada sistema concerniente al área PAS.
• Guiar en el diseño de los casos de prueba, definición del ambiente de prueba a utilizar, aspectos a probar del software,
condiciones de finalización, suspensión o repetición, artefactos que se confeccionarán y responsables de la creación y
revisión de los mismos.
• Guiar a la gerencia colaborativa en el seguimiento y control de los proyectos desde los aspectos de las pruebas.
Las partes de un documento de plan de pruebas, como mínimo, son las siguientes (IEEE 829, 2008):
• A
lcance del acercamiento de las pruebas
o Qué funcionalidades de un aplicativo se van a probar
o Qué funcionalidades de un aplicativo no se van a probar
• T
ipos de pruebas a aplicar
o Se tiene que especificar cuál de los más de 200 métodos de pruebas que existen actualmente se van a aplicar
• C
ronograma de pruebas
o Se especifica qué actividades se van a realizar, con qué esfuerzo y en qué fechas se ejecutarán
• R
ecursos de pruebas
o Recursos humanos
▪▪ Personas involucradas
▪▪ Fechas de responsabilidades
o Recursos de hardware
▪▪ Especificaciones de hardware
o Recursos de software
▪▪ Entorno de pruebas
• C
asos de pruebas
o Los planes de pruebas hacen mención o incluyen una lista detallada de todos los casos de pruebas:
▪▪ Listado de pruebas (título de cada caso de prueba, por tipo)
▪▪ Detalle de pruebas (catálogo de pruebas). Incluye:
▪▪ ID de caso de prueba
▪▪ Nombre de caso
▪▪ Prioridad
▪▪ Precondiciones
▪▪ Pasos de pruebas
▪▪ Resultados esperados
• Riesgos y asunciones
• Firmas
• Apéndices
• Documentación de control
2 Trazabilidad
La matriz de trazabilidad es una herramienta que es utilizada para saber qué requerimientos están quedando y con qué casos de
pruebas se van a probar. (Softqatest, 2010).
• E
l caso de prueba T1 cubre los requerimientos R1 y R4
• El caso de prueba T2 cubre los requerimientos R3 y R5
CALIDAD DE SOFTWARE
UNIDAD II: Planificación de la calidad 33
MANUAL AUTOFORMATIVO
T1 T2 T3
R1 X X
R2
R3 X X
R4 X
R5 X
En el siguiente capítulo usted comprenderá la importancia de los indicadores o métricas de gestión para establecer un adecuado
plan de gestión de calidad.
1 Definición de indicadores
Para definir lo que es un indicador debemos especificar los siguientes conceptos (INDECOPI, 2015):
• Medición
o Es el acto de determinar una medida.
Por ejemplo:
▪▪ El tester recopila la cantidad de defectos hallados en un módulo.
▪▪ El programado recopila la cantidad de líneas de código de cada módulo del sistema.
• Medida
o Proporciona una indicación cuantitativa de la extensión, cantidad, dimensiones, capacidad o tamaño de algunos
atributos de un proceso o producto.
Por ejemplo:
▪▪ Número de defectos encontrados en un módulo.
▪▪ Cantidad de líneas de código en un módulo.
• Métrica
o Una medida cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado.
Por ejemplo:
▪▪ La productividad por tester fue de 3 errores/hora.
• Indicador
o Un indicador es una métrica o una combinación de métricas que proporcionan una visión profunda del proceso del
software, del proyecto de software o del producto en sí.
o Un ingeniero de software recopila mediadas y desarrolla métricas para obtener indicadores.
Pruebas • Realizó la
de Medición
Sofware
Recopilación • Obtengo
de
Medidas
Datos
Cálculo de • Obtengo
las
Métricas
Métricas
Evaluación • Obtengo
de las Indicadores
Métricas
INDECOPI (2015) propone las siguientes métricas para aplicar a un producto de software:
• Corrección
o Es la capacidad del software de operar correctamente según las instrucciones dadas
• F
acilidad de mantenimiento
o Es la habilidad con la que se puede corregir un programa si se encuentra un error
• Integridad
o Mide la habilidad de un software de soportar ataques de seguridad (tanto accidentales como intencionados) contra
su seguridad.
• F
acilidad de uso
o Se considera que un programa de software debe ser amigable para todos los usuarios; es decir, que sea fácil de en-
tender por las personas que utilizarán el software.
36 UNIDAD II Planificación de la calidad
En el siguiente capítulo comprenderás las características del plan de gestión de riesgos y el procedimiento para mitigar o
desaparecer estos riesgos.
1 Definición de riesgos
El riesgo (UNISDR, 2009) se define como la combinación de la probabilidad de que se produzca un evento y sus consecuencias
negativas. Los factores que lo componen son la amenaza y la vulnerabilidad.
1.1. Amenaza
Es un fenómeno, sustancia, actividad humana o condición peligrosa que puede ocasionar la muerte, lesiones u otros im-
pactos a la salud, al igual que daños a la propiedad, la pérdida de medios de sustento y de servicios, trastornos sociales y
económicos, o daños ambientales. La amenaza se determina en función de la intensidad y la frecuencia.
1.2. Vulnerabilidad
Son las características y las circunstancias de una comunidad, sistema o bien que los hacen susceptibles a los efectos dañinos
de una amenaza. Con los factores mencionados se compone la siguiente fórmula de riesgo:
Los factores que componen la vulnerabilidad son la exposición, susceptibilidad y resiliencia, expresando su relación en la si-
guiente fórmula:
1.2.1.Exposición
Es la condición de desventaja debido a la ubicación, posición o localización de un sujeto, objeto o sistema expuesto al
riesgo.
1.2.2.Susceptibilidad
Es el grado de fragilidad interna de un sujeto, objeto o sistema para enfrentar una amenaza y recibir un posible impacto
debido a la ocurrencia de un evento adverso.
1.2.3.Resiliencia
Es la capacidad de un sistema, comunidad o sociedad expuestos a una amenaza para resistir, absorber, adaptarse y recu-
perarse de sus efectos de manera oportuna y eficaz, lo que incluye la preservación y la restauración de sus estructuras y
funciones básicas.
La gestión de riesgo es importante cuando se quiere realizar productos de calidad y además para poder ser competitivos de
manera internacional. Se debe de tener en cuenta que uno puede gestionar el riesgo si no podemos medirlo.
Según la ISO ® 27001 un plan de Gestión de Riesgos debe de tener en cuenta el siguiente proceso:
Identificación de Evaluación de la
Identificación y Requerimientos Posibilidad de
Tasación de de que las Amenazas
Activos Seguridad y bulnerabilidades
ocuarran
Selección de Selección de
Cálculo de los Opciones de Controles para
Riesgos de Tratamiento de Reducir el
Seguridad Riesgo Riesgo a Nivel
Apropiado Aceptable
Figura 13: Proceso de Plan de Gestión de Riesgos
Fuente: (ISO 27001, 2005)
CALIDAD DE SOFTWARE
UNIDAD II: Planificación de la calidad 37
MANUAL AUTOFORMATIVO
• C
álculo de los riesgos de seguridad
o Los riesgos son calculados de una combinación de valores de activos y niveles de requerimientos de seguridad.
• S
elección de opciones apropiadas de tratamiento de riesgo
o Después de que los riesgos son identificados, las empresas deben identificar y evaluar la acción más apropiada de
cómo tratar los riesgos.
3 Respuesta a riesgos
Este proceso desarrolla las opciones y acciones para mejorar las oportunidades y reducir las amenazas a los objetivos del
proyecto. Se realiza después de los procesos «Realizar el análisis cualitativo de riesgos» y «Realizar el análisis cuantitativo
de riesgos (en el caso de que este se aplique)».
38 UNIDAD II Planificación de la calidad
LECTURA SELECCIONADA Nº 1
IEEE. (2008). Std. 829-2008: Standard for software and system test documentation. Autor, 30-59. Disponible en https://goo.gl/
UBf7JN
LECTURA SELECCIONADA Nº 2
Alexander, A. (2005). Análisis del riesgo y el sistema de gestión de seguridad de información: El enfoque ISO 27001:2005. Infor-
mation security. Disponible en http://www.iso27000.es/download/Analisis_del_Riesgo_y_el_ISO_27001_2005.pdf
CALIDAD DE SOFTWARE
UNIDAD II: Planificación de la calidad 39
MANUAL AUTOFORMATIVO
ACTIVIDAD Nº 1
Foro de discusión sobre la importancia de la calidad.
Instrucciones
Participa en el desarrollo y resolución de las preguntas y ejercicios planteados. Foro debate N.° 1: foro de participación
sobre plan de pruebas con la orientación de tu docente.
ACTIVIDAD Nº 2
Foro de discusión sobre la importancia de la calidad
Instrucciones
Participa en el desarrollo y resolución de las preguntas y ejercicios planteados. Foro debate n.° 2: foro de participación
sobre pruebas de software con la orientación de tu docente.
Se le pide que llene el documento de «Plantilla de casos de pruebas» para dar por validada la funcionalidad de «Registrar
categoría» del sistema TAtiendo.
Instrucciones
• T odos los puntos de la rúbrica deberán ser subidos a la plataforma en formato ZIP. El nombre del archivo deberá
tener el siguiente formato: APELLIDO_NOMBRE.zip
• En caso de plagio, el trabajo será invalidado y la nota será de 00.
40 UNIDAD II Planificación de la calidad
GLOSARIO DE LA UNIDAD II
1. Funcionalidad
Las funcioanalidades de un producto estan y estan bien hechas las reglas de negocios.
2. Usabilidad
Requerimiento no funcional que esta asociado a que ten facil de aprender y de usar es un producto de software.
3. Portabilidad
4. Desempeño
5. Riesgo
6. Medicion
7. Medida
Proporciona una indicación cuantitativa de la extensión, cantidad, dimensiones, capacidad o tamaño de algunos atributos
de un proceso o producto.
8. Metrica
Una mediada cuantitativa del grado en que un sistema, componente o proceso posee un atributo dado
9. Indicador
Un indicador es una métrica o una combinación de métricas que proporcionan una visión profunda del proceso del softwa-
re, del proyecto de software o del producto en sí.
CALIDAD DE SOFTWARE
UNIDAD II: Planificación de la calidad 41
MANUAL AUTOFORMATIVO
BIBLIOGRAFIA DE LA UNIDAD II
Alvarez, Amalia y Lopez, Matilde (2005). Elaboración de planes de la calidad en proyectos de Software [en lí-
nea]* [Consulta: 09 de Setiembre de 2016]. Disponible en Web: http://sedici.unlp.edu.ar/bitstream/hand-
le/10915/23062/Documento_completo.pdf?sequence=1
Corrochano, Jesus (2013). La Calidad del Producto de Software [en línea]* [Consulta: 09 de Setiembre de 2016].
Disponible en Web: http://atsistemas.com/wp-con-tent/uploads/2013/12/20121201_articulo_calidad_produc-
to_software_jesus_hernando_corrochano.pdf
IEEE® 829 (2008). IEEE Standard for Software and System Test Documentation [en línea]* [Consulta: 09 de Se-
tiembre de 2016]. Disponible en Web: https://www.google.com.pe/url?sa=t&rct=j&q=&esrc=s&source=web&c-
d=1&cad=rja&uact=8&ved=0ahUKEwjqp_vBq6fQAhUK4iYKHWLqDtMQFggZMAA&url=https%3A%2F%2Fcow.
ceng.metu.edu.tr%2FCourses%2Fdownload_courseFile.php%3Fid%3D4046&usg=AFQjCNG1JelvGoehvJiaujd-
BB-2-T4Sxcg&sig2=UfYjzzyg_Lpnk47EBC7now
INDECOPI (2005). Ingeniería de Software. Calidad del producto. Parte 3: Métricas internas. 1a. ed. NTP ISO/IEC
9126.
Leon, Nelson; Aguilar, Luis; Vega, Edgar y Gomez, Luis (2013). Herramienta computacional para la documentación
de pruebas de software enmarcado en actividades de investigación [en línea]* [Consulta: 09 de Setiembre de
2016]. Disponible en Web: http://atsistemas.com/wp-con-tent/uploads/2013/12/20121201_articulo_calidad_pro-
ducto_software_jesus_hernando_corrochano.pdf
Mondragon, Angelica (2002). ¿Que son los Indicadores? [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponi-
ble en Web: http://www.orion2020.org/archivo/sistema_mec/10_indicadores2.pdf
Software, Calidad y Test - Softqatest (2010). Matriz de Trazabilidad [en línea]* [Consulta: 09 de Setiembre de 2016].
Disponible en Web: http://www.softqatest.net/?p=77
UNISDR (2009), Terminología sobre Reducción de Riesgo de Desastres para los conceptos de Amenaza, vulnerabili-
dad y riesgo [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en Web: http://www.ciifen.org/index.
php?option=com_content&view=category&id=84&layout=blog&Itemid=111&lang=es
42 UNIDAD II Planificación de la calidad
AUTOEVALUACIÓN DE LA UNIDAD II
1. La siguiente pregunta: ¿Se está desarrollando el producto correcto? Responde a:
a. Verificación
b. Chequeo
c. Validación
d. Revisión
e. Pruebas de software
2. En la fase de construcción se están elaborando los documentos de casos de pruebas de acuerdo a las solicitudes de cambio
emitidas y aprobadas por el cliente. Qué tipo de V&V se tendrá que aplicar para estos documentos:
a. V&V Dinámica
b. Revisión
c. V&V Estática
d. Inspección
3. La V&V requiere ser administrada y realizada en forma completa durante qué proceso de desarrollo de software:
a. Planificación
b. Gestión
c. Ejecutar / interpretar
d. Reportar
e. Monitorear
4. La mitigación es:
a. Defecto
b. Una acción preventiva
c. Una acción correctiva
d. Inconsistencia
8. En un proyecto de implementación de SAP, el gerente de finanzas (interesado) descubre una inconsistencia en el producto
y reporta al área de sistema que su auxiliar definió mal el requisito a implementar. Bajo esta premisa, ¿que debe registrar
el área de calidad en su sistema de incidencias?
a. Falla
b. Error
CALIDAD DE SOFTWARE
UNIDAD II: Planificación de la calidad 43
MANUAL AUTOFORMATIVO
c. Defecto
d. Inconsistencia
10. ¿Se está construyendo de forma adecuada el producto? Esta pregunta se refiere a:
a. Validación
b. Verificación
c. Chequeo
d. Monitorear
Anexo
Preguntas Respuesta
1 C
2 C
3 A
4 B
5 A
6 C
7 C
8 B
9 A
10 B
44 UNIDAD II Planificación de la calidad
CALIDAD DE SOFTWARE
UNIDAD III: Aseguramiento de la calidad 45
MANUAL AUTOFORMATIVO
AUTOEVALUACIÓN BIBLIOGRAFÍA
Control de Lectura Nº 3
46 UNIDAD III Aseguramiento de la calidad
Las Inspecciones son un proceso bien definido y disciplinado donde un equipo de personas cualificadas analiza un producto
software usando una técnica de lectura con el propósito de detectar defectos (Jurito, Moreno y Vegas, 2006).
• Inicio
• Detección de Defectos
• Colección de Defectos
• Corrección y Seguimiento
DETECCIÓN DE CORRECCIÓN Y
• Preparar la DEFECTOS • Compilado de SEGUIMIENTO
Inspección • Lectura faltas • Corrección por
• Proporcionar Individual • Discusión de el Autor
Información • Detección de Grupo • Informe de
Faltas Cambio
INICIO COLECCIÓN DE
DEFECTOS
2 LA GESTIÓN DE REQUISITOS
La gestión de requisitos es una metodología que se encuentra orientada para poder gestionar los requisitos de software que nos
indica un usuario para implementarlo en su sistema. En cursos anteriores usted ha visto diferentes metodologías que apoyan a
esta actividad, entre los cuales se encuentra RUP, SCRUM, XP, etc.
Su objetivo principal es de identificar la consistencia que existe entre los requisitos y los planes de desarrollo de software (Overti,
2016)
3 META MODELO PARA LA TRAZABILIDAD DE REQUISITOS
Para que exista una buena gestión de requisitos debe de existir una correcta trazabilidad de requisitos y para eso es imprescindible
poder contar con diferentes herramientas.
Para el CMMI (Overti, 2016) la trazabilidad de requisitos importante en la Gestión de Requisitos, porque es importante evaluar
el impacto que sucede cuando se realiza un cambio especifico.
Según Xavier Ferre (Ferre, 2005) en el mundo de software esta que se le da mucho valor a los atributos de Usabilidad que
deben de tener los sistemas para el lograr el éxito deseado, sin embargo las actividades relacionadas a la Interacción Hombre
Computador aun no llegan a tener los niveles adecuados. Es por eso que en este punto evaluaremos todo lo referente a la
usabilidad
• Inspección
o Este método se utiliza cuando un experto se encuentra evaluando las pantallas para indicar la calidad de la usabilidad.
• Indagación
o El proceso de indagación trata de llegar al conocimiento de una cosa discurriendo o por conjeturas y señales. En este
tipo de métodos de evaluación de la usabilidad una parte muy significativa del trabajo a realizar consiste en hablar
con los usuarios y observarlos detenidamente usando el sistema en trabajo real y obteniendo respuestas a preguntas
formuladas verbalmente o por escrito.
• Test
o En los métodos de usabilidad por test usuarios representativos trabajan en tareas utilizando el sistema o el prototipo
y los evaluadores utilizan los resultados para ver cómo la interfaz de usuario soporta a los usuarios con sus tareas.
48 UNIDAD III Aseguramiento de la calidad
1 Proceso de pruebas
Las actividades del proceso de pruebas generalmente se desarrollan de manera secuencial, pero en algunos proyectos toman
lugar de manera concurrente o incluso se repiten. El proceso de pruebas es más que la ejecución de pruebas, ya que se deben
tener actividades de planificación y control durante todo el ciclo de pruebas.
Cada fase del proceso de pruebas tiene lugar de forma concurrente con las fases del proceso de desarrollo de software, que se
pueden representar de la siguiente forma (ISTQB, 2014):
PLANIFICACIÓN
( Nivel de detalle )
C
O Especificación
N Análisis de Pruebas y
T Diseño de Pruebas
R
O
L Implementación
y
Ejecución
D
E
Registro
P Evaluación de
R Criterio de Salida y
Generación de Informes
U
E
B Comprobación
A Actividad de
S Cierre de Pruebas
1.1. Planificación
En la etapa de planificación se realizan las siguientes actividades (ISTQB, 2014):
El estado del proceso de pruebas se determina comparando el progreso logrado con respecto al plan de pruebas. Se inicia-
rán aquellas actividades que se considerarán consecuentemente necesarias. (ISTQB, 2014).
1.3. Análisis
En la etapa de análisis se realizan las siguientes actividades (ISTQB, 2014):
• R evisión de los test base (requisitos, arquitectura del sistema. diseño, interfaces), analizando las especificaciones del sof-
tware a probar
• Identificar los test conditions (condiciones de prueba) basándose en:
o el análisis de los objetos de pruebas
o Sus especificaciones
o Conocimiento del comportamiento y estructura
1.4. Diseño
En la etapa de diseño se realizan las siguientes actividades (ISTQB, 2014):
1.5. Implementación
En la etapa de implementación se realizan las siguientes actividades (ISTQB, 2014):
1.6. Ejecución
En la etapa de ejecución se realizan las siguientes actividades (ISTQB, 2014):
• E jecutar las test suite y los casos de pruebas individuales, siguiendo la secuencia definida en los test procedures (procedi-
mientos de pruebas). La ejecución de las pruebas puede ser de forma manual o automática
• Registrar el resultado de la ejecución de las pruebas, la identificación y versión del software probado, herramientas de
pruebas y testware
• Comparar los resultados actuales con los resultados esperados
• Reportar las discrepancias entre los resultados actuales y esperados como incidentes
• Repetir las pruebas para cada incidente
• Luego de una corrección se repiten las pruebas con el objeto de asegurar que los defectos han sido corregidos y que la
corrección no introduce nuevos defectos
2 Tipos de pruebas
• S
elenium IDE
• R ational Functional Tester
• Valores límite
• Corrupción de data
• Tipos erróneos
• Inyección de faltas
• t iempos de respuesta
• consumo de recursos
• habilidad de soportar cargas
LECTURA SELECCIONADA N° 1
Macchi, D., & Solari, M. (2013). Diagnóstico del Uso de Técnicas de Revisión de Software en Uruguay. In XVI Congreso Iberoamerica-
no en Ingeniería de Software (CI-bSE 2013) (p. 486). Montevideo: Congreso Iberoamericano en Ingeniería de Software. Disponi-
ble en http://fi.ort.edu.uy/innovaportal/file/2038/4/diagnosticorevision_macchisolari.pdf
LECTURA SELECCIONADA N° 2
Gonzáles Palacios, L. (2009). Método para generar casos de prueba funcional en el desarrollo de software. Revista Ingenierías Uni-
versidad de Medellín, 8(15), 29–36. Disponible en http://revistas.udem.edu.co/index.php/ingenierias/article/view/175/164
52 UNIDAD III Aseguramiento de la calidad
ACTIVIDAD Nº 1
Foro de discusión sobre la importancia de la V&V Estática.
Instrucciones
Participa en el desarrollo y resolución de las preguntas y ejercicios planteados. Foro debate n.° 1: foro de participación sobre
V&V Estática con la orientación de tu docente.
ACTIVIDAD Nº 2
Foro de discusión sobre la importancia de las pruebas de software.
Instrucciones
Participa en el desarrollo y resolución de las preguntas y ejercicios planteados. Foro debate n.° 2: foro de participación sobre
pruebas de software con la orientación de tu docente.
2. Elevación de privilegios
Eliminar o corromper los contenidos de una base de datos o archivos del usuario
6. Módulo Independiente
7. Integración de Módulos
8. Escenarios de Negocios
ECURED (2016). Técnicas de Evaluación de Software. [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en
Web: https://www.ecured.cu/Revisiones_T%C3%A9cnicas_Formales
FERRE, XAVIER (2005). Marco de Integración de la Usabilidad en el Proceso de Desarrollo de Software [en línea]*
[Consulta: 09 de Setiembre de 2016]. Disponible en Web: http://oa.upm.es/440/1/XAVIER_FERRE_GRAU.PDF
IBM (2016). Software Product Assurance . [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en Web:
http://www.ibm.com
ISTQB (2014). International Software Testing Qualifications Board. [en línea]* [Consulta: 09 de Setiembre de 2016].
Disponible en Web: http://www.ibm.com
OVERTI (2016). Gestión de Requisitos. [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en Web: http://
www.overti.es/gestion-requisitos
CALIDAD DE SOFTWARE
UNIDAD III: Aseguramiento de la calidad 55
MANUAL AUTOFORMATIVO
2. En un proyecto de implementación de SAP, el gerente de finanzas (interesado) descubre una inconsistencia en el producto
y reporta al área de sistema que su auxiliar definió mal el requisito a implementar. Bajo esta premisa, ¿qué debe registrar el
área de calidad en su sistema de incidencias?
a. Falla
b. Error
c. Defecto
d. Inconsistencia
3. En la fase de construcción se están elaborando los documentos de casos de pruebas de acuerdo a las solicitudes de cambio
emitidas y aprobadas por el cliente. ¿Qué tipo de V&V se tendrá que aplicar para estos documentos? (0.5 ptos)
a. V&V Dinámica
b. Revisión
c. V&V Estática
d. Inspección
4. La V&V requiere ser administrada y realizada en forma completa durante qué proceso de desarrollo de software:
a. Planificación
b. Gestión
c. Ejecutar / interpretar
d. Reportar
e. Monitorear
a. Verificación
b. Chequeo
c. Validación
d. Inspección
e. Auditoría
a. Validación
b. Verificación
c. Chequeo
d. Monitorear
Anexo
Preguntas Respuesta
1 A
2 B
3 C
4 B
5 B
6 C
7 B
8 B
9 C
10 B
CALIDAD DE SOFTWARE
UNIDAD IV: Control de calidad 57
MANUAL AUTOFORMATIVO
AUTOEVALUACIÓN BIBLIOGRAFÍA
Autoevaluación de la Unidad IV
58 UNIDAD IV Control de calidad
En el siguiente capítulo comprenderás la importancia de las pruebas de software en la gestión de calidad del software.
El ciclo de vida de las pruebas de software se puede representar de la siguiente manera (Juristo, Moreno & Vegas, 2006):
1.1. Análisis
En la etapa de análisis se realizan las siguientes actividades (CMMI, 2014):
• R evisar los requerimientos funcionales del producto de software, para que en función a ello se pueda comenzar a des-
componer el producto en diferentes funciones.
• Se recibe información técnica del producto de software para que se puedan solicitar los requerimientos de hardware y
software para desplegar el producto.
• Cronograma de actividades del componente de desarrollo, para que de esa manera se pueda especificar en qué momen-
to se empezará el ciclo de pruebas.
1.2. Diseño
En la etapa de diseño se realizan las siguientes actividades (CMMI, 2014):
1.3. Ejecución
En la etapa de ejecución se realizan las siguientes actividades (CMMI, 2014):
• E jecución de requerimientos de pruebas para que de esa manera se pueda realizar el registro de hallazgos.
• Se realiza el análisis de resultados de pruebas para que se pueda generar el documento de informe de pruebas que será
entregado al cliente.
Define el contexto de la aplicación en relación a sus usuarios humanos y de siste-mas. También define en un alto nivel las fuentes
de entrada y salida (input / output) de la aplicación. Es una forma de cómo guiar las pruebas de software. Siempre se debe
tener presenta que las pruebas de software consisten en ingresar comandos y data a una aplicación para que de esa manera las
respuestas que nos devuelva la aplicación las comparemos con un resultado que estamos esperando. El modelo de fallas ayuda a
definir todos los puntos de entradas y salidas de la aplicación y es usado como una estrategia de pruebas. Dicho modelo se puede
representar de la siguiente manera (CMMI, 2014):
CALIDAD DE SOFTWARE
UNIDAD IV: Control de calidad 59
MANUAL AUTOFORMATIVO
Configuración
Humano
Aplicación
APIs de software Fuentes de
Data
Entorno
Red Operativo
3 Plan de pruebas
Un plan de pruebas sirve por muchas razones, pero principalmente organiza el esfuerzo de pruebas (proyecto) dentro o después
de un proyecto de desarrollo. Es necesario que todos los involucrados en las pruebas tengan una guía para realizar sus funciones.
Las partes principales que debe tener un plan de pruebas son las siguientes (IEEE 829, 2010):
• lcance de las pruebas (tipos y métodos a usar, partes del producto que se probarán)
A
• Proceso de pruebas (desarrollo, ejecución, reportes)
• Criterio de entrada y salida
• Cronograma
• Recursos
• Roles y responsabilidades
• Riesgos y precondiciones
• Firmas
• Documentación de controles
60 UNIDAD IV Control de calidad
4 Estimación de pruebas
Se debe tener en cuenta que no proporciona resultados fiables en proyectos demasiado pequeños, pues está pensado para
proyectos de mayor envergadura y se requiere usar datos de proyectos anteriores, los cuales no siempre están disponibles.
La calidad de los almacenes de datos se encuentra muy relacionados a los modelos de datos que se definan en la etapa de
requerimientos del software, este modelo nos ayudara a determinar que buena calidad de datos tenemos para luego poder obtener
información sobre ella (Estupiñan,2014).
Los almacenes de datos (AD) se han convertido en los últimos años en una de las más importantes herramientas de trabajo
para investigadores, analistas y planificadores, y son usados en todas las actividades que tienen como insumo el manejo de datos
relacionados con las diversas áreas de un entorno
En todos los tiempos y más aún en la era en que vivimos, el hombre tiene cada vez más necesidad de consultar una mayor cantidad
de información para poder desarrollar sus actividades. El gran cúmulo de información ha hecho necesario que ésta tenga que ser
almacenada y organizada correctamente para acceder a ella rápidamente.
Según lo visto hasta el momento, la única forma que tiene el ordenador de almace-nar la información es mediante variables,
que no son más que porciones de la memoria central del mismo. Pero al ser la memoria central un conjunto de dispositivos
electrónicos que funcionan mediante la alimentación eléctrica, cuando se apaga el ordenador, toda la información que había en
su memoria central desaparece.
Según Alonso Amo (Amo, 2002) algunas métricas para medir atributos de calidad son:
• Fiabilidad: Se calcula con la fórmula de Tiempo medio entre Fallos, que nos indica cuanto es el tiempo que demora un
Software en encontrar el error y repararlo.
• Mantenibilidad: Se calcula con la fórmula de Tiempo medio de Reparación, que nos indica cuanto es el tiempo que de-
mora un Software en repararlo.
• Disponible: Es el tiempo que un software permanece sin fallas.
• Modificabilidad: Es la capacidad que tiene un software de agregar cambios sin que afecte su funcionalidad.
• Integridad: Se mide calculando que tan exacto son los números al momento de realizar operaciones.
• Eficiencia: Es la capacidad que tiene un Software de usar los recursos de Hadware y Sotfaware de manera adecuada.
• Robustez: Es la capacidad que tiene un Software de soportar una carga de peticiones esperadas
62 UNIDAD IV Control de calidad
En el siguiente capítulo serás capaz de comprender los distintos tipos de pruebas de software de acuerdo a los roles y resultados
que se esperan obtener.
• Automatizables
• Completas
• Reutilizables
• Independientes
Son aplicables a los diferentes niveles de pruebas (unitarias, integración, sis-temas), pero son incapaces de detectar:
Los tipos de pruebas de caja blanca más usados son los siguientes:
• P ruebas de caminos básicos
• Pruebas de flujo de control / cobertura
• Pruebas de falla («sucias»)
La prueba de caja negra no es una alternativa a las técnicas de prueba de la caja blanca, sino un enfoque complementario
que intenta descubrir diferentes tipos de errores a los encontrados en los métodos de la caja blanca. (ECURED, 2016).
Los tipos de pruebas de caja negra más usados son los siguientes:
• Particiones equivalentes
• Todos los pares
• Testeo en base a modelos
• Pruebas difusas.
CALIDAD DE SOFTWARE
UNIDAD IV: Control de calidad 63
MANUAL AUTOFORMATIVO
Este tipo de pruebas son las que más valor tienen, ya que es el usuario quien dará el visto de la ejecución de las mismas (IS-
QTB, 2014).
• ruebas de estrés
P
• Pruebas de carga
• Pruebas de volumen
• Pruebas de usabilidad
64 UNIDAD IV Control de calidad
En el siguiente capítulo serás capaz de comprender los distintos tipos de pruebas de software de acuerdo a los roles y resultados
que se esperan obtener.
El Testlink® es una herramienta Open Source que nos permite la Gestión de un Plan de Prueba en un entorno Web que fue
desarrollado en el Lenguaje de Programación PHP y soporta distintas Base de Datos
• T est Project: Unidad sobre la cual se gestionan los siguientes módulos -> Test Specification, Test Cases, Requirements y
Keywords.
• Test Plan: Es la unidad que permite gestionar los test cases, builds, usuarios asignados y test results.
• Test Suite: Se refiere a paquetes o carpetas que contienen test cases.
CALIDAD DE SOFTWARE
UNIDAD IV: Control de calidad 65
MANUAL AUTOFORMATIVO
• T est Case: Se refiere al espacio en el cual la herramienta permite crear, editar y eliminar test cases y sus versiones.
• Users: Se refiere a los roles que pueden ejecutar ciertas funciones de la herramienta.
El MantisBT® es una herramienta opensource, cuya finalidad es gestionar de forma ordenada y eficiente las incidencias de
diversos proyectos de software.
El ciclo de vida de una incidencia inicia con su creación. Por lo tanto una incidencia puede ser creado por una de las siguientes
vías (Mantisbt, 2016):
• I nterfaz Web de MantisBT: Un usuario ingresa a la aplicación y reporta una nueva incidencia.
• SOAP API: Usando servicios web una aplicación externa puede registrar una nueva incidencia.
• Otros: Aplicaciones / Scripts que registran directamente una nueva incidencia dentro de la base de datos de MantisBT
o scripts PHP.
Conjunto de herramientas para automatizar pruebas funcionales sobre sistemas ba-sados en web a través de diferentes plataformas.
Y se encuentra conformado por los siguientes productos (Selenium, 2010)
Selenium IDE
Es un plugin para Firefox, que permite grabar un script y
reproducirlo.
Selenium Grid
Puede ejecutar aplicaciones remotas de manera concurrente .
LECTURA SELECCIONADA Nº 1
Torres, M. (s.f.). Técnicas de prueba. Almería, España: Universidad de Almería. Disponible en http://indalog.ual.es/mtorres/
LP/Prueba.pdf
LECTURA SELECCIONADA Nº 2
Esmite, I., Farías, M., Farías, N. & Pérez, B. (2007). Automatización y gestión de las pruebas funcionales usando herramientas
open source. Anales del XIII Congreso argentino de ciencias en la computación. Corrientes, Argentina: Universidad Nacional del
Nordeste, 294–305. Disponile en http://libros.unlp.edu.ar/index.php/unlp/catalog/view/313/293/956-1
CALIDAD DE SOFTWARE
UNIDAD IV: Control de calidad 67
MANUAL AUTOFORMATIVO
ACTIVIDAD Nº 1
Foro de discusión sobre la importancia de las técnicas de pruebas.
Instrucciones
Participa en el desarrollo y resolución de las preguntas y ejercicios planteados. Foro debate N.° 1: foro de participación sobre
técnicas de pruebas con la orientación de tu docente.
• M encione 05 técnicas de pruebas para Caja Blanca e investigue con que herramienta se puede automatizar las prue-
bas de Caja Blanca
• Mencione 05 técnicas de pruebas para Caja Negra e investigue con que herramienta se puede automatizar las pruebas
de Caja Negra
•
ACTIVIDAD Nº 2
Foro de discusión sobre la importancia de las herramientas de pruebas de software.
Instrucciones
Participa en el desarrollo y resolución de las preguntas y ejercicios planteados. Foro debate n.° 2: foro de participación sobre
herramientas de software con la orientación de tu docente.
• M encione 03 herramientas para la Gestión de Plan de Pruebas y cuáles son sus principales ventajas
• Mencione 03 herramientas para la Automatización de Pruebas Funcionales y cuáles son sus principales ventajas
68 UNIDAD IV Control de calidad
GLOSARIO DE LA UNIDAD IV
1. Pruebas de Software
2. Pruebas Unitarias
3. Pruebas de Integración
La prueba de Integración es una técnica sistemática para construir la estructura del programa mientras que al mismo
tiempo, se llevan a cabo pruebas para detectar errores asociados con la interacción
4. Pruebas de Sistemas
5. Pruebas de Aceptación
BIBLIOGRAFÍA DE LA UNIDAD IV
Juristo, Natalia; Moreno, Ana; Vegas, Sira (2006). Técnicas de Evaluación de Software. [en línea]* [Consulta: 09 de Se-
tiembre de 2016]. Disponible en Web: http://www.grise.upm.es/htdocs/sites/extras/12/pdf/Documentacion_Eva-
luacion_7.pdf
CMMI (2014). Capability Maturity Model Integration. [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en
Web: https://www.sei.cmu.edu/cmmi/
Cueva, J. (2005). Capability Maturity Model Integration. [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible
en Web: http://di002.edv.uniovi.es/~cueva/asignaturas/masters/2005/MetricasUsabilidad.pdf
ECURED (2016). Técnicas de Evaluación de Software. [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en
Web: https://www.ecured.cu/Pruebas_de_caja_negra
ESTUPIÑAN JOSE (2014). La Calidad en Almacenes de Datos: Estrategia para Aseguramiento de la Calidad en Proyec-
tos de Almacenes de Datos (Spanish Edition) Disponible en Web: https://www.amazon.com/Calidad-Almacenes-Da-
tos-Estrategia-Aseguramiento/dp/3659084867
IBM (2016). Software Product Assurance . [en línea]* [Consulta: 09 de Setiembre de 2016]. Disponible en Web:
http://www.ibm.com
ISTQB (2014). International Software Testing Qualifications Board. [en línea]* [Consulta: 09 de Setiembre de 2016].
Disponible en Web: http://www.ibm.com
70 UNIDAD IV Control de calidad
AUTOEVALUACIÓN DE LA UNIDAD IV
1. ¿Cuál de las siguientes es la PRINCIPAL tarea en la planificación de las pruebas?
a. Pruebas tempranas
b. Agrupamiento de defectos
c. Paradoja del pesticida
d. Las pruebas exhaustivas
5. Un defecto es:
a. Descripción sucinta de los niveles de pruebas a realizar y las pruebas asociadas a una organización o programa (uno o
más proyectos)
b. Inconformidad con el enfoque local, los esfuerzos requeridos para las pruebas se distribuyen entre los diferentes obje-
tos de prueba y objetivos de las pruebas
c. Se hace uso de documentación de estándares y procesos
d. Una acción correctiva
a. Debe incluir precondiciones, conjunto de valores de entrada, conjunto de resultados esperados, forma en la cual se
debe ejecutar el caso de prueba, verificación de resultados y postcondiciones
b. Programa de computadora escrito en un lenguaje de programación que puede ser leído por una persona
c. Conjunto de documentos que definen los requisitos de un componente o sistema utilizado como referencia para el
desarrollo de casos de prueba
d. Es un proceso / secuencia de actividades cuyo objetivo es desarrollar un sistema basado en un computador (ordena-
dor)
a. Conjunto de documentos que definen los requisitos de un componente o sistema utilizado como referencia para el
desarrollo de casos de prueba
b. Programa de computadora escrito en un lenguaje de programación que puede ser leído por una persona
c. Es un proceso / secuencia de actividades cuyo objetivo es desarrollar un sistema basado en un computador (ordena-
CALIDAD DE SOFTWARE
UNIDAD IV: Control de calidad 71
MANUAL AUTOFORMATIVO
dor)
d. La definición de un caso de prueba debe incluir precondiciones, conjunto de valores de entrada, conjunto de resultados
esperados, forma en la cual se debe ejecutar el caso de prueba, verificación de resultados y postcondiciones
a. Es un proceso / secuencia de actividades cuyo objetivo es desarrollar un sistema basado en un computador (ordenador)
b. La definición de un caso de prueba debe incluir precondiciones, conjunto de valores de entrada, conjunto de resultados
esperados, forma en la cual se debe ejecutar el caso de prueba, verificación de resultados y postcondiciones
c. Conjunto de documentos que definen los requisitos de un componente o sistema utilizado como referencia para el de-
sarrollo de casos de prueba
10. ¿Cuál es la principal ventaja del diseño de pruebas tempranas en el ciclo de vida?
Anexo
Preguntas Respuesta
1 A
2 B
3 D
4 D
5 B
6 C
7 A
8 A
9 A
10 B
E ste manual autoformativo es el material didáctico más importante de la
presente asignatura. Elaborado por el docente, orienta y facilita el auto
aprendizaje de los contenidos y el desarrollo de las actividades propuestas en el
sílabo.
Los demás recursos educativos del aula virtual complementan y se derivan del
manual. Los contenidos multimedia ofrecidos utilizando videos, presentaciones,
audios, clases interactivas, se corresponden a los contenidos del presente
manual. La educación a distancia en entornos virtuales te permite estudiar desde
el lugar donde te encuentres y a la hora que más te convenga. Basta conectarse al
Internet, ingresar al campus virtual donde encontrarás todos tus servicios: aulas,
videoclases, presentaciones animadas, biblioteca de recursos, muro y las tareas,
siempre acompañado de tus docentes y amigos.