GARANTIA DE LA CALIDAD DE SOFTWARE 16-02-2017 I EDICION
- Garantía de la Calidad del Software SQA.– pag.4 - Propósito de SQA.– pag.5
- Actividades de SQA.-pag.8
Garantía de la calidad de Software
Autor Jhordan Rodríguez
© 2017 JARV – Garantía de la calidad de Software
2
Garantía de la calidad de Software
INDICE
Garantía de la calidad del software SQA ……………………………………………………..….4 Propósito de SQA ………………………………………………………………………………..…...5 Ventajas de SQA ……………………………………………………………………………………....5 Metodología de la SQA ………………………………………………………………………………6 Niveles de Maduración ………………..……………………………………………………………..6 Grupo SQA ……………………………………………………………..………………………………7 Actividades del SQA ………………………………………………………………………………….8 El Plan SQA……………………………………………………………………………………………..8 Tareas del SQA…………………………………………………………………………………………9
3
Garantía de la calidad de Software
Garantía de la Calidad del Software SQA Consiste en un conjunto de funciones de auditoría e información que evalúan la efectividad y qué tan complejas son las actividades de control de Calidad. El SQA se puede definir como la conformidad a las necesidades funcionales y de rendimiento, a los estándares de desarrollo y a las características implícitas requeridas de todo el software que se ha desarrollado profesionalmente. SQA es un conjunto de actividades sistemáticas y planeadas para asegurar que los procesos y productos de software cumplen con los requerimientos, estándares y procedimientos. La calidad del software es el conjunto de cualidades que lo caracterizan y que determinan su utilidad y existencia. La calidad es sinónimo de eficiencia, flexibilidad, corrección, confiabilidad, mantenibilidad, portabilidad, usabilidad, seguridad e integridad. La calidad del software es medible y varía de un sistema a otro o de un programa a otro. “La calidad del software es el grado con el que un sistema, componente o proceso cumple los requerimientos especificados y las necesidades o expectativas del cliente o usuario”. La SQA (Software Quality Assurance) engloba:
Un enfoque de gestión de calidad.
Tecnología de Ingeniería de Software efectiva (métodos y herramientas).
Revisiones técnicas formales que se aplican durante el proceso del software.
Una estrategia de prueba multiescalada.
Un control de la documentación del software y de los cambios realizados
Un procedimiento que asegure un ajuste a los estándares de desarrollo de Software.
Mecanismos de medición y de generación de informes.
SQA (Software Quality Assurance) 4
Garantía de la calidad de Software
Propósito de SQA Proporcionar visibilidad sobre procesos utilizados por el proyecto de SW y sobre los productos que genera. Objetivos:
Planificar las actividades de aseguramiento de la calidad.
Revisar y auditar objetivamente los productos y las actividades para verificar que estén conformes con los procedimientos y estándares.
Proporcionar los resultados de estas revisiones o auditorías informando a la dirección.
Ventajas de SQA 1. Reducción de los tiempos de desarrollo, principalmente el tiempo de trabajo generado en la fase de testing. 2. Optimización del uso de los recursos, que disminuye el costo de la infraestructura necesaria para soportar la aplicación. 3. Disminución del costo de mantenimiento, ya que se generan aplicaciones más seguras y estables. 4. Aumento de la permeabilidad al cambio y facilidad para medir el impacto del mismo. 5. Asegura el cumplimiento de los requerimientos, tanto los funcionales como los de calidad. 6. Promueve el seguimiento de los estándares definidos. 7. Provee información sobre la calidad del proyecto a los stakeholders con menor conocimiento técnico. 8. Los desarrollos se vuelven más predecibles, facilitando las estimaciones.
5
Garantía de la calidad de Software
Metodología de la SQA La prueba del software es tanto un arte como una ciencia. En grande, los usos complejos, tales como sistemas operativos. Diversos usos del software requieren diversos acercamientos cuando viene a la prueba, pero algunas de las tareas más comunes del QA del software incluyen: Prueba de la validación: La prueba de la validación es el acto de los datos que entran que el probador sabe para ser erróneo en un uso. Comparación de los datos Comparando la salida de un uso con parámetros específicos a un sistema previamente creado de los datos con los mismos parámetros que se saben para ser exactos. Prueba de la tensión: Una prueba de tensión es cuando el software se utiliza tan pesadamente como sea posible por un período de la hora de considerar si hace frente a los altos niveles de la carga. Prueba de la utilidad: A veces consiguiendo a los usuarios que son desconocedores con el software intentarlo durante algún tiempo y ofrecer la regeneración a los reveladores sobre lo que encontraron difíciles de hacer es la mejor manera de llevar a cabo mejoras a un interfaz.
Niveles de Maduración Nivel 1. Inicial. En este nivel, los proyectos y métodos de ingeniería no se encuentran definidos. Por esta razón, los proyectos son adelantados de manera incoherente, incontrolada y poco profesional. El éxito es eventual. Según la entidad certificadora del CMM, el Instituto de Ingeniería de Software de los Estados Unidos (SEI), la mayoría de los grupos de desarrollo de software en el mundo operan a este nivel. Nivel 2. Repetible. Se establecen algunos procesos y métodos de ingeniería a nivel de proyectos. Nivel 3. Definido. Los procesos, actividades y métodos relacionados con la ingeniería y administración de proyectos se encuentran documentados, estandarizados y construidos alrededor de un marco integrado para toda la compañía. 6
Garantía de la calidad de Software Nivel 4. Administrado. La compañía opera bajo control estadístico de procesos. Los resultados de los procesos y la calidad de los productos son predecibles. Nivel 5. Optimización. En este nivel, las organizaciones se encuentran en un proceso de mejora continua. Las organizaciones se enfocan en su mejora a través de técnicas de prevención de defectos, cambios en tecnología y en procesos. Según el SEI, menos del 0,1% de las organizaciones del mundo se encuentran en nivel de madurez.
Ingenieros de Software Grupo SQA Es responsabilidad de los ingenieros de software ocuparse de todo el trabajo técnico involucrado en actividades de aseguramiento y control de calidad.
Grupo SQA 1. Muchas organizaciones empiezan a crear grupos de SQA. 2. Estas personas actúan como representantes internos del cliente. 3. Es responsabilidad del grupo SQA ayudar a los Ingenieros, a lograr una alta calidad en el programa o aplicación de software determinado. 4. Este grupo tiene una serie de actividades que se presentan a continuación. 7
Garantía de la calidad de Software
Actividades del SQA Para
poder
actividades oportuno
identificar y
para
el
estas
momento
realizarlas
es
necesario revisar el ciclo de vida de un proyecto. Para identificar las actividades se basa
en
el
análisis
de
fases/disciplinas/esfuerzo realizado en RUP por ser un proceso muy difundido en el mercado, aunque el mismo análisis puede aplicarse a otros procesos de desarrollo. Analizando el diagrama, se aprecia que el esfuerzo de cada disciplina varía según la fase del proyecto. De aquí se deriva que el momento para controlar la calidad de cada disciplina es cuando mayor esfuerzo se le dedica.
El Plan SQA Esta es una herramienta que permite instituir la garantía de seguridad del software, desarrollado por el grupo de SQA este proporciona un plantilla de actividades, se debe tener en cuenta lo siguiente: 1. El propósito y ámbito del plan. 2. Una descripción de todos los productos de software. 3. Estándares y prácticas aplicables a nuestro proceso. 4. Las acciones y tareas del SQA. 5. Las herramientas y métodos utilizados. 6. Procedimientos de gestión de configuración. 7. Métodos para salvaguardar, ensamblar y mantener los registros. 8. Documentación, papeles y responsabilidades en la organización relativas a la calidad del producto elaborado.
8
Garantía de la calidad de Software Otras Actividades del SQA Verificación de requerimientos: esta actividad se concentra en validar la completitud, claridad y no ambigüedad de los requerimientos de un sistema. Validación y verificación de documentación: esta actividad se encarga de controlar la corrección, completitud y no ambigüedad de la documentación. La documentación en UML es muy útil para esta práctica por el poder semántico que tiene y por la posibilidad de validar sintácticamente la documentación. Validación de arquitectura: Esta actividad es muy importante para evaluar la factibilidad de cumplir con los requerimientos no funcionales y detectar de forma temprana los principales riesgos asociados al proyecto. Control de código: Se subdivide en 2 actividades: 1. Control estático del código: Es la validación del código contra un conjunto de reglas, mejores prácticas y estándares predefinidos. 2. Control dinámico del código: El control se focaliza en el uso de los recursos que hace la aplicación y la cobertura del código que hacen las pruebas unitarias.
Tareas del SQA Es necesario tener en cuenta que para realizar algunas de estas actividades primero es necesario realizar otras actividades como ser: 1. Definición de estándares y mejores prácticas de desarrollo. 2. Elección de herramientas para documentar y desarrollar. 3. Estas tareas tienen que ver con el hecho que para poder validad la calidad de algo, es necesario contar, previamente, con la definición, requerimiento o estándar contra el cual validar.
9
GarantĂa de la calidad de Software
JARV
10