Tenemos una misión imposible: Modificar un sistema antiguo. Para eso he decidido utilizar la ingeniería inversa como un método simple para aclarar el funcionamiento de la aplicación.
El objetivo de la ingeniería inversa es lograr conocer el diseño de un programa basado en los resultados que produce o en el proceso que sigue. En esta publicación vamos a analizar el caso de un sistema que no ha tenido mantenimiento en año y no se conoce su funcionamiento.
Pasos generales para automatizar el proceso.
1. Escribir las pruebas de test, paso a paso con Selenium, AutoIT o similar.
2. Preparar un script que haga un conteo de las tablas del sistema.
En esta primera etapa se obtiene el movimiento realizado en las tablas por cada paso del TEST.
Pasos de auditoría
3. Revisar cada tabla modificada buscando fechas de actualización o fechas de inserción.
El objetivo es reconocer las actualizaciones en los datos
Resumen
4. Resumir los pasos generales y los movimientos en tabla
Interpretación
Interpretar los datos, buscar el patrón de trabajo del sistema y el modelo que utiliza. Lo sistemas complejos tienen diversas capas de datos y servicios que deben acompañarse con este proceso de ingeniería inversa.
0 comentarios
Publicar un comentario