Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CURSO
Control de Calidad de Software
INGENIERO
Morales Loaiza, Alonso
INTEGRANTES
Chuquín De la Cruz, Sofía Lisset
Mitacc Alvarez, José Antonio
Mitacc Gutierrez, Emily Estefany
Ñañez Andres, Moises Albeiro
CICLO
VIII
Ica – Perú
2016
1
AGRADECIMIENTOS
2
ÍNDICE
INTRODUCCIÓN........................................................................................................................................................7
CALIDAD, SOFTWARE Y ASEGURAMIENTO DE LA CALIDAD DEL SOFTWARE............................. 8
1. Calidad y software .......................................................................................................................................... 8
1.1. Que es software ......................................................................................................................................... 8
1.2. Ingeniería de software ............................................................................................................................. 8
1.3. Que es CASE................................................................................................................................................ 9
1.4. Atributos de un buen software ............................................................................................................ 9
1.5. ¿Cuáles son los retos fundamentales que afronta la ingeniería del software? ..........10
1.5.1. El reto de la Heterogeneidad....................................................................................................10
1.5.2. El reto de la entrega .....................................................................................................................10
1.5.3. El reto de la confianza .................................................................................................................10
1.6. Que es calidad ...........................................................................................................................................10
1.6.1. Control de calidad .........................................................................................................................12
1.6.2. Garantía de calidad .......................................................................................................................12
1.6.3. Gestión de calidad.........................................................................................................................12
1.7. Problemas de calidad en grandes sistemas...................................................................................13
2. Calidad de software ......................................................................................................................................14
2.1. Corrección y defectos: Definiciones, propiedades y mediciones..........................................14
2.1.1. Definiciones: Error, falla, avería y defecto ............................................................................14
2.1.2. Conceptos y relaciones ilustradas ...........................................................................................16
2.1.3. Propiedades de corrección centrada y mediciones......................................................... 17
2.1.4. Defectos en el contexto de la ingeniería de calidad y control de calidad..............19
2.2. Una perspectiva histórica de Calidad ..............................................................................................20
2.2.1. Evolución de las percepciones de calidad ..........................................................................20
2.2.2. Calidad en ingeniería de software ..........................................................................................21
2.3. ¿Qué es Calidad de Software? ...........................................................................................................22
3. Aseguramiento de calidad de software y técnicas asociadas.....................................................22
3.1. Clasificación: Como tratar defectos..................................................................................................22
3.1.1. Esquema de clasificación ...........................................................................................................22
3.1.2. Representación gráfica del esquema de clasificación ....................................................23
3.2. Prevención de defectos.........................................................................................................................24
3
3.2.1. Inspección: detección de fallos y la eliminación directa................................................25
3.2.2. Método Formal ..............................................................................................................................25
3.2.3. Otras técnicas e identificación de riesgos ...........................................................................26
3.3. Reducción de defectos ..........................................................................................................................26
3.3.1. Inspección: Detección de fallas indirectas y eliminación...............................................26
3.3.2. Pruebas: observación y culpa eliminación de interrupción ......................................... 27
3.3.3. Otras técnicas e identificación de riesgos ........................................................................... 27
3.4. Contención de defectos........................................................................................................................ 27
3.4.1. Software de tolerancia a fallos.................................................................................................28
3.4.2. Aseguramiento de la seguridad y la falta de contención .............................................28
CONCLUSIONES Y RECOMENDACIONES...................................................................................................30
BIBLIOGRAFÍA ...........................................................................................................................................................31
4
ÍNDICE DE FIGURAS
Figura 1 - Aseguramiento de la calidad de software ..................................................................................7
Figura 2 - Control, garantía y gestión de calidad ......................................................................................13
Figura 3 - Conceptos y relaciones relacionados con defectos .............................................................15
Figura 4 - Formas genéricas para hacer frente a los defectos ............................................................24
5
ÍNDICE DE TABLAS
Tabla 1 - Atributos de un buen software ........................................................................................................ 9
Tabla 2 - Cómo lograr que el consumidor se convierta en nuestro cliente ....................................11
Tabla 3 - Tipos de calidad ....................................................................................................................................11
Tabla 4 - Corrección – centrado a propiedades de acuerdo a la calidad de vistas y atributos
........................................................................................................................................................................................18
6
INTRODUCCIÓN
Actualmente hay una variedad de equipos y sistemas de software que están presentes en la
sociedad moderna. Los usuarios de todo el mundo confían en equipos individuales e
interconectados, así como la infraestructura mundial de información, tales como la Internet y
la World Wide Web (WWW), para satisfacer sus necesidades de procesamiento de la
información, almacenamiento, búsqueda y recuperación. Todas estas necesidades con el
apoyo del software subyacente.
Y para ello, tales requisitos de alta calidad deben cumplirse por las personas involucradas en
el desarrollo y soporte de estos sistemas de software a través de diversas actividades de
garantía de calidad, y las reclamaciones de alta calidad necesitan ser apoyados por pruebas
basadas en análisis y mediciones concretas.
Por ello en el siguiente trabajo nos enfocaremos en explicar los diferentes conceptos que se
relacionan con la calidad, software, calidad de software y aseguramiento de la calidad (QA).
7
CALIDAD, SOFTWARE Y ASEGURAMIENTO
DE LA CALIDAD DEL SOFTWARE
1. Calidad y software
1.1. Que es software
Muchas personas asocian el termino software con los programas de
computadora. Sin embargo, una definición más amplia donde el software no
son solo programas, sino todos los documentos asociados y la configuración
de datos que se necesitan para hacer que estos programas operen de manera
correcta.
8
1.3. Que es CASE
CASE (Ingeniería del Software Asistida por Computadora) comprende un
amplio abanico de diferentes tipos de programa que se utilizan para ayudar
a las actividades del proceso del software como el análisis de requerimientos,
el modelado de sistemas, la depuración y las pruebas. En la actualidad, todos
los métodos vienen con tecnología CASE asociada, como los editores para las
anotaciones utilizadas en el método, módulos de análisis que verifican el
modelo del sistema según las reglas del método y generadores de informes
que ayudan a crear la documentación del sistema. Las herramientas CASE
también incluyen un generador de códigos que automáticamente genera
código fuente a partir del modelo del sistema y de algunas guías de procesos
para los ingenieros de software.
9
1.5. ¿Cuáles son los retos fundamentales que afronta la
ingeniería del software?
En el siglo XXI la ingeniería de software afronta tres retos fundamentales:
Cada vez más, se requiere que los sistemas operen como sistemas
distribuidos en redes que incluyen diferentes tipos de computadoras
y con diferentes clases de sistemas de soporte. A menudo es necesario
integrar software nuevo con sistemas heredados más viejos escritos
en diferentes lenguajes de programación. El reto de la heterogeneidad
es desarrollar técnicas para construir software confiable que sea lo
suficientemente flexible para adecuarse a esta heterogeneidad.
10
Muchas veces la calidad se paga, justificando de esta forma el dicho de que
"lo barato sale caro".
LA NECESIDAD EL DESEO
11
1.6.1. Control de calidad
12
información de la organización de manera práctica y coordinada que
asegure la satisfacción del cliente y bajos costos para la calidad.
13
2. Calidad de software
2.1. Corrección y defectos: Definiciones, propiedades y
mediciones.
Cuando muchas personas asocian calidad o alta calidad con un sistema de
software, es un indicativo, que pocos problemas de software se esperan
durante sus operaciones. Es más, cuando surgen problemas, el impacto
negativo se espera que sea mínimo. En esta sección se examinan cuestiones
relacionadas.
14
errores, fallos y averías anteriores. Algunas personas también han
planteado la objeción moral o filosófica al uso de bug como evadir la
responsabilidad de algo las personas comprometidas. Por lo tanto,
intentamos evitar usar el término "bug" en el presente documento.
15
Actividades específicas relacionadas con el descubrimiento
del defecto, incluyendo pruebas, inspección, etc.
Actividades de seguimiento específicas después de
descubrimiento del defecto, incluyendo el diagnóstico de
defecto, análisis, fijación y re verificación.
16
Es decir, errores pueden causar fallas inyectadas en el software, y
fallas pueden causar averías cuando se ejecuta el software. Sin
embargo, esta relación no es necesariamente 1 a 1. Un solo error
puede causar muchas fallas, como en el caso de que un mal algoritmo
se aplica en varios módulos y provoca fallos múltiples, y un fallo único
puede causar muchas averías en repetidas ejecuciones. Por el
contrario, la misma avería puede ser causado por varias fallas, como
una avería de interfaz o interacción con la participación de varios
módulos, y el mismo fallo puede existir debido a errores diferentes.
Figura 3 también ilustra algunas de estas situaciones, como se
describe a continuación:
17
Atributo
Vista
Corrección Otros
Usabilidad
Mantenibilidad
Consumidor/
Portabilidad
Externo (Usuario y Avería (Failure) –
Rendimiento
consumidor) propiedades relacionadas
Capacidad de instalación
Legibilidad
Etc.
Productor / Diseño
Interno
Tamaño
(Desarrollador, Fallo (Fault) –
Cambio
administrador, propiedades relacionadas
jefe, testeador, Complejidad
etc) Etc.
18
medidas relacionadas de la vista interna de los productores. Podemos
recopilar y analizar información sobre fallas individuales, así como
hacerlo colectivamente. Fallas individuales pueden ser analizadas y
examinadas de acuerdo a sus tipos, sus relaciones a averías específicas
y accidentes, sus causas, el tiempo y circunstancias cuando que se
inyectan, etc. Fallos pueden ser analizadas colectivamente según su
distribución y densidad en fases de desarrollo y componentes de
software diferentes.
Prevención de defecto
Detección y eliminación de defectos
Defectos de contención.
19
En este sentido, gran parte de la planificación de calidad puede ser
vistos como estimación y planificación para defectos previstos. Gran
parte de la información se proporciona en términos de varios defectos
relacionados con las evaluaciones de calidad y predicciones.
20
calidad pasando cero defectos en productos a cero deserciones de
clientes (Reichheld Jr. y Sasser 1990). La lealtad del cliente debido a su
experiencia general con el servicio es más importante que sólo
conforme a algunas especificaciones prescritas o normas.
21
Etapa de fiabilidad: El foco fue gestionar las expectativas de
calidad de los usuarios bajo la dependencia creciente de software
y alto costo o graves daños relacionados con averías de software.
22
La prevención de defectos a través del bloqueo de error o
remoción fuente de error: Estas actividades de QA previene
ciertos tipos de fallos de ser inyectado en el software. Se puede
hacer de dos formas genéricas:
La eliminación de ciertas fuentes de error, tales como la
eliminación de ambigüedades o corregir los conceptos
erróneos humanos, que son las causas fundamentales de los
errores.
La prevención de fallos o el bloqueo mediante la corrección
directa o bloqueo de las acciones humanas incorrectas.
La reducción de defectos a través de la detección de fallos y la
eliminación: Estas alternativas de control de calidad detectan y
eliminan ciertos fallos una vez que se han inyectado en los
sistemas de software. De hecho, la mayoría de las actividades de
control de calidad tradicionales entran en esta categoría. Por
ejemplo:
Inspección, detecta directamente y elimina los fallos desde el
código de software, diseño, etc.
Pruebas, elimina los fallos basados en observaciones
relacionadas durante la ejecución del programa.
Contención de defecto a través de la prevención de fallos y
contención: Estas medidas de contención se centran en los
fracasos, ya sea que los contiene a las áreas locales de modo que
no hay fracasos globales observable a los usuarios, o limitar los
daños causados por fallas en el sistema de software. Por lo tanto,
la contención de defecto se puede hacer de dos formas
genéricas:
Algunas alternativas de control de calidad, tales como el uso
de técnicas de tolerancia a fallos, rompen la relación causal
entre fallos y los errores de modo que los fallos locales no
provocarán fallos globales.
Una extensión relacionada con la tolerancia a fallos es
medidas de contención para evitar consecuencias
catastróficas, como la muerte, lesiones personales y
materiales graves o daños ambientales, en caso de fallos.
23
La barrera entre la entrada a las actividades de desarrollo de
software (cuadro de la izquierda) y el sistema de software (cuadro
central) representa las actividades de prevención de defectos.
La barrera curva entre el sistema de software (cuadro central) y el
escenario de uso y el comportamiento observado (cuadro de la
derecha) representa defectos o fallos de eliminación de
actividades tales como la inspección y pruebas.
La barrera directamente a la derecha y cerca de la barrera por
encima de la eliminación de fallos representa las actividades de
prevención de fallos tales como la tolerancia a fallos.
La última barrera, que rodea los casos de fracaso seleccionados,
representa las actividades de contención de fallo.
24
Si los errores humanos son las fuentes de error, educación y formación
pueden ayudarnos quitar estas fuentes de error.
Si imprecisos diseños e implementaciones que difiera de las
especificaciones de producto o intenciones de diseño son las causas de
los fallos, métodos formales pueden ayudarnos prevenir tales
desviaciones.
Si no conformidad para selecciona procesos o normas es el problema
que conduce a las inyecciones de falla, entonces conformidad de proceso
o aplicación estándar puede ayudar a uso impedir la inyección de errores
relacionados.
Si determinadas herramientas o tecnologías pueden reducir las
inyecciones de culpa en entornos similares, que deben ser aprobadas.
25
El mayor obstáculo para métodos formales es el alto costo asociado
con la tarea de llevar a cabo estas actividades correctamente sin
suficiente apoyo automatizado.
26
La inspección se aplica más comúnmente a código, pero también se
podría aplicar a las especificaciones de requerimiento, diseños, planes
y casos de prueba, manuales de usuario y otros documentos o
artefactos de software. Por lo tanto, la inspección se puede utilizar
durante todo el proceso de desarrollo, especialmente al comienzo del
desarrollo de software antes de que algo se puede probar.
27
Por otra parte, estos pocos fallos restantes pueden ser provocados en
condiciones raras o escenarios dinámicos inusuales, por lo que es realista
tratar de generar el número enorme de casos de prueba para cubrir todas
estas condiciones o para realizar una inspección exhaustiva sobre la base de
todos los escenarios posibles. En lugar de ello, algunos otros medios necesitan
ser usados para prevenir las fallas por romper las relaciones causales entre
estos defectos y las fallas resultantes para contener los fallos mediante la
reducción de los daños resultantes.
28
accidentes. Por lo tanto, además de las técnicas de control de calidad
superiores, diversas técnicas específicas también se utilizan para los
sistemas críticos de seguridad basados en el análisis de los riesgos, o
pre-condiciones lógicas de accidentes (Leveson, 1995). Estas técnicas
de garantía de la seguridad y de mejora son:
29
CONCLUSIONES Y RECOMENDACIONES
En conclusión, la calidad es muy importante en cualquier servicio o producto y está presente
en muchos lados y sobretodo en el software que utilizamos y hacemos.
Un producto como software será de calidad cuando siga los estándares propuestos por
organizaciones dedicadas a la calidad de software, de tal forma que pueda cumplir con todos
los requerimientos especificados por el cliente.
Dentro de la calidad de software debemos entender los conceptos claves de (Error, Fallo y
Avería), ya que con ellos nos aseguraremos de donde proviene dicho error, también incluye
etapas:
Etapa funcional
Etapa de planificación
Etapa de costo
Etapa de fiabilidad
Producir un software con un gran éxito, es hacerlo con calidad y sobretodo demostrarlo. Esto
sólo es posible con la implantación de un sistema para el Aseguramiento de la Calidad
del Software (SQA). Por lo cual el SQA es el esfuerzo total para plantear, organizar, dirigir y
controlar la calidad en un sistema de producción con el objetivo de dar al cliente productos
con la calidad adecuada.
Recomendamos no solo a las empresas, sino a todos los desarrolladores que empiecen a
introducirse con el control de software y aseguramiento de la calidad de software. Ya que
ayuda a tomar decisiones en el ámbito de gestión, mejorando el tema de coordinación y
productividad.
30
BIBLIOGRAFÍA
Biblioteca Virtual. (2014). Obtenido de Biblioteca Virtual:
http://www.bvs.sld.cu/revistas/aci/vol3_3_95/aci05395.htm
31