lunes, 23 de septiembre de 2013

Testers, aliados indispensables en el desarrollo



Muchas personas desconocen las razones de porqué es importante contar con un área de pruebas o incluso cuál es su función específica dentro de un proceso de desarrollo, así mismo el beneficio implícito que se obtiene de su proceso.

Principalmente, es un aliado para los usuarios finales y los clientes que solicitaron el producto, pues parte de su trabajo es conocer y comprender el objetivo para el cual es realizado y así poder probar su calidad y desempeño en el ambiente para el cual es requerido.

En empresas con desarrollo a la medida, dicha tarea es un reto especial, pues cada proyecto está hecho de acuerdo a las necesidades del negocio del cliente, por lo cual, cada uno es único y de diversas proporciones, para esto es necesario estar preparado con diferentes metodologías y conocer los alcances y lineamientos específicos del o los sistemas y aplicaciones realizados.

La documentación es piedra angular de una metodología exitosa de trabajo, por lo cual es importante llevar a cabo un registro controlado de las pruebas realizadas (o casos de prueba) junto con sus resultados. Los defectos localizados durante el desarrollo son notificados al programador para su depuración.


Los enfoques de pruebas

Las pruebas, pueden ser tan variadas como el mismo sistema, pero se centran principalmente en los siguientes enfoques:

  • De caja negra: Son las pruebas que se realizan sobre el flujo y diseño del sistema. En esta parte, el objetivo es poner a prueba su funcionalidad, sin tener mucho en cuenta su funcionamiento interno.
  • De caja blanca: Son las pruebas que se realizan con el conocimiento de la funcionalidad de las partes que componen al sistema, de esta forma se puede verificar el comportamiento del sistema de una manera más profunda.

En muchas formas, el tester puede ser visto como el antagónico del programador que construye el sistema, pero en realidad es un intermediario entre el usuario final y las primeras versiones liberadas del producto, de esta forma, logra mimetizar ambas posturas para lograr la funcionalidad mas óptima, y tenerla como objetivo final de su propio proceso.

La meta principal no es detectar defectos, (aunque es una parte importante del proceso), si no asegurar que el producto se comporta tal y como el solicitante lo especificó, cumpliendo el flujo con base a la documentación aprobada durante el proceso de toma de requerimientos.

En este punto, el área de pruebas es la que mejor conoce el sistema en usabilidad y funcionalidad, con el extra de hacerlo con la perspectiva del usuario final, por lo tanto son las personas indicadas para construir el manual de usuario, buscando cubrir todos los aspectos del sistema, y hacerlo lo más amigable y entendible posible en cada etapa.

De esta forma, podemos observar la importancia que se tiene en realizar pruebas concisas y en la retroalimentación que estas dan directamente a todas las áreas del sistema, para una depuración completa del mismo y, de igual manera, como aprendizaje de nuestros errores; así como también la labor del área de pruebas, apoyando el trabajo en equipo en la creación de un proyecto de calidad y en la implementación de este por el usuario final.


Acerca del autor

Moisés Rivas Navarro es un ingeniero en computación egresado de la Universidad de Guadalajara con más de 3 años de experiencia en el área de pruebas. Actualmente colabora con Dawcons como tester de los sistemas hechos a la medida. Puedes seguirlo en Twitter.


1 comentario:

  1. Es importante en toda estrategia generada para el desarrollo de un Software a la medida identificar en que puntos serán necesarias pruebas de Caja Blanca y en cuales no, ésto porque el costo de una prueba de caja blanca es mucho más elevado que el de caja negra además que el perfil para ejecutarlos requiere mayores particularidades en una empresa de desarrollo a la medida que puede llegar a tener variantes infinitas en sus cajas blancas (combinaciones de lenguajes, de manejadores de datos, de capas de presentación, de tipos de algoritmo, etc). La correcta selección de las pruebas de Caja Blanca producirán la inversión adecuada del tiempo de pruebas para evitar los defectos más costosos del proyecto, es probable que con el 20% de pruebas de caja blanca se identifiquen y solucionen el 80% de los defectos más costosos de un proyecto. Toda empresa de desarrollo de software a la medida debería tener sus lineamientos para la identificación de la aplicación de éstas pruebas minuciosas, por ejemplo en algoritmos financieros, en interfaces con otros sistemas, en algoritmos de los cuales dependa una vida humana y similares, adicional a estas pruebas se recomienda ejecutar inspecciones, revisiones entre colegas y cualquier otro mecanismo de verificación que asegure la calidad del proceso y del producto.

    ResponderEliminar