Aseguramiento de Calidad en el Software (SW Quality Assurance) Daniel Roche [email_address]
El Control de Calidad dentro del Ciclo de Desarrollo de Software Definición formal: Software Quality Assurance (SQA) se define como un plan sistemático de evaluar la calidad y apegamiento a los procesos, políticas y estándares de un producto de software.  SQA incluye el proceso de asegurar que los estándares y procedimientos sean establecidos y seguidos durante el ciclo de vida del desarrollo de software.  El cumplimiento de los estándares y procedimientos acordados se evjalúa mediante un proceso de monitoreo, evaluación del producto y auditorias.  Fuente: http://satc.gsfc.nasa.gov/assure/agbsec3.txt
¿Qué es calidad del software? Otra definición de calidad del software Punto de vista del cliente:  El grado en que un cliente y/o usuario percibe que el producto software satisface sus necesidades.   Punto de vista de la industria: Grado en el que un producto de software  satisface su especificación de requerimientos.
Actividades de un Equipo de QA PRUEBAS (TESTS) Análisis del proyecto. Identificar escenarios de prueba. Verificación de estándares y requerimientos. Ejecución y documentación de pruebas. (Test case). Ingresar, clasificar los errores y/o defectos (bugs) encontrados a la bitácora de errores.  Revalidar las correcciones. “ Regression Test” Realizar reportes estadísticos al final del proyecto.
Problemática de la actividad El reto principal es que el ingeniero de pruebas entienda el proyecto y como el proyecto afectara al resto del sistema (en el caso de que sea un nuevo modulo).  Una vez que se entiende el proyecto, deberá entender cada uno de los requerimientos y como deben interactuar. (Se complica con la complejidad de proyectos). La actividad de QA debe de involucrarse desde el inicio de un proyecto de SW, esto no es así, usualmente se deja de último.  Equipo desarrollo consume el tiempo dispuesto para QA. Requerimientos mal definidos o no definidos, causan (en muchos casos) que se tenga que iniciar de nuevo con las pruebas. Desarrolladores no siempre en la mejor disposición para cooperar con los Ingenieros de Pruebas.
Retos del Departamento de Calidad Opinión: En nuestra localidad (empresas yucatecas), el reto mayor es, IMPLEMENTAR el equipo.  No existe la cultura de invertir en un equipo de ingenieros de pruebas, ya que la inversión no se considera necesaria.  Grafico de costos Escuelas y Universidades capacitan a los futuros ingenieros enfocándose a que sean programadores. Capacitación de herramientas especializadas es escasa y no es económica.
Entrenamiento Depende de la(s) herramienta(s) Principal es capacitar al ingeniero de pruebas en las reglas del negocio de la empresa. Debe estar tan familiarizado como un BA. Existe entrenamiento para herramientas de automatización.
Metodología A continuación se muestra un ejemplo de metodología, pero pueden llevarse a cabo diferentes metodologías de acuerdo al tamaño de la organización y del equipo de sistemas
Herramientas   Existen muchas herramientas, las hay de licencia gratuita hasta las de marca. Ejemplos: HP Quality Center BugBase Bugzilla Rational QA studio Full list: http://en.wikipedia.org/wiki/List_of_revision_control_software
Costos de Reparación de un defecto Regresar a la diapositiva Fuentes:  Barrh Boehm, Software Engineering Economics, Prentice-Hall 1981 National Institute of Standards & Technology, United States Department of Commerce,  "The Economic Impacts of Inadequate Infrastructure for Software Testing", May 2002
Patrón de Defectos [] Organización con un equipo de QA [] Organización sin un equipo de QA Fuentes:  Barrh Boehm, Software Engineering Economics, Prentice-Hall 1981 National Institute of Standards & Technology, United States Department of Commerce,  "The Economic Impacts of Inadequate Infrastructure for Software Testing", May 2002
Patrón Costo-Defecto [] Organización con un equipo de QA [] Organización sin un equipo de QA Fuentes:  Barrh Boehm, Software Engineering Economics, Prentice-Hall 1981 National Institute of Standards & Technology, United States Department of Commerce,  "The Economic Impacts of Inadequate Infrastructure for Software Testing", May 2002
Ejercicio El video club “Joliwud” envía periódicamente a sus clientes una Encuesta por correo con el fin de conocer los gustos de sus clientes y mejorar sus servicios. En el último ejercicio, se perdieron $50,000.00 por encuestas que fueron enviados a clientes que ya no eran miembros del club o ya habían recibido la encuesta. Se ha solicitado se modifique la aplicación de tal forma que en En caso de no ser un miembro activo, se envié cupón de una  renta Gratis. (El fin es invitar nuevamente al cliente a ser  miembro). Se permita seleccionar la colonia con fines estadísticos.
Ejercicio Standards: 1. Font: Comic Sans 2.Campos obligatorios en amarillo Requerimientos: 1. Fechas por default 2. Opciones de impresión
Ejercicio ¿Qué errores encuentras?
Ejercicio Independientemente de los errores de diseño, el QA debería verificar lo siguiente: Aplicación no debe marcar un error independientemente de los parámetros utilizados. Matriz de pruebas El reporte obtenido, debe dar exactamente los mismos resultados que el anterior (cuando se utilizan los mismos parametros). Comportamiento de la aplicación En el mejor de los casos En el peor de los casos.
Ejercicio – Matriz de Pruebas
BugTracker http://ifdefined.com/btnet/bugs.aspx
BugTracker – New Bug
Contacto Daniel Roche [email_address]

Control de Calidad del Software

  • 1.
    Aseguramiento de Calidaden el Software (SW Quality Assurance) Daniel Roche [email_address]
  • 2.
    El Control deCalidad dentro del Ciclo de Desarrollo de Software Definición formal: Software Quality Assurance (SQA) se define como un plan sistemático de evaluar la calidad y apegamiento a los procesos, políticas y estándares de un producto de software. SQA incluye el proceso de asegurar que los estándares y procedimientos sean establecidos y seguidos durante el ciclo de vida del desarrollo de software. El cumplimiento de los estándares y procedimientos acordados se evjalúa mediante un proceso de monitoreo, evaluación del producto y auditorias. Fuente: http://satc.gsfc.nasa.gov/assure/agbsec3.txt
  • 3.
    ¿Qué es calidaddel software? Otra definición de calidad del software Punto de vista del cliente: El grado en que un cliente y/o usuario percibe que el producto software satisface sus necesidades. Punto de vista de la industria: Grado en el que un producto de software satisface su especificación de requerimientos.
  • 4.
    Actividades de unEquipo de QA PRUEBAS (TESTS) Análisis del proyecto. Identificar escenarios de prueba. Verificación de estándares y requerimientos. Ejecución y documentación de pruebas. (Test case). Ingresar, clasificar los errores y/o defectos (bugs) encontrados a la bitácora de errores. Revalidar las correcciones. “ Regression Test” Realizar reportes estadísticos al final del proyecto.
  • 5.
    Problemática de laactividad El reto principal es que el ingeniero de pruebas entienda el proyecto y como el proyecto afectara al resto del sistema (en el caso de que sea un nuevo modulo). Una vez que se entiende el proyecto, deberá entender cada uno de los requerimientos y como deben interactuar. (Se complica con la complejidad de proyectos). La actividad de QA debe de involucrarse desde el inicio de un proyecto de SW, esto no es así, usualmente se deja de último. Equipo desarrollo consume el tiempo dispuesto para QA. Requerimientos mal definidos o no definidos, causan (en muchos casos) que se tenga que iniciar de nuevo con las pruebas. Desarrolladores no siempre en la mejor disposición para cooperar con los Ingenieros de Pruebas.
  • 6.
    Retos del Departamentode Calidad Opinión: En nuestra localidad (empresas yucatecas), el reto mayor es, IMPLEMENTAR el equipo. No existe la cultura de invertir en un equipo de ingenieros de pruebas, ya que la inversión no se considera necesaria. Grafico de costos Escuelas y Universidades capacitan a los futuros ingenieros enfocándose a que sean programadores. Capacitación de herramientas especializadas es escasa y no es económica.
  • 7.
    Entrenamiento Depende dela(s) herramienta(s) Principal es capacitar al ingeniero de pruebas en las reglas del negocio de la empresa. Debe estar tan familiarizado como un BA. Existe entrenamiento para herramientas de automatización.
  • 8.
    Metodología A continuaciónse muestra un ejemplo de metodología, pero pueden llevarse a cabo diferentes metodologías de acuerdo al tamaño de la organización y del equipo de sistemas
  • 9.
    Herramientas Existen muchas herramientas, las hay de licencia gratuita hasta las de marca. Ejemplos: HP Quality Center BugBase Bugzilla Rational QA studio Full list: http://en.wikipedia.org/wiki/List_of_revision_control_software
  • 10.
    Costos de Reparaciónde un defecto Regresar a la diapositiva Fuentes: Barrh Boehm, Software Engineering Economics, Prentice-Hall 1981 National Institute of Standards & Technology, United States Department of Commerce, "The Economic Impacts of Inadequate Infrastructure for Software Testing", May 2002
  • 11.
    Patrón de Defectos[] Organización con un equipo de QA [] Organización sin un equipo de QA Fuentes: Barrh Boehm, Software Engineering Economics, Prentice-Hall 1981 National Institute of Standards & Technology, United States Department of Commerce, "The Economic Impacts of Inadequate Infrastructure for Software Testing", May 2002
  • 12.
    Patrón Costo-Defecto []Organización con un equipo de QA [] Organización sin un equipo de QA Fuentes: Barrh Boehm, Software Engineering Economics, Prentice-Hall 1981 National Institute of Standards & Technology, United States Department of Commerce, "The Economic Impacts of Inadequate Infrastructure for Software Testing", May 2002
  • 13.
    Ejercicio El videoclub “Joliwud” envía periódicamente a sus clientes una Encuesta por correo con el fin de conocer los gustos de sus clientes y mejorar sus servicios. En el último ejercicio, se perdieron $50,000.00 por encuestas que fueron enviados a clientes que ya no eran miembros del club o ya habían recibido la encuesta. Se ha solicitado se modifique la aplicación de tal forma que en En caso de no ser un miembro activo, se envié cupón de una renta Gratis. (El fin es invitar nuevamente al cliente a ser miembro). Se permita seleccionar la colonia con fines estadísticos.
  • 14.
    Ejercicio Standards: 1.Font: Comic Sans 2.Campos obligatorios en amarillo Requerimientos: 1. Fechas por default 2. Opciones de impresión
  • 15.
  • 16.
    Ejercicio Independientemente delos errores de diseño, el QA debería verificar lo siguiente: Aplicación no debe marcar un error independientemente de los parámetros utilizados. Matriz de pruebas El reporte obtenido, debe dar exactamente los mismos resultados que el anterior (cuando se utilizan los mismos parametros). Comportamiento de la aplicación En el mejor de los casos En el peor de los casos.
  • 17.
  • 18.
  • 19.
  • 20.
    Contacto Daniel Roche[email_address]