2. INDICE
Refuerzo histórico de SQA 2
Que es SQA 4
Quien define SQA 5
Quien sustenta SQA 6
Cuando se aplica SQA 7
Un poco más de SQA 8
Bibliografía 9
1
Lidia Nallely García Alvarado 09231547 | Calidad de Software
3. REFUERZO HISTORICO DE SQA
En los años 50, el software encontró su camino dentro de los sistemas del
DoD (inglés Deparment of Defense of USA). Usualmente estos proyectos estaban
muy alejados de la planificación, se pasaban del presupuesto y tenían muchos
problemas técnicos.
Proyectos eran cancelados antes de ser entregados. Los contratistas para el
desarrollo hacían estimaciones muy optimistas sobre el estado del desarrollo del
software. El DoD normalmente no era notificado de los problemas en la
planificación, en la gestión del presupuesto y de problemas técnicos hasta muy
avanzado el proyecto, cuando ya no eran capaces de entender los problemas ni de
evaluar el impacto de éstos.
Para intentar resolver este problema se estableció la Verificación y Validación
Independientes (IV&V del inglés Independent Verification and Validation), un proceso
de ingeniería que empleaba metodologías rigurosas para evaluar la correctitud y
calidad del software a lo largo de su ciclo de vida.
Con el tiempo el rol del IV&V se convirtió crítico.
La actividad que llamamos SQA evoluciona directamente de la Verificación y
Validación Independientes (IV&V), muchas de las tareas que asociamos con SQA
son originarias de IV&V.
Luego durante los años 70 el desarrollo de software comenzó a expandirse y las
compañías de desarrollo de software fueron experimentando los mismos pobres
resultados que las agencias gubernamentales (DoD, NASA etc.) en las décadas
tempranas. Las compañías tenían dificultad para entregar el software dentro de los
plazos, presupuesto y calidad planificados. 2
Lidia Nallely García Alvarado 09231547 | Calidad de Software
4. Varios proyectos desarrollados entre 1980 y 1990 fueron desastrosos, muchos
excedían ampliamente el presupuesto y la planificación o entregaban software de
baja calidad que no se podía usar.
Durante los 80 esta experiencia se convirtió en crisis del software, el tiempo
consumido en el mantenimiento excedía el tiempo insumido en la construcción de
nuevos productos de software.
Luego de la crisis del Software en los años 80, SQA evoluciono hacia una
herramienta que las compañías de desarrollo de software utilizaban para identificar
de forma temprana los problemas de calidad en el proceso de desarrollo. Mientras
SQA era visto como un pequeño paso dentro del proceso del desarrollo del software,
muchos jefes de proyectos vieron beneficios cuantificables a partir de integrar SQA
dentro del proceso de desarrollo de software.
En los 90 varias compañías de software ya tenían funciones de SQA dentro de sus
organizaciones.
3
Lidia Nallely García Alvarado 09231547 | Calidad de Software
5. ¿QUE ES SQA?
El aseguramiento de calidad del software es el conjunto de actividades planificadas y
sistemáticas necesarias para aportarla confianza en que el producto (software)
satisfará los requisitos dados de calidad.
El aseguramiento de calidad del software se diseña para cada aplicación antes de
comenzar a desarrollarla y no después.
Algunos autores prefieren decir garantía de calidad en vez de aseguramiento.
– Garantía, puede confundir con garantía de productos
– Aseguramiento pretende dar confianza en que el producto tiene calidad
El aseguramiento de calidad del software está presente en
– Métodos y herramientas de análisis, diseño, programación y prueba
– Inspecciones técnicas formales en todos los pasos del proceso de desarrollo
del software
– Estrategias de prueba multi-escala
– Control de la documentación del software y de los cambios realizados
– Procedimientos para ajustarse a los estándares (y dejar claro cuando se está
fuera de ellos)
– Mecanismos de medida (métricas)
– Registro de auditorías y realización de informes
–
Por otro lado otro autor define a SQA
El plan donde se reflejan las evaluaciones a realizar, los estándares a aplicar, los
productos a revisar, los procedimientos a seguir en la elaboración de los distintos
4
productos y los procedimientos para informar de los defectos detectados a sus
responsables y realizar el seguimiento de los mismos hasta su corrección.
Lidia Nallely García Alvarado 09231547 | Calidad de Software
6. ¿QUIEN DEFINE SQA?
Plan definido por IEEE std. 730-1 (software quality assurance plan)
El plan sirve para guiar las actividades de aseguramiento de la calidad que realiza el
Responsable de SQA. En el plan de SQA se reflejan las evaluaciones a realizar, los
estándares a aplicar, los productos a revisar, los procedimientos a seguir en la
elaboración de los distintos productos y los procedimientos para informar de los
defectos detectados a sus responsables y realizar el seguimiento de los mismos
hasta su corrección. Se determina qué actividades debe realizar el grupo de
aseguramiento de calidad a lo largo de todo el proceso de desarrollo de software,
para asegurar que se están teniendo en cuenta las propiedades de calidad
especificadas para el sistema en la actividad identificar las propiedades de calidad.
5
Lidia Nallely García Alvarado 09231547 | Calidad de Software
7. QUIEN SUSTENTA SQA
ISO 9000. Describe los elementos de garantía de calidad en términos genéricos que
puedan aplicase a cualquier negocio con independencia de los productos o servicios
ofrecidos.
Para identificarse con uno de los modelos de sistema de garantía de calidad y de las
operaciones de una compañía son examinados minuciosamente por auditores
externos para ajustarlo a los estándares y a la operación efectiva. Después de un
registro completo se recibe un certificado avalado.
ISO 9000 describe, en terminas generales, los elementos de un sistema de calidad.
Estos elementos incluyen la estructura organizativa, procedimientos, procesos y
recursos necesarios para implementar la planificación de la calidad, la garantía de
calidad y la mejora de calidad.
El estándar ISO 9001 contiene 20 requisitos que deben estar presentes en un
sistema de garantía de calidad efectiva. Como el estándar ISO 9001 es aplicable a
todos las disciplinas de la ingeniería del software, se ha desarrollado un conjunto
especial de directrices ISO 9000(ISO 9000-3) para ayudar a interpretar el estándar.
6
Lidia Nallely García Alvarado 09231547 | Calidad de Software
8. CUANDO SE APLICA SQA
Se aplica SQA en cada fase del desarrollo de Software:
Planeación: Apropiado proceso de apertura del proyecto. Se involucra en la
redacción y revisión del plan del proyecto para garantizar que los estándares y
procedimientos identificados sean apropiados, claros y auditables.
Análisis: Verificar la correcta definición de requerimientos, que estén completos y
que puedan ser probados.
Diseño: Verificar que la documentación necesaria este completa y ver por el
cumplimiento de estándares así como ver que cada requerimiento haya sido
cubierto adecuadamente.
Desarrollo: Verificar la correcta documentación.
Pruebas: Desarrollar un plan de pruebas y su ejecución. Reportar
inconformidades, así como dar seguimiento a la resolución de los mismos.
Certificar que el producto superó las pruebas y esta listo para su entrega.
Implementación: Correcto proceso de entrega al cliente y pruebas post-
producción.
Cierre: Base de conocimiento y retroalimentación.
7
Lidia Nallely García Alvarado 09231547 | Calidad de Software
9. UN POCO MAS DE SQA
Un plan SQA no garantiza un 100% de calidad. Pero ayuda a acercarse mucho a un
nivel estable.
Funciones de un analista de SQA
Gerencial: Verifica la existencia de estándares y procedimientos claramente
definidos, si no existen, debe involucrarse en su creación.
Auditoria: Normaliza y audita un correcto proceso, cumpliendo los procedimientos
establecidos. Verifica la entrega y mantenimiento de la documentación requerida.
Control de calidad: Certifica el Software para que pueda ser implementado en un
ambiente de producción mediante la ejecución de planes y casos de prueba.
Mejora continua: Entrega reportes de métricas y recomendaciones para un mejor
apego a los estándares y procedimientos.
QA no es lo mismo que QC, el QA debe acompañar todo el proceso de desarrollo de
Software mientras que QC está enfocado únicamente a realizar pruebas para
certificar el software.
Tipo de pruebas:
Las pruebas pueden ser divididas por su enfoque, nivel o pruebas no-funcionales. Un
ejemplo de pruebas que fácilmente puedes utilizar inicialmente son:
Unitarias: Desarrollador, prueban porciones de código.
De Integración: Desarrollador, prueban la integración del componente
desarrollado.
De Sistema: QA, prueba el componente en interacción con todo el sistema.
De Aceptación: QA, pruebas realizadas por el cliente.
De Carga: QA, prueba la respuesta de la infraestructura, cargando muchas
operaciones al sistema.
Existen muchas más que pueden utilizarse, estos son solo unos ejemplos.
8
Lidia Nallely García Alvarado 09231547 | Calidad de Software
10. Bibliografía
Cueva, J. M. (21 de octubre de 1999). www.uniovi.es. Recuperado el 17 de febrero de 2012, de
http://gidis.ing.unlpam.edu.ar/downloads/pdfs/Calidad_software.PDF
Escalone, F. (11 de junio de 2006). http://laboratorios.fi.uba.ar. Recuperado el 17 de febrero de 2012,
de http://laboratorios.fi.uba.ar/lsi/scalone-tesis-maestria-ingenieria-en-calidad.pdf
Morales, M. (15 de octubre de 2010). www.manuelmorales.com. Recuperado el 17 de febrero de
2012, de http://www.manuelmorales.net/?p=1371
Presman, R. S. (s.f.). Ingenieria de Software. Un enfoque practico. McGraw hill.
Visconti, M. (s.f.). http://www.inf.utfsm.cl. Recuperado el 17 de febrero de 2012, de
http://www.inf.utfsm.cl/~visconti/papers/papersqa1997.pdf
9
Lidia Nallely García Alvarado 09231547 | Calidad de Software