Testeo de aplicaciones cliente/servidor: el aburrimiento imprescindible

Las universidades forman grandes expertos en sistemas de información, pero parecen haber olvidado un aspecto clave como es el de testear las aplicaciones -especialmente las dirigidas al mundo cliente/servidor- a medida que éstas se van desarrollando, evitando así fallos críticos cuando el desarrollo está completo.

Para un departamento de sistemas de información, testear aplicaciones cliente/servidor puede no ser una tarea apasionante. Además de caracer de interés para los desarrolladores, analizar las aplicaciones es un trabajo que requiere mucho tiempo, es tedioso y está lejos de ser barato.

A pesar de esta enumeración de aspectos negativos, el testeo de aplicaciones cliente/servidor es más sencillo y menos costoso que tener que parchear las carencias de ese software una vez desarrollado.

Y si, además, se trata de aplicaciones críticas, el testeo de las mismas puede ser la pieza clave que delimite la frontera entre el éxito empresarial o el más absoluto de los fracasos.

Debido a todo esto, las corporaciones están comprobando metódicamente sus aplicaciones tan celosamente como las construyen.

Además, continúan apareciendo todo tipo de herramientas que automatizan los aspectos más tediosos del testeo. De cualquier forma, y con un poco de creatividad, este proceso puede ser eficiente y efectivo.

Tal y como muchas compañías han aprendido, el desarrollo para el mundo cliente/servidor implica sistemas operativos, redes, constructores de aplicaciones e interfaces gráficos de usuario (GUIs).

Las herramientas de test automatizadas ofrecen normalmente una función capaz de grabar la interacción de un usuario con el GUI. La secuencia de entrada capturada, que puede ser editada, puede entonces ser vuelta a llamar para verificar que se ha producido la salida.

El proceso es muy simple, de forma que incluso los empleados con menor nivel de conocimientos técnicos dentro de un departamento de sistemas de información pueden adquirir cierta experiencia en la realización de estos test.

Estas herramientas, disponibles para aplicaciones DOS, Windows, OS/2 y Unix están directamente relacionadas con la creación de código optimizado, programas de mayor calidad y un proceso de desarrollo más eficiente. Asimismo, los errores humanos efectuados a lo largo de la repetición de las tareas son totalmente eliminados.

Por supuesto, los beneficios que estas herramientas aportan no son en absoluto baratos. El análisis de software cuesta al menos 1.500 dólares por licencia y las típicas configuraciones de análisis pueden elevarse hasta los 20.000 dólares.

A pesar de lo elevado del coste, es un hecho que las herramientas automatizadas continúan mejorando. SQA TeamTest, por ejemplo, emplea grabación orientada a objetos para compensar la impredecibilidad de los GUIs y ATF 3.0 puede comprobar varias estaciones de trabajo interactuando simultáneamente.

Aún así existe la opinión generalizada de que este tipo de herramientas debería ir más allá, comenzando su función desde el principio del ciclo de vida de una aplicación.

Una de las razones por las que estas herramientas no cubren las primeras fases del desarrollo de una aplicación se debe a que la mayoría de los departamentos de sistemas de información testean sus aplicaciones una vez finalizadas.

Esta tendencia está cambiando a medida que los responsables de estos departamentos han descubierto que pueden ahorrarse esfuerzos si la comprobación de las aplicaciones se realiza paralelamente a su desarrollo.

A pesar de que los test cada vez están más automatizados, los analistas aún tienen que dedicar tiempo a escribir los test que van a automatizar. Aunque esta tarea pueda parecer pesada, ofrece una gran oportunidad para desarrollar la creatividad del analista, imaginando las peores y más improbables causas que podrían malograr una aplicación cuando aún se dispone de cierto control sobre la situación.

Es necesario sacar partido de esta oportunidad, para evitar tener que enfrentarse a los problemas cuando éstos ya sean más complicados y no haya vuelta atrás.

Curiosamente, el elaborar test de análisis es una de las carencias más generalizadas de los profesionales del departamento de sistemas de información. En las universidades no se enseña a testear aplicaciones, se aprende a escribir programas, pero no se contemplan los problemas que puedan surgir a lo largo de su desarrollo.

En pocas palabras, y según la opinión de los expertos, cuanto más se vuelve sobre una aplicación para detectar posibles fallos a lo largo de su desarrollo, mejor es su rendimiento cuando son lanzadas al mundo real.



Contenido Patrocinado

Forma parte de nuestra comunidad

 

¿Te interesan nuestras conferencias?

 

 
Cobertura de nuestros encuentros
 
 
 
 
Lee aquí nuestra revista de canal

DealerWorld Digital