testing
Por:
Edgar Fernando Suárez Mendoza
Jorge Leonardo Camargo Cuervo
Dentro del proceso de desarrollo de software y, en general, el proceso de vida útil de un
software se tienen diversas etapas que en ciertas ocasiones no son muy tratadas ni tenidas en
cuenta pero que representan una importancia vital en dichos procesos. Una de estas etapas es
la etapa de test, que al igual que una etapa de implantación o de desarrollo, tiene gran
relevancia, ya que de ella depende, en última instancia, la implantación del software.
El testeo de software consiste en implementar cierta metodología con el fin de hacer pruebas al
software y detectar fallas en él, a fin de comprobar la calidad con la que fue elaborado. Las
pruebas que se realizan al software van desde pruebas de carga y rendimiento, pasando por
pruebas con la interfaz gráfica, hasta pruebas de manejo de estándares de programación y de
sintaxis y testeo de aplicaciones web, el cuál a su vez puede incluir desde test de compatibilidadcon navegadores hasta sintaxis de lenguajes de estilo y de marcado (CSS, HTML).
De esta forma resulta importante resaltar la importancia del testeo de software: en función de la
detección de errores, radica la mayor relevancia del testeo, ya que los errores en un software
tienen un costo para la empresa u organización que los implementa, con lo cual, al ser
detectados dichos costos no serían, o de acuerdo a la tardanza de detección estos serían
mínimos, lo cual para la organización resultaría bastante rentable tal aspecto, en especial
cuando las aplicaciones tienden a crecer y a evolucionar. Además la no implementación de una
etapa de pruebas puede ocasionar pérdida de confianza en la empresa desarrolladora, lo que
se conoce como el “good will”, ya que al no llevarla a cabo se podría implementar la aplicación
con errores, que se podrían haber corregido, y que el cliente puede detectar y no vendrían nada
bien para la organización. Así se puede observar la relevancia que tiene esta etapa, y que aún
así en ocasiones no es tenida en cuenta, tanto en un proceso de desarrollo como en laformación académica de los profesionales en sistemas y software.
Igualmente, resulta importante resaltar que la evaluación realizada por un test puede ser tanto
de forma manual como automática. Cuando se habla de una forma manual se hace referencia
al contacto directo del software haciendo uso de él mediante una serie de “casos de prueba”,
que corresponden a situaciones controladas y previamente preparadas, que pondrán a prueba
el software, con el fin de verificar que los resultados obtenidos sean los esperados y que
durante el ingreso, procesamiento y muestra de resultados de los casos de prueba no se
presente ningún error. Así mismo, cuando se habla de una forma automática, se hace
referencia a la generación automática de casos de prueba, y en general de pruebas, ya sea
mediante un algoritmo o mediante una aplicación especializada para el testing en cualquiera de
las áreas ya mencionadas. Hoy en día esta técnica es una de las más utilizadas, ya que existen
actualmente diversas aplicaciones, ya sean privativas o de código abierto que ayudan en dicha
labor.
De igual forma, resulta interesante agregar que el test de software se encuentra clasificado en
varios tipos, ya sea de acuerdo con restricciones de código o de acuerdo con la composición de
la aplicación a testear:
●
Black box (Caja negra): no se tiene conocimiento del código ni del diseño interno de la
aplicación, sólo se evalúa la funcionalidad de ésta.
●
White ...
Regístrate para leer el documento completo.