Aseguramiento de Calidad de Software y Tecnicas Asociadas

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 4

ASEGURAMIENTO DE CALIDAD DE SOFTWARE Y TECNICAS

ASOCIADAS
Las actividades para la garanta de calidad (QA) garantizan que pocos, o
ningn defecto en el sistema de software exista cuando se entregue a sus
clientes o se lance al mercado. Adems, queremos asegurarnos de que
estos defectos restantes causarn daos o interrupciones mnimas.
ACTIVIDADES DE CONTROL DE CALIDAD
Podemos ver diferentes actividades de control de calidad como intentar
prevenir, eliminar, reducir o contener diversos problemas especficos con
diferentes aspectos de defectos. Podemos clasificar estas alternativas de
control de calidad en las siguientes tres categoras genricas:
Defecto de prevencin a travs de error de bloqueo o eliminacin
de cdigo de error: Dado que los errores son las acciones humanas falte o
sea incorrectas que conducen a la inyeccin de fallas en los sistemas de
software, podemos directamente corregir o bloquear estas acciones o
eliminar las causas subyacentes para ellos. Por lo tanto, prevencin de
defecto puede hacerse de dos maneras genricos:

Eliminar ciertas fuentes de error, tales como eliminar ambigedades o

corregir errores humanos, que son la raz causas de los errores.


Bloquear estas acciones humanas faltantes o son incorrectas. Este
grupo de tcnicas rompe a la relacin causal entre las fuentes de
errores y fallas mediante el uso de algunas herramientas y
tecnologas, aplicacin de ciertas normas de proceso y producto.

Deteccin de fallas y eliminacin: QA estas alternativas detectar y


eliminar ciertas fallas, una vez que han sido inyectados en los sistemas de
software. De hecho, las actividades de control de calidad ms tradicionales
entran en esta categora. Por ejemplo,

Inspeccin directa detecta y elimina los errores del cdigo de

software, diseo, etc.


Eliminar errores basados en observaciones de error relacionados
durante la ejecucin del programa.

Contencin de defecto por incumplimiento de prevencin y


contencin: estas medidas de contencin se centran en los fracasos que

los contengan reas locales por lo que no hay errores observables de forma
global para los usuarios, o limitar los daos causados por fallas en el
sistema software. Por lo tanto, contencin de defecto puede hacerse de dos
maneras genricos:

Algunas alternativas de control de calidad, tales como el uso de


tcnicas de tolerancia a fallos, rompen a la relacin causal entre fallas
y errores para que fallas locales no causar fallas globales, por lo

tanto "tolerar" esas fallas locales.


Una extensin relacionada con tolerancia a errores de medidas de
contencin para evitar consecuencias catastrficas, como la muerte,
lesiones personales y propiedad grave o daos ambientales, en caso
de fallas. Por ejemplo, contencin de fracaso para el software de
control en tiempo real utilizado en reactores nucleares puede incluir
muros de hormign que rodean y contienen material radiactivo de
reactor de fusin abajo debido a fallas de software, a fin de evitar
daos al medio ambiente y la salud de las personas.

Tratar con defectos de previo y posterior al lanzamiento


Diferentes alternativas de control de calidad pueden verse como un
esfuerzo concertado para hacer frente a errores, fallos o errores, a fin de
lograr el objetivo comn de calidad y mejora.
Prevencin de defectos y las actividades de reduccin de defecto tratan
directamente con los procesos durante el proceso de desarrollo de software.
Despus del lanzamiento del producto, las fallas observadas y problemas
notificados por los clientes y los usuarios tambin deben corregirse, esto a
su vez, podra conducir a la reduccin de defectos y generar un producto
calidad. Sin embargo, no se debe renunciar a actividades de prevencin y
reduccin de defectos, porque el costo de corregir defectos despus de
lanzar el producto es mucho mayor al producto en desarrollo. Adems, el
dao a la reputacin de los proveedores de software puede ser devastador.
Educacin y formacin
La educacin y formacin proporcionan soluciones basadas en el personal
para la eliminacin de origen del error. Se ha observador que los
profesionales de software son el factor ms importante que determina la
calidad y, en ltima instancia, el xito o el fracaso de la mayora de los

proyectos de software. Educacin y formacin de profesionales de software


pueden ayudarles a controlar, administrar y mejorar su forma de trabajar. La
eliminacin de los errores humanos ayudar a impedir que ciertos tipos de
errores ingresen en el producto de software.

Conocimiento de producto y el dominio especifico. Si las personas


involucradas no estn familiarizadas con el dominio de aplicacin o
tipo de producto, hay una buena posibilidad de que se apliquen mal
las soluciones. Por ejemplo, los desarrolladores familiarizados con
software integrado pueden disear software sin tener en cuenta sus
limitaciones ambientales, provocando a diversos problemas de la

interfaz y la interaccin entre el software y su entorno fsico.


Conocimiento en el desarrollo de software y experiencia, desempea
un papel importante en el desarrollo de productos de software de alta
calidad. Por ejemplo, la falta de experiencia con la especificacin de
anlisis y requisitos de producto generalmente conduce a muchos
problemas y afectan en posterior diseo, codificacin y pruebas de

actividades.
Conocimientos sobre metodologa, tecnologa y herramientas de
desarrollo tambin desempea un papel importante en el desarrollo
de productos de software de alta calidad. Por ejemplo, en una
implementacin de la tecnologa de contorsionista (Mills et al.,
1987b), si los desarrolladores no estn familiarizados con los
componentes clave de verificacin formal o pruebas estadsticas, hay

pocas posibilidades para la produccin de productos de alta calidad.


Conocimiento del proceso de desarrollo. Si el personal de proyectos
no tienen un buen conocimiento del proceso de desarrollo, es poco
probable que el proceso pueda aplicarse correctamente. Por ejemplo,
si las personas involucradas en el desarrollo de software incremental
no saben cmo encajan los esfuerzos de desarrollo individuales para
los diferentes incrementos puede llevar a muchos problemas de
interfaz o interaccin.

Mtodo formal
Mtodos formales proporcionan una forma para eliminar ciertas fuentes de
error y para comprobar la ausencia de fallos relacionados. Los mtodos de
desarrollo formal, incluyen la especificacin formal y verificacin formal.
Especificacin formal se ocupa de producir un conjunto claro de

especificaciones del producto para los requerimientos del cliente, as como


las limitaciones ambientales e intenciones de diseo, estn correctamente
reflejadas, lo que reduce las posibilidades insercin de errores accidentales.
Verificacin formal comprueba la conformidad de diseo de software o
cdigo contra estas especificaciones formales, garantizando as que el
software est libre de errores con respecto a sus especificaciones formales.

El mtodo oficial ms antiguo y ms influyente es el enfoque


axiomtico. En este enfoque, el "significado" de un elemento de
programa o la interpretacin formal de los efectos de su ejecucin se
resumieron en un axioma. Reglas y axiomas adicionales se usan para
conectar diferentes piezas. Un conjunto de condiciones formales que
describe el estado del programa antes de su ejecucin llamado pre
condiciones y el conjunto despus de la ejecucin del programa
llamados pos condiciones. Este mtodo comprueba que un
determinado programa satisfacen las precondiciones y

postcondiciones
Otras tcnicas de verificacin formal influyentes incluyen la
transformacin de predicados basado en ideas de condicin ms
dbiles (Dijkstra, 1975; Gries, 1987), y clculo de programa o enfoque
funcional basado en funciones matemticas y ejecuciones simblicas
(Mills et al, 1987a). Las ideas bsicas son similares al enfoque

axiomtico, pero los procedimientos de pruebas son algo diferentes.


Varios otros limitado alcance o tambin existen tcnicas
semiformales, que compruebe para determinadas propiedades en
lugar de probar la correccin completa de programas. Por ejemplo,
tcnicas control de modelo estn ganando popularidad en la
comunidad de investigacin de ingeniera de software (Ghezzi et al.,
2003). Varios mtodos semiformales basados en formularios o tablas,
como (Parnas y Madey, 1995), en lugar de lgica formal o funciones

matemticas, han encontrado tambin aplicaciones importantes.


Hasta ahora, el mayor obstculo para mtodos formales es el alto
costo asociado con la difcil tarea de llevar a cabo estas actividades
intensivas humanas correctamente sin suficiente apoyoautomatizado.
Este hecho tambin explica, en un grado, la creciente popularidad de
alcance limitado y enfoques semiformales.

También podría gustarte