Está en la página 1de 5

Pruebas, Mantenimiento y Auditoría del Software

Todo sistema de software de calidad antes de ser puesto en producción debe probarse para
asegurar que todas las operaciones se realizarán correctamente, luego durante su vida
debe dársele mantenimiento a sus bancos de datos y al código del mismo para hacerlo mas
eficiente y veloz sumado a ello cada cierto tiempo debe auditarse para estar seguros que
los datos son consistentes o si alguien no está manipulando el mismo de forma maliciosa.

Pruebas del Software


Es una serie esencial de pasos que ayuda a asegurar la calidad del eventual sistema de
software que consiste en descubrir errores desconocidos hasta ahora además de demostrar
la imperfección de los programas.

Las pruebas se hacen durante todo el proceso de desarrollo de


sistemas, no sólo al final

Es importante señalar que nunca debe asumirse que hay software perfecto, siempre habrá
alguna manera de mejorarlo o corregir ciertas particularidades que pueden hacer que la
operación del mismo sea más rápida y mejor.

El no hacer pruebas apropiadas impide la detección de fallas críticas en el software, dichas


fallas pueden traducirse en accidentes que le pueden costar la vida o el trabajo al alguien.

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)


El hecho de hacer pruebas al software implica ver las operaciones desde todas las
perspectivas, hacerse preguntas como:

 ¿Qué pasa si dejo este campo en blanco?


 ¿Qué pasa si en un campo para números ingreso caracteres (letras o símbolos)?
 ¿Qué pasaría si ingreso una fecha como Mes, Día y Año en lugar de Año, Mes día?
 ¿Qué va a ocurrir si se desconecta el cable de red o se cae la comunicación durante
un proceso de cierre?
 ¿Si es una venta que pasaría si se acaban los inventarios de un producto y sigo
vendiéndolo?
 Si el usuario omite ciertos valores cruciales para un cálculo: ¿Qué pasaría con el
resultado del mismo?
 ¿Realmente en la base de datos se están almacenando los datos tal y como los
capturé en el formulario?
 ¿Se están almacenando los datos capturados en el formulario en el campo
correspondiente en la tabla de la base de datos?
 ¿Que va a pasar si mi aplicación WEB se utiliza en distintos navegadores de Internet?
Por ejemplo ¿Se va a comportar igual si se utiliza en Internet Explorer o en Google
Chrome? ¿Podría fallar si la utilizan desde un navegador WEB de algún teléfono
celular o desde un Tablet?

Y dependiendo del software que se esté desarrollando estas preguntas van a tener
muchísimas variantes y surgirán nuevas.

Nunca distribuya un software si no sabe que va a pasar si los usuarios


ingresan tipos de datos no esperados y tampoco vaya a implementar
un software que almacene de forma errónea la información al ocurrir
una pérdida de conexión a la red local, por ejemplo un software que si
ocurre un error de comunicación al hacer una factura la almacene
incompleta en lugar de deshacer dicho cambio (Rollback).

Tipos de Pruebas
1. Prueba de vínculos con datos de prueba: cuando se desarrolla software modular,
este tipo de prueba se usa para verificar si los datos se almacenan de forma correcta
entre los módulos.
2. Prueba completa de sistemas con datos de prueba: Se realizan pruebas de todas las
operaciones del sistema con datos hipotéticos (datos que pueden ser). Se busca
analizar todas las posibilidades inclusive aquellas que se crean remotamente
posibles.

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)


3. Prueba completa de sistemas con datos reales: Se prueba todo el sistema con datos
verdaderos, se toma a empleados que hacen operaciones del día a día y se les pide
que reproduzcan situaciones que ellos han vivido en el pasado.

Mantenimiento del Sistema


La mayoría de sistemas de software durante su vida útil necesitan ser optimizados y sus
bancos de datos deben pasar por diversas actividades para mejorar su desempeño, otras
actividades son destinadas a asegurar la continuidad del software y evitar un potencial fallo
o evitar errores críticos y pérdida de tiempo; a estas actividades se les conoce como
mantenimientos.

El Mantenimiento es el proceso de mejora y optimización del software


después de su entrega al usuario

Técnicas más comunes de mantenimiento de sistemas


1. Actualización
Tienen que ver con la revisión del código fuente y las bases de datos de un sistema
para encontrar potenciales mejoras o agregar nuevas funcionalidades a los mismos y
de paso corregir errores por medio de parches.
2. Optimización
Consisten en mejorar el rendimiento y el tiempo de respuesta de los programas, las
prácticas mas conocidas son:
 Desfragmentación: tiene que ver con ordenar los paquetes de bytes que
contienen la información almacenada por un software, este ordenamiento
permite que el motor de datos del sistema pueda encontrar de forma más
rápida un registro.
 Re-Indexación: Un índice es aquel que hace único a un registro, pero cuando
se eliminan datos o se insertan datos en una tabla es posible que los índices
queden haciendo referencia a registros que ya no existen por lo tanto esta
actividad tiene como objetivo deshacerse de las referencias a información
inexistente y de paso ordenar correctamente las referencias a registros que si
existen.
 Traslado de datos históricos: muchos motores de bases de datos suelen
volverse lentos al tener almacenada toda la información en una misma tabla.
Una práctica muy conocida es le hecho de mover los datos que ya son
considerados viejos a una tabla con una estructura similar a la tabla original, y
en la tabla original solo se dejan los datos del día a día de por ejemplo un mes
de antigüedad.

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)


Reducir el espacio desperdiciado en las bases de datos es una forma de mejorar su
rendimiento.

Auditoría de Sistemas
Se refiere a pedirle a un experto, que no esté involucrado en crear o usar un sistema que
examine la información para determinar su fiabilidad.

Las auditorías de software hoy en día se han vuelto una


necesidad grande para las empresas debido a que los
dueños de las mismas no pueden estar pendientes de todo
el proceso operativo de las mismas y debido a que el
conocimiento de las bases de datos esta en manos de
pocas personas es necesario asegurarse que no están
ocurriendo situaciones de manipulación de información para cometer robos.

Tipos de Auditores
1. Internos: están contratados como empleados a tiempo completo en la organización,
estos deben velar día a día porque la información que se recoge en el sistema es
correcta y concuerda con las operaciones.
La desventaja de los auditores internos es que establecen lazos de amistad con los
demás empleados y por lo tanto pueden llegar a viciar sus juicios o pueden llegar a
formar parte del problema.
2. Externos: son personas que se contratan por un tiempo definido como un servicio,
no forman parte de la planilla de empleados de la organización y tampoco tienen
relación alguna con sus empleados, este tipo de auditores son mas efectivos. Su
desventaja radica en el alto costo que estas representan.
No olvidar que no todas las personas tienen acceso a las bases de datos de un software y
por lo tanto se desconoce que ocurre ahí, los auditores de sistemas emiten su veredicto al

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)


respecto, detectan fallas e incluso detectan inconsistencias en las operaciones además de
que pueden encontrar si están ocurriendo robos.

La mayoría de las organizaciones audita para conocer si hay diferencias entre lo que se
recauda según el sistema y lo que se recauda en efectivo real

En conclusión podemos decir que la auditoria de sistemas es un


proceso sistemático, independiente y documentado para obtener
evidencias y evaluar de manera objetiva con el fin de determinar la
extensión en que se cumplen los objetivos de la organización.

Material facilitado por Ing. Gerardo Josué Portillo (gerardo.portillo@uth.hn)

También podría gustarte