Guia y Explicación de la Matriz de Deteacción de Errores

Anuncio
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
MATRIZ DE DETECCIÓN DE ERRORES.
Grupo Geoportales y Geoservicios
Infraestructura Colombiana de Datos Espaciales - ICDE
Centro de Investigación y Desarrollo en Información Geográfica - Oficina CIAF
Instituto Geográfico Agustín Codazzi - IGAC
2008
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
1
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
INFORMACIÓN DEL DOCUMENTO
Titulo. Matriz de Detección de Errores.
Autor. Fabián Acevedo,
Fecha de emisión.
Tema.
Editor.
Descripción.
Participaron.
Formato. Doc
Público.
No. de identificación. ICDE-GS-DOC-por definir
Idioma. Español
Vigencia. 2008
Versión
Fecha
Modificado por
Comentarios
1.0
2008
Fabián Acevedo.
Primera Versión
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
2
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
Matriz de Cambios Año________
Numerales en los cuales la información es modificada de un modo significativo de lo que fue elaborado
en la versión inmediatamente anterior.
Numeral modificado
Tipo de cambios
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
3
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
TABLA DE CONTENIDO
MATRIZ DE DETECCIÓN DE ERRORES. ........................................................................................................................... 1
INFORMACIÓN DEL DOCUMENTO ................................................................................................................................ 2
TITULO. MATRIZ DE DETECCIÓN DE ERRORES. .............................................................................................................. 2
TABLA DE CONTENIDO ................................................................................................................................................. 4
1
ERRORES DE CÓDIGO ........................................................................................................................................... 8
1.1
1.2
1.3
1.4
1.5
1.6
2
ERRORES EN LOS LÍMITES............................................................................................................................................ 8
ERRORES EN LOS CÁLCULOS ........................................................................................................................................ 9
ERRORES EN LOS ESTADOS INÍCIALES Y FINALES ............................................................................................................. 10
ERRORES EN EL FLUJO DE CONTROL ............................................................................................................................ 11
ERRORES EN EL MANEJO E INTERPRETACIÓN DE LOS DATOS.............................................................................................. 12
ERRORES EN LAS CONDICIONES DE COMPETICIÓN .......................................................................................................... 12
ERRORES DE INTERFAZ DE USUARIO .................................................................................................................. 13
2.1
FUNCIONALIDAD .................................................................................................................................................... 13
2.2
COMUNICACIÓN ..................................................................................................................................................... 14
2.2.1 La información no está disponible en la pantalla. ......................................................................................... 14
2.2.2 La información es incorrecta, confusa o engañosa. ...................................................................................... 14
2.2.3 Ayuda y mensajes de error ............................................................................................................................ 14
2.2.4 Visualización de la pantalla ........................................................................................................................... 15
2.2.5 Distribución de la pantalla ............................................................................................................................ 15
2.3
ESTRUCTURA Y ENTRADA DE COMANDOS ..................................................................................................................... 15
2.3.1 Inconsistencia ................................................................................................................................................ 15
2.3.2 Pérdida de tiempo ......................................................................................................................................... 15
2.3.3 Menús............................................................................................................................................................ 15
2.3.4 Líneas de comandos ...................................................................................................................................... 16
2.3.5 Uso inapropiado del teclado ......................................................................................................................... 16
2.4
COMANDOS AUSENTES ............................................................................................................................................ 16
2.4.1 Transición de estados .................................................................................................................................... 16
2.4.2 Prevención de desastres ................................................................................................................................ 16
2.4.3 Manejo de errores por el usuario .................................................................................................................. 16
2.4.4 Otros fallos .................................................................................................................................................... 17
2.5
RIGIDEZ DEL PROGRAMA .......................................................................................................................................... 17
2.5.1 Adaptación a la medida del usuario .............................................................................................................. 17
2.5.2 Control sobre el usuario ................................................................................................................................ 17
2.6
RENDIMIENTO ....................................................................................................................................................... 17
2.7
SALIDA ................................................................................................................................................................. 18
3
ERRORES DE SOBRECARGA ................................................................................................................................. 19
4
ERRORES EN EL HARDWARE ............................................................................................................................... 20
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
4
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
5
ERRORES EN LOS FUENTES, VERSIONES Y EN EL ID DE CONTROL ........................................................................ 22
6
ERRORES EN LA PRUEBA ..................................................................................................................................... 23
6.1
6.2
6.3
6.4
7
ERRORES QUE NO SE DETECTAN ................................................................................................................................. 23
ERRORES QUE NO ESTÁN EN EL PROGRAMA .................................................................................................................. 23
BAJA CALIDAD DE LOS INFORMES ............................................................................................................................... 24
BAJA CALIDAD DE LAS TRAZAS Y DEL SEGUIMIENTO DE LOS ERRORES ENCONTRADOS ............................................................. 24
ERRORES EN EL MANEJO DE ERRORES ................................................................................................................ 24
7.1
7.2
7.3
PREVENCIÓN DE ERRORES......................................................................................................................................... 24
DETECCIÓN DE ERRORES........................................................................................................................................... 25
RECUPERACIÓN DE ERRORES ..................................................................................................................................... 25
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
5
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
Tabla 1. Instituto Geográfico Agustín Codazzi. Matriz de detección de errores. Metodología de Desarrollo de Software.
Nombre de proyecto o programa
Versión
Hallazgo
Corrección
Tipología de errores
Descripción
Gravedad
de error
Fecha de reporte:
DD/MM/AAAA
Numero de informe:
Diligencio
Personal
asignado para
corrección
Observaciones
Medidas
correctivas
Estado
Fecha de corrección:
DD/MM/AAAA
Errores en los límites
Errores en los cálculos
Errores en los estado iníciales y finales
Errores de
código
Errores en el flujo de control
Errores en el manejo e interpretación de
los datos
Errores en las condiciones de competición
Otros
Funcionalidad
Interfaz de
usuario
Comunicación
Estructura y Entrada de Comandos
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
6
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
Comandos Ausentes
Rigidez del programa
Rendimiento
Salida
Errores de sobrecarga
Errores en el Hardware
Errores en las fuentes, versiones y en el ID de control
Errores que no se detectan
Errores que no están en el programa
Errores en la
prueba
Baja calidad de los informes
Baja calidad de las trazas y del
seguimiento de los errores encontrados.
Prevención de errores
Error en el
manejo de
errores
Detección de errores
Recuperación de errores
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
7
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
La presente matiz de detección de errores busca otorgar a desarrolladores y actores que tienen a su
cargo el desarrollo de pruebas, dar una herramienta funcional para el registro de las mismas.
La documentación consultada para el presente documento es del Grupo de Ingeniería del Software y
del
Conocimiento
de
la
Universidad
de
las
Palmas
de
Gran
Canaria.
http://serdis.dis.ulpgc.es/~a013775/asignaturas/it-pms/Apuntes
1 Errores de Código
1.1 Errores en los límites
Un programa debe comportarse de la misma forma para cualquier valor que esté dentro del límite y de
forma diferente para cualquier valor que esté fuera del mismo. Existen tres tipos de errores: errores
causados por no contemplar los casos límites, errores al no ser correctos los límites y errores por no
contemplar los casos que están fuera de los límites.

Cuando los límites son numéricos hay que tener en cuenta si son arbitrarios, esto es, entre 20 y 40
caracteres, o si representan límites naturales, 3 caracteres.

Cuando los elementos de una lista son iguales la igualdad constituye un límite, hay que tener en
cuenta qué cosas no se pueden hacer y cómo responder ante la demanda de las mismas.

Cuando existen límites en la cardinalidad, si se pueden introducir hasta 5 dígitos ¿qué ocurre si se
introducen 6, y 4, ninguno o 1.

Cuando se establecen límites espaciales, si dibujamos un gráfico y lo rodeamos con un recuadro
¿qué ocurre si se quiere sacar un punto del gráfico fuera del recuadro?.

En los límites temporales, ¿qué ocurre si introducimos un dato antes de que el programa nos de
tiempo para introducirlo? ¿y si lo introducimos justo en el instante de tiempo que concluye el plazo
que tenemos para introducirlo?.

Los límites en los bucles pueden ser inferiores, superiores o ambos.

Los límites de la memoria, cantidad de memoria más grande y más pequeña que puede ocupar un
programa.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
8
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L

Los límites dentro de las estructuras de datos esto es, cuando el programa no puede leer de disco el
primer registro ni el último, cuando no se marca correctamente el final de un fichero ni el comienzo
del siguiente, cuando hay dos campos del registro –identificadores repetidos.

Los límites relacionados con el hardware: qué ocurre cuando un disco está lleno, cuando se alcanza
el límite de ficheros en un directorio.

Cuando los límites son invisibles, ¿qué ocurre cuando se alcanza un límite que no es visible y del que
nunca podríamos darnos cuenta?.
1.2 Errores en los cálculos
Si un programa realiza un cálculo y obtiene un resultado incorrecto las razones pueden ser que la lógica no
es correcta, que la aritmética es incorrecta o que el cálculo es impreciso.
El uso de constantes que no estén actualizadas en el código.

Errores de cálculo al confundir el signo de la operación a realizar o el orden de los operadores.

Fallos al usar el paréntesis de forma incorrecta.

Cuando el programa evalúa una expresión en un orden que no es el que esperaba el programador.

Fallos al interpretar una función.

Fallos debidos a posibles desbordamientos y defectos.

Errores de cálculo que se producen cuando el programa trunca o redondea un número (se introduce
5,19 y el programa como sólo puede guardar dos dígitos 5,1 lo trunca en lugar de hacer un
redondeo a 5,2).

Confundirse en el formato de representación de los datos (qué ocurre si una vez se usa un formato y
otra vez se usa otro).

Error en la conversión de formatos.

Fallos debidos a fórmulas excesivamente complejas.

Fallos debidos al uso en el programa de fórmulas y procedimientos que no sean correctos.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
9
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
1.3 Errores en los estados iníciales y finales
Antes de usar una función el programa tiene que inicializarla. Los pasos típicos de inicialización son:
identificar las variables de la función, definir sus tipos, localizar espacio de memoria para las mismas y
ponerla a algún valor por defecto (p.ej. 0). El programa leerá un fichero de disco que contiene los valores
por defecto y otra información de configuración, pero ¿qué ocurre si el fichero no está?. Los pasos de
inicialización deben hacerse cuando se carga el programa, cuando arranca, cuando se llama por primera vez
a una función o cada vez que se llame a una función.

Fallo al suponer que un elemento de dato se pondrá a cero en todos los casos de forma automática,
ya que en muchos compiladores en muchos lenguajes es así mientras no se diga lo contrario.

Fallo al no inicializar la variable de control de un bucle. La variable de control indica el número de
veces que debe ejecutarse el conjunto de instrucciones que están dentro del bucle; cuando se
alcanza ese valor se deja de iterar debiéndose resetear si se desea que se vuelva a entrar en dicho
bucle.

Fallo al no inicializar o reinicializar un puntero. Una variable de tipo puntero almacena una
dirección, tal como la localización en memoria donde comienza una “string”. El valor del puntero
puede cambiar y si el programador olvida resetear el puntero después de cambiarlo éste apuntará a
un lugar incorrecto. Si se visualizan fragmentos de una “string” o elementos de un “array” que no
son los que se deberían visualizar esto se deberá a errores en los punteros.

Fallo al borrar una “string”. Una variable de tipo “string” almacena un conjunto de caracteres. Antes
de usarse estará vacía (con ceros) y cuando contiene algún valor se sustituyen los ceros por los
elementos correspondientes. Si cuando cambia el valor de la variable no se ponen a cero los
elementos que antes contenían algún valor y que ahora no tienen ningún valor se producirá un
error.

Fallo al inicializar o reinicializar los registros. Los registros son áreas especiales de memoria en la
CPU. Los datos se pueden manipular de forma más rápida si están almacenados en registros que
están almacenados en memoria normal. Los programas usan estos registros como almacenamientos
temporales dada la rapidez que permiten. Se copian los valores de las variables a estos registros, se
trabaja con ellos y se devuelven los nuevos valores. Es fácil olvidarse de cargar los últimos datos en
uno de estos registros.

Fallo al desactivar un “flag”. Son variables que indican condiciones especiales. Puede estar activado
o desactivado. Lo normal es que estén desactivados. El “flag” debe estar siempre actualizado.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
10
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L

Fallo al suponer que los datos se inicializaban en otra parte. Una función puede no tener que
inicializar todos sus datos. Variables compartidas por diferentes funciones deben ser inicializadas
conjuntamente.

Fallo al reinicializar. Un programador puede olvidarse de que las variables de una función no
tengan los valores correctos la segunda vez que se ejecute. Si la primera vez no se tiene que
especificar el valor porque es cero, la segunda vez, el programador puede dar por hecho que
tampoco tendrá que hacerlo.

Fallo al suponer que los datos no estaban reinicializados. Los programas inicializan las variable
repetidamente; esto produce pérdida de tiempo.

Confusión entre almacenamientos estáticos y dinámicos. Una variable local es dinámica cuando
cada vez que se llama a la función hay que redefinir la variable, disponer de memoria y asignarle un
valor inicial. Las variables estáticas se mantienen en memoria y mantienen su valor durante todas
las llamadas a la función. En algunos lenguajes todas las variables locales son estáticas, en otros son
dinámicas y en otros se puede elegir entre estáticas y dinámicas; esto último puede provocar
errores si no se tienen en cuenta las precisiones anteriores.

Cuando se modifican los datos por efectos laterales.

Cuando la inicialización no es correcta.

Cuando existe dependencia de herramientas de las que el usuario no dispone o dependencia de
cosas que el usuario no comprende.
1.4 Errores en el flujo de control
El flujo de control de un programa describe lo que éste debe hacer bajo determinadas circunstancias. Los
errores en el flujo de control se producen cuando lo próximo que hace el programa no es correcto.

Si programa hace disparates, como mostrar basura en la pantalla, guardar basura en disco, imprimir
sin parar o ir a donde no tiene que ir.

Cuando el programa se para sin tener que hacerlo ya que no está diseñado para que se detenga en
ese momento.

Errores en los bucles al no existir la condición de terminación de bucle, cuando el valor de comienzo
para la variable de control no es el correcto, cuando se cambia accidentalmente el valor de la
variable de control dentro del bucle, cuando el criterio de final de bucle no es correcto, si se dan
anidamientos de bucles que no son correctos.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
11
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L

Errores en las cláusulas “Si”, “entonces”, “sino”: cuando la desigualdad es incorrecta “> en lugar de
>= “, las comparaciones producen resultados incorrectos, se confunde el “or” exclusivo con el “or”
inclusivo, no se introducen los comandos dentro de las cláusulas correspondientes o al introducir un
comando dentro de una cláusula cuando no debe estar dentro de ninguna para que se pueda
ejecutar siempre.

En los casos múltiples “case”, “select”, que no se pueden cubrir con la cláusula “if” puede ser que se
olvide algún caso, que algún caso sea imposible, o que haya solapamiento.
1.5 Errores en el manejo e interpretación de los datos
Son errores que se producen en el paso de datos entre módulos o porque se corrompen los datos o se
interpretan de forma incorrecta produciendo errores más graves.

Fallos en los datos que se pasan entre procedimientos debido a que los tipos no son correctos, a
que se olvida algún parámetro o a que se pasan desordenados, también cuando no se comprenden
los valores de los datos que se pasan, las copias de datos no están puntualmente actualizadas, la
información de error no es adecuada, usar variables locales como si fueran globales.

El programa usa direcciones incorrectas de comienzo y finalización de un conjunto de datos.

El programa leer fuera de los límites de un “buffer” de mensaje debido que la dirección o la longitud
del “buffer” que se obtiene es incorrecta.

Problemas en el paso de mensajes entre procesos.

Los procesos pueden corromper almacenamiento de datos al poner valores erróneos en los mismos.
1.6 Errores en las condiciones de competición
Son errores que se producen cuando dos eventos que se espera se produzcan en un orden determinado lo
hacen en un orden diferente que no era el previsto. También cuando se esperan respuestas en intervalos de
tiempo que no son los adecuados.

Dos procesos que actualizan un dato que está en disco; uno tiene que esperar a que el otro haya
terminado de efectuar completamente la actualización para poder llevar a cabo su actualización
correctamente y no espera.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
12
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L

Suponer que un evento o tarea ha finalizado antes de que otra comience.

Suponer que no se va a producir una entrada durante un intervalo de procesamiento pequeño.

No considerar que los recursos compartidos puedan no estar disponibles.

Suponer que una persona, dispositivo o proceso responderá rápidamente.

Opciones fuera de sincronización durante un cambio de visualización.

Una tarea comienza antes de que sus prerrequisitos se hayan alcanzado.

Mensajes que se cruzan o que no llegan en el orden enviado.
2 Errores de Interfaz de Usuario
2.1 Funcionalidad
Son errores que se producen en el programa cuando éste no hace lo que debe hacer o lo hace pero de
forma incompleta, confusa o compleja.

La funcionalidad implementada es excesiva debido a la presencia de características que no se usan
casi nunca, y que complican el uso de las funciones básicas del programa.

La documentación que se distribuye al usuario no se corresponde con la funcionalidad realmente
implementada.

La funcionalidad no ayuda al usuario en la realización de su trabajo debido a que el programa es
lento, muy restrictivo o no está completo.

Una función que estaba en la especificación de requisitos no está implementada y además era obvio
que debía estarlo.

La función debería hacer lo que está especificado y hace algo más que no debería.

El usuario tiene que crear la funcionalidad que espera del sistema integrando las utilidades o
capacidades que proporciona el programa.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
13
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E

C E N T R A L
La función no tiene el comportamiento esperado.
2.2 Comunicación
Son errores relacionados con el uso del programa, con la información disponible desde el mismo, con la
cantidad de información, con la legibilidad de la misma y con la forma de expresarla. Se refieren a la utilidad
y precisión de la información que se presenta cuando se comete un fallo o se requiere ayuda, si está bien
presentada y si está completa.
2.2.1 La información no está disponible en la pantalla.
No se muestran instrucciones de uso en la pantalla, tener que depender de la documentación impresa,
existen características y comandos que no están documentados, hay estados de los que parece imposible
salir, no hay cursor, el programa falla al reconocer una entrada, no mostrar que una actividad está tardando
mucho tiempo puede hacer pensar que el sistema se ha bloqueado, no advertir cuando un cambio tiene
efecto puede provocar algún error, fallo al comprobar que un mismo documento ha sido abierto más de una
vez.
2.2.2 La información es incorrecta, confusa o engañosa.
Errores motivados por no actualizar la información que se muestra en pantalla cuando se modifica el
programa, errores de escritura, uso de simplificaciones imprecisas, uso de metáforas que no son válidas, uso
de nombres de características confusos, usar más de un nombre para la misma característica, sobrecargar
de información al usuario con información técnica innecesaria, no saber cuándo se graban los datos, la
modularidad que se aprecia desde el exterior es muy pobre.
2.2.3 Ayuda y mensajes de error
Los niveles de lectura no son apropiados, mensajes largos y complejos, uso de un tono inapropiado, la
información sobre cómo actuar ante un error no es la correcta, errores de contexto, fallo al identificar el
origen de un error, se prohibe el uso de un recurso sin dar explicaciones, informar de cosas que no son
errores puede hacer que se ignoren los mensajes de error.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
14
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
2.2.4 Visualización de la pantalla
Aparecen dos cursores en la pantalla, el cursor desaparece de la pantalla, el cursor se visualiza en un lugar
de la pantalla que no es correcto, el cursor se mueve fuera del área de entrada de datos, los datos no se
visualizan en la posición correcta, la pantalla no se borra completamente, fallos al tratar de resaltar parte de
la pantalla y cuando se desean eliminar dichos resaltes, la visualización es incorrecta o sólo parcial, los
mensajes se visualizan durante muy poco tiempo o durante demasiado tiempo.
2.2.5 Distribución de la pantalla
Falta de estética, errores en la distribución de los menús, errores en la visualización de las cajas de diálogo,
instrucciones escondidas, abuso de los destellos, abuso del color, fuerte dependencia de los colores,
inconsistencia con el estilo del entorno, dificultad para deshacerse de la información que está en la pantalla.
2.3 Estructura y entrada de comandos
Son errores que hacen que el usuario se pierda fácilmente en el programa.
2.3.1 Inconsistencia
Como consecuencia de las “optimizaciones” realizadas por los programadores se pueden presentar
inconsistencias en la sintaxis de los comandos, en el estilo de entrada de los comandos, en las abreviaturas
de comandos, en las reglas de terminación, al usar nombres similares para comandos diferentes, al escribir
en mayúscula la primera letra de sólo algunos comandos, al no mantener el mismo comando en la misma
posición cuando se encuentra en diferentes menús, al darle usos diferentes a una misma tecla de función en
el mismo programa, al no poder predecir el comportamiento de los manejadores de errores, en las reglas de
edición, en las reglas para grabar datos.
2.3.2 Pérdida de tiempo
Conducir al usuario a través de caminos de selección sin éxito, al incluir opciones de menú que no están
implementadas, al preguntar en exceso y en casos que no son necesarios si estamos realmente seguros de
hacer algo antes de que el programa lo haga, cuando los nombres de los comandos no son lo
suficientemente informativos y hay que estar consultando de forma continuada el manual de usuario.
2.3.3 Menús
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
15
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
Jerarquía de menú muy compleja, cuando la navegación a través de las opciones del menú no es adecuada,
cuando hay diferentes caminos que llevan al mismo sitio (un comando se repite en varios menús), cuando
se impide el uso de un conjunto de comandos una vez se ha tomado un camino diferente teniendo que
reiniciar el sistema, comandos relacionados que se relegan a menús que no están relacionados.
2.3.4 Líneas de comandos
Distinguir entre mayúsculas y minúsculas, parámetros invertidos, cuando no se permiten los nombres de los
comandos completos, cuando no se permiten las abreviaturas de los nombres de los comandos, cuando la
especificación del comando es muy compleja y debe hacerse en una línea, no permitir entradas en serie,
cuando los comandos no se pueden editar.
2.3.5 Uso inapropiado del teclado
Al usar las teclas de función, de edición y el cursor se producen fallos, cuando no se hace un uso estándar de
las teclas de edición, del cursor y de las teclas de función, fallos al filtrar las teclas que no son válidas, fallos
al indicar los cambios de estado del teclado, al examinar las teclas de función y de control y no reconocerlas
correctamente)
2.4 Comandos ausentes
Son errores causados por la ausencia de determinados comandos y utilidades en el programa.
2.4.1 Transición de estados
No poder decirle al programa que lo que se le ordenó fue un error y que vuelva al estado anterior, no poder
salir a la mitad del programa sin afectar a los datos que estaban almacenados antes de comenzar, no poder
parar el programa mientras se está ejecutando un comando, no poder hacer una pausa.
2.4.2 Prevención de desastres
No disponer de copias de seguridad, no permitir deshacer algo que se ha hecho, no preguntar si estamos
seguros de querer hacer algo, no permitir que se guarde el trabajo en intervalos regulares de tiempo.
2.4.3 Manejo de errores por el usuario
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
16
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
El usuario no puede especificar los tipos de datos que deben ser aceptados por el programa y los que deben
ser rechazados cuando se diseñan los formularios de entrada de datos, cuando se corrige un error se obliga
al usuario a salir del programa y volver a entrar para poder volver al lugar donde cometió el error, no poder
introducir comentarios o notas para referencias posteriores cuando se diseñan formularios para la entrada
de datos, cuando no se visualizan las relaciones que existen entre variables que son dependientes entre sí.
2.4.4 Otros fallos
Cuando la privacidad de los datos o la seguridad del programa no es la adecuada no pudiendo bloquear
ficheros para impedir el acceso a los mismos, una obsesiva seguridad cuando no es necesario, no poder
ocultar los menús para hacer un mejor uso del espacio de pantalla, no dar soporte a las características de un
sistema operativo estándar (si los ficheros se estructuran en subdirectorios no poder hacer referencia a
ficheros en otros subdirectorios), no permitir nombres largos de ficheros y de variables.
2.5 Rigidez del programa
Algunos programas son muy flexibles pudiéndose cambiar fácilmente aspecto de su funcionamiento y hacer
las tareas en el orden deseado. No obstante la rigidez puede tener sus ventajas; cuantas menos opciones
tenga el programa y cuanto más estructurado esté más fácil será de aprender.
2.5.1 Adaptación a la medida del usuario
No poder apagar los sonidos que se producen cuando se usa el programa y que pueden ser molestos para el
usuario, no poder desactivar la distinción entre mayúsculas y minúsculas, no poder adaptarlo al hardware
disponible, no poder cambiar la inicialización de un dispositivo y tener que hacerlo directamente en el
hardware, no poder desactivar la grabación automática, no poder efectuar desplazamientos hacia abajo
lentamente en la pantalla, no poder hacer lo que se hizo por último, no poder averiguar lo que se hizo por
última vez, fallo al ejecutar comandos que se hayan personalizado, fallo al guardar comandos
personalizados, efectos laterales cuando se producen cambios de las características del programa, fallos al
permitir que la personalización sea infinita.
2.5.2 Control sobre el usuario
Cuando se imponen estilos conceptuales al usuario organizando su trabajo de una forma determinada,
cuando el programa es amigable para los usuario inexpertos y hostil para los ya experimentados, preguntar
por información redundante o superflua, obligar a repetir pasos innecesariamente, imponer límites
innecesarios.
2.6 Rendimiento
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
17
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
El rendimiento es uno de los aspectos de uso más importantes de un programa. La velocidad es esencial en
un software interactivo.

El programa es muy lento debido a que hace cosas innecesarias, repite trabajo o comprende
decisiones de diseño que hacen que vaya más lento.

El programa no muestra en la pantalla las entradas que se van tecleando de forma simultánea,
permitiendo que se introduzcan muchos errores.

El programa puede reducir el rendimiento del usuario al tardar mucho tiempo en realizar sus tareas
con el programa.

La capacidad de reacción del programa es baja obligando al usuario a esperar sin que éste pueda
introducir el próximo comando.

El programa no permite que se teclee mientras esté ocupado.

El programa no avisa cuando una operación le va a llevar mucho tiempo.

No se informa del progreso, del trabajo realizado y de lo que queda por hacer.

Los tiempos muertos pueden ser demasiado largos y también demasiado cortos lo cual puede
provocar fallos en el programa.

El programa puede agobiar al usuario con llamadas de atención, preguntas y recordatorios
innecesarios que pueden ser muy molestos.

Los programas deberían proporcionar ayudas y gráficos que se pudieran obtener de forma rápida
sin causar irritación al usuario cuando éste disponga de recursos lentos.
2.7 Salida
Las salidas deberán ser tan completas como se deseen y legibles por el usuario o programa que deba
leerlas. Deben incluir lo que se quiera y en el formato deseado. Deben ir al dispositivo que se quiera.

Error al no salir ciertos datos.

El programa no permite redireccionar la salida, enviar primero algo que se quiere imprimir a un
fichero para luego, una vez editado, imprimirlo.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
18
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L

Un programa guarda datos en un formato que dice ser reconocible por otro programa y al final el
formato es incompatible.

No se pueden modificar los informes para presentar sólo la información que se necesita.

No se puede controlar el formato de la salida.

No se hacen redondeos en los datos de salida y se imprimen con un nivel de precisión absurdo.

No se puede controlar desde el programa el etiquetado de tablas o figuras.

No se puede controlar desde el programa el escalado de los gráficos.
3 Errores de sobrecarga
Los programas no se comportan correctamente cuando hay condiciones de sobrecarga. Todos los
programas tienen límites de carga. Son errores debidos a una demanda del programa que no prospera esto
es, cuando el programa intenta usar un nuevo dispositivo o almacenar más datos en memoria pero no
puede hacerlo.
El programa debe informar de que no se dispone de los recursos requeridos, que el disco está lleno, que no
se pueden almacenar más datos en memoria, que el dispositivo no existe, que el dispositivo no está
disponible, que la impresora está fuera de línea, que la impresora está sin papel, que no hay memoria
extendida, que la cola de mensajes está completa, que la cola de impresión está completa, que no está el
disco en el dispositivo, que el dispositivo de disco está fuera de servicio o que el directorio de disco está
completo.

No se retorna un recurso. Los programadores se aseguran de que sus programas obtienen los
recursos que necesitan pero no están tan concienciados de la necesidad de devolverlos cuando no
los necesitan. Ya que los programas no abortan por estar colgados durante mucho tiempo a un
recurso éstos se consideran errores menos urgentes. No indicar mediante el envío de una señal que
se ha terminado con un recurso o que falle dicho envío. No borrar viejos ficheros de
almacenamientos masivos. No indicar al gestor de memoria que se ha terminado con un segmento
de memoria para que sea asignada a otro proceso. Pérdida de tiempo cuando un proceso
comprueba eventos que no son posibles o que no son necesarios.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
19
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L

No se dispone de grandes áreas de memoria. En el paso de mensajes, en sistemas multiproceso, se
reserva una cantidad de memoria para asignarla a los buffers de mensajes para cualquier proceso.
Algunos buffers son largos otros sólo unos pocos bytes.

Un gran bloque de memoria se podría dividir en varios buffers pequeños; ¿qué ocurre si el
programa necesita un bloque de memoria mayor?

La profundidad de los “buffers” de entrada y colas no son suficientes. Se pierde mucha información
porque no hay espacio suficiente para depositarla. Cuando el proceso no puede procesar la
información la deposita en un buffer de entrada o en una cola para cogerlos más tarde, pero a veces
éstos no son suficientes.

No se borran los elementos de una cola, “buffer” o pila.

Se pierden los mensajes. Cuando se llega a los límites de capacidad de la cola de mensajes, qué
ocurre.

Cuando la carga es muy elevada se dispara el coste de rendimiento. El programa va más lento.


Cuando las tareas con baja prioridad no se pueden posponer cuando las condiciones de carga lo
requieren.
No se puede abreviar cuando las condiciones de carga son altas. Los procesos que generan muchas
salidas deberían posponer aquellas que nos sean relevantes.

No se reconocen las simplificaciones de los procesos.

Cuando las tareas de baja prioridad no se hacen nunca porque siempre se posponen.
4 Errores en el hardware
Son errores que se producen al enviar datos incorrectos a los dispositivos, al ignorar los códigos de error
que se devuelven o al intentar usar dispositivos que están ocupados o que no están.

Cuando el dispositivo es incorrecto; por ejemplo, se imprimen datos en la pantalla en lugar de la
impresora.

Cuando la dirección del dispositivo es incorrecta. El programa escribe los datos en un dispositivo
escribiéndolos en una(s) dirección(es) de memoria, luego la copia física de esta posición de memoria
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
20
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
al dispositivo la hace el hardware. El programa puede escribir los datos en una dirección de
memoria incorrecta.

Cuando el dispositivo no está disponible.

Cuando el dispositivo se retorna a un tipo de “pool” incorrecto. En sistemas multiproceso pueden
haber varias impresoras. Un programa puede usar una impresora del tipo A y cuando termina de
usarla retorna una señal de fin de uso, si el gestor de recursos marca como disponible una
impresora del tipo B se podrá producir un error.

Cuando se prohibe el uso de un dispositivo. Un programa que no tiene autorización para usar un
dispositivo debe reponerse ante la negativa.

Cuando la especificación del nivel de privilegio para un dispositivo es incorrecta.

Fallos de transmisión que se produce en el canal de comunicación utilizado para conectar el
programa con los dispositivos necesarios (impresora, modem..). Cómo detecta el programa el fallo,
qué hace para indicarlo o para corregirlo.

Fallos cuando la comunicación se viene abajo. Si dos procesos se están pasando datos a través de un
canal y se pierde la conexión. Cómo se reconoce la falta de conexión. Qué es lo que hacen ambos
procesos.
Fallo cuando el programa envía una señal a un dispositivo y no espera el tiempo suficiente para
obtener una respuesta del dispositivo. Cuando no se obtiene respuesta alguna, qué debe hacer el
programa.


Fallo cuando el dispositivo de almacenamiento está defectuoso. Algunos programas preguntan
cuando no encuentran la información esperada en el dispositivo, otros la buscan en otros
dispositivos y otros abortan.

Fallo al no comprobar el directorio del disco actual ni percatarse de los cambios que se hayan
podido producir. Se copia el directorio del disco la primera vez en memoria y no se vuelve a hacer a
menos que se indique lo cual provocará que se busque información en el
directorio inadecuado.


Fallo al no cerrar un fichero con el que se ha estado trabajando antes de salir del sistema. Los
ficheros se pueden destruir o corromper cuando se apaga el ordenador.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
21
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L

Fallo al encontrarse el programa con un final de fichero inesperado; qué hace si espera encontrarse
otro dato.

Errores en los sectores del disco y otros errores dependientes de la longitud.

Operaciones o códigos de instrucciones incorrectos.

Fallos cuando el programa no comprende el estado de un dispositivo ni los códigos de retorno.

Errores en el protocolo de comunicación con los dispositivos.

Infrautilización de la inteligencia de los dispositivos.

Fallos al ignorar los mecanismos de paginación o al no comprenderlos.

Fallos al ignorar los límites de rendimiento de los canales de comunicación.

Fallo al suponer que un dispositivo está o no está, o debería estar o no debería estar inicializado.

Fallo al suponer que las teclas de funciones programables están programadas correctamente.
5 Errores en los fuentes, versiones y en el ID de control
Es posible que reaparezcan antiguos problemas si el programador integra una versión vieja de una parte del
programa con las últimas versiones del resto de las componentes del programa. Hay que saber cuál es la
versión de cada componente del programa que se ha usado o cuál es la versión que se ha instalado al
usuario.

Se producen reapariciones misteriosas de antiguos errores que se identifican con versiones viejas de
algunas componentes del programa.

Cuando se repite el código en diferentes módulos del programa se puede producir un fallo al no
actualizar los cambios en todas las partes donde se repite el código.

Cuando se inicia un programa no hay identificación del programa, no hay título.

No hay identificador de la versión.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
22
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L

El número de versión que aparece en la pantalla de presentación es incorrecto.

Ausencia de mensaje de copyright o mensaje incorrecto.

Los fuentes archivados cuando se compilan no se corresponden con el código distribuido.

Los discos producidos no funcionan o contienen código o datos erróneos.
6 Errores en la prueba
Estos errores no están localizados en el programa son errores cometidos por los técnicos de prueba y están
entre los errores más comunes.
6.1 Errores que no se detectan
Fallo en la detección del problema (porque no se conoce la respuesta que se debe esperar al ejecutar el
caso de prueba, porque no se espera que se produzca el error durante la prueba, porque el técnico está
cansado y se despista, porque la prueba es compleja y se pierda atención a la salida).
Fallo en la lectura de la pantalla.
Fallo al no informar del problema encontrado.
Fallo al ejecutar el plan de prueba; porque es demasiado complejo, aburrido o está mal organizado.
Fallo al no usar el más prometedor de los casos de prueba.
Fallo por ignorar las sugerencias del programador.
6.2 Errores que no están en el programa
Errores en los programas que se utilizan para probar automáticamente el software.
Errores al usar ficheros de datos que estén corruptos.
Fallo al interpretar incorrectamente las especificaciones o la documentación.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
23
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
6.3 Baja calidad de los informes
Los informes son ilegibles.
No se reproduce el problema paso a paso.
No se dice claramente que un problema no se puede reproducir.
No se comprueban los informes una vez realizados.
Se intenta simplificar varias pruebas en un único caso de prueba y cuando se encuentra un error se pierde
mucho tiempo separando las pruebas para poder reproducir exactamente el error.
Se siembra el pánico al exagerar un error.
Se hace uso de un lenguaje abusivo.
6.4 Baja calidad de las trazas y del seguimiento de los errores encontrados
No se formaliza la tarea de informar a cerca de un error y seguirle la pista a los informes entregados por si
se traspapelan.
No se informa repetidamente de un error cuando se considera serio y no nos han hecho caso.
Confiar en que un error ha sido corregido sin realizar pruebas de regresión.
Fallo al no comprobar los errores que no han sido resueltos antes de distribuir el software.
7 Errores en el manejo de errores
Los errores en el tratamiento de errores son muy frecuentes. Comprenden errores en la anticipación a
posibles errores y en la protección frente a los mismos, fallos al no detectar condiciones de error y fallos al
no tratar de forma correcta los errores detectados.
7.1 Prevención de errores
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
24
INSTITUTO GEOGRÁFICO AGUSTÍN CODAZZI
S E D E
C E N T R A L
La comprobación del estado inicial no es la adecuada, la validación las entradas del usuario no es la
adecuada, la protección contra datos corruptos es insuficiente, no se realizan pruebas de paso de
parámetros entre procedimientos, cuando se instala una nueva versión el código no comprueba que todos
los ficheros necesarios estén actualizados a la última versión, protección insuficiente frente a un uso
indebido del programa.
7.2 Detección de errores
No realizar comprobaciones que detecten: condiciones de desbordamiento, valores imposibles, valores
poco convincentes, señalización de errores, fallos en el hardware o en las condiciones de error, y fallos
cuando se comparan datos.
7.3 Recuperación de errores
Fallo en la corrección automática de errores, fallo al no informar de un error aunque éste se pueda corregir
automáticamente, fallo al no señalizar un error cuando se retorna el control a la rutina que hizo la llamada,
fallo al no saber a dónde retorna el control cuando se detecta un error, fallo cuando se producen errores
que hacen abortar el programa, no es posible la recuperación cuando se producen fallos en el hardware,
tener que reiniciar el sistema cuando el programa nos pide un disco que no está disponible.
B O G O T Á
D . C .
Carrera 30 N° 48-51 Conmutador 3694000 -3694100 Fax 3694098 Información al cliente 3683443 – 3694000 Ext. 4674 web: www.igac.gov.co
Sistema Gestión de Calidad Certificado
25
Descargar