Este muerto está muy vivo

Es muy posible que todos hayan oído hablar de la polémica iniciada por Alberto Savoia y James Whittaker con el motto “Test is Dead”. La primera referencia que tuve sobre este tema fue el vídeo de la conferencia, extremadamente interesante y amena, que Savoia dio en el GTAC (Google Test Automation Conference) del año 2011. Para los que no la hayan visto, Alberto proclama que estamos en la era que él denomina “post-agile”, caracterizada porque las empresas buscan productos de software que tengan éxito utilizando ciclos de desarrollo muy cortos, entregas muy frecuentes y midiendo la respuesta de los usuarios ante las características del software.

Read more

Sobre la deuda técnica, las pruebas de software y su automatización

Siempre aprendo muchísimo cuando contacto por primera vez o visito empresas de desarrollo de software. En ocasiones me maravillan con una versión propia de Scrum en la que, respetando los fundamentos, hacen adaptaciones imaginativas que nunca se me habrían ocurrido y a ellos les funcionan. Algunas desarrollan magníficos productos para miles de clientes y trabajan animosamente día a día sin haber necesitado nunca hacer documentación. Cuando puedo, me encanta revisar con calma los tableros Kanban y las historias de usuario. En algunos casos te llaman preocupados porque no están seguros de estar produciendo software con la suficiente calidad, porque han detectado un incremento en los reportes de fallos que empiezan a desbordarles o porque temen lo que pueda suceder ante un importante cambio de diseño.

Read more

Fallos en la validación del DNI: el caso de la Infanta Cristina

 jose garcia faijulRecientemente se ha conocido a través de los medios de comunicación que, aparentemente, en los sistemas de información de Hacienda se relacionaba el DNI de la Infanta Doña Cristina (00000014Z) en operaciones de compra y venta de fincas en las que ella nada había tenido que ver [1]. Al intentar buscar una explicación al fallo de los sistemas de información tributaria, se han encontrado situaciones similares en diferentes sistemas como, por ejemplo, el que gestiona los concursos de personal del Servicio Extremeño de Salud. Este segundo sistema habría incluido en la notificación oficial de excluidos en un concurso tanto el DNI de la Infanta Cristina como el de la Reina Sofía (00000011B). Asimismo, el sistema habría incluido en la lista publicada que el motivo de exclusión de estas dos concursantes era la “falta de DNI”. ¿Por qué pueden estar sucediendo este tipo de fallos? La explicación que se da en la Junta de Extremadura, recogido en un artículo de eldiario.es [2], resulta bastante esclarecedora:

“La base de datos informática que se utilizaba para procesar las solicitudes exigía que, aunque el solicitante no lo hubiera aportado, se cumplimentara el campo “DNI”, introduciendo un número y una letra”. Por ello, el personal de la Administración tenía que introducir “un número aleatorio, elegido entre los más bajos para evidenciar que se trataba de un número incorrecto”.

¿Qué podríamos hacer, como profesionales de desarrollo de software o testers, para evitar estos problemas con la validación de campos como el DNI?

En primer lugar debemos examinar con detalle en cada una de las funcionalidades que desarrollamos o probamos si realmente todos los campos que se están implementando como obligatorios deben ser obligatorios. En el caso del sistema de gestión de concursos parece claro que si uno de los motivos de exclusión es que falte el DNI, en el manejo de la pantalla en la que se introduce esa información se tiene que dar la posibilidad de que el funcionario no rellene ese campo.

Desde otro punto de vista, sin embargo, podría considerarse que si se define como opcional un campo como el DNI, eso puede también llevar a errores porque el usuario introduzca información en el sistema obviando por descuido introducir ese dato. En diferentes procedimientos administrativos como el que se menciona el hecho de no haber presentado el DNI se considera un motivo de exclusión. Por tanto parece lógico y necesario intentar detectar, si es posible, que haya descuidos al cargar la información del DNI en el sistema. Una solución intermedia podría ser que el sistema de gestión de concursos tras determinar que el usuario no ha introducido el DNI, trate de confirmar si se trata de un error con un mensaje de confirmación. El usuario indicaría entonces si realmente no se ha aportado el documento o si, por el contrario, se trata de un descuido y se debe volver a la pantalla para realizar la pertinente corrección.

Por último y respecto al DNI, obviamente en el desarrollo y la prueba de sistemas siempre debe contemplarse la posibilidad de que la persona sobre la que se está introduciendo información, simplemente, no tenga DNI. Ese puede no ser el caso en la gestión de concursos a los que sólo puedan presentarse ciudadanos españoles adultos, pero en otras funcionalidades habrá que contemplar la posibilidad de que, por ejemplo, la persona sobre la que se recoge información sea un menor o una persona extranjera.

[1] Hacienda achaca a un error con el DNI de la Infanta el enredo de las fincas. http://politica.elpais.com/politica/2013/06/18/actualidad/1371556154_120291.html

[2] Tres razones que explicarían el misterio del DNI de la infanta. http://www.eldiario.es/politica/Administracion-atribuye-distintos-ciudadanos-DNI_0_144886195.html

Más información:

José García-Fanjul
Profesor de la Universidad de Oviedo

Email: jgfanjul@uniovi.es

Twitter: @jgfanjul

Retos en la prueba de software basado en servicios

Las arquitecturas orientadas a servicios tienen ventajas indudables para el desarrollo y mantenimiento de software, lo que ha provocado un enorme interés y grandes inversiones en la industria en los últimos años. Entre dichas ventajas cabe destacar la posibilidad de construir aplicaciones complejas componiendo servicios preexistentes ofrecidos por terceras partes o la capacidad de definir y utilizar servicios para facilitar la integración de sistemas en entornos empresariales. Read more