martes, 25 de marzo de 2014

Cloud Testing y sus ventajas

Computación en la nube o Cloud computing es una de las áreas que está de moda y que poco a poco sigue creciendo. Básicamente, son servicios de computación a través de internet. Hoy en día, ninguna de las áreas que forman parte del mundo de la tecnología es ajena a la Computación en la nube. Tampoco lo es la Ingeniería del Software, ni el testing.


En la actualidad, cada vez más empresas ofrecen servicios de testing en la nube. La nube agrega nuevas dimensiones a los modelos convencionales de testing. En lugar de comprar e instalar las herramientas y entornos de prueba, de formar a nuestro personal en las mismas, preocuparnos de actualizar las herramientas, etc., hoy existe la posibilidad de encontrar servicios de testing en la nube para casi todo.

El Cloud Testing, que surgió como un contacto innovador entre el software testing y el cloud computing, tiene numerosas ventajas dentro de las cuales se encuentra la reducción de costos ya que libera a las compañías de grandes inversiones para la creación ambientes de pruebas y permite implementar los modelos de “pay-as-you-go” lo que significa que se ahorran costos de ambientes de pruebas ociosos. 

Otros beneficios asociados son:
  • Soporte de aplicaciones complejas: las aplicaciones actuales están siendo cada vez más dinámicas, complejas, distribuidas y basadas en componentes. Los ambientes locales de test están probando ser cada vez más costosos e inefectivos a la hora de manejar este tipo de complejidades
  • Mejor calidad de pruebas: aproximadamente el 30% de los issues detectados en el periodo de pruebas son atribuibles a configuraciones inadecuadas de los ambientes. Proveedores de servicios de pruebas basadas en la nube ofrecen una infraestructura estandarizada e imágenes pre-configuradas que son capaces de reducir la cantidad de dichos errores significativamente.
  • Pruebas en tiempo real: los ambientes de test basados en la nube permiten a los equipos de pruebas analizar el desempeño de la aplicación y encontrar cuellos de botellas incluso cuando las pruebas están corriendo.
  • Escalabilidad: La nube permite a los equipos de prueba escalar rápida y fácilmente de miles a millones de usuarios concurrentes para asesorar el punto de quiebre de una aplicación y su capacidad de manejar grandes demandas.

 Autores: Hernan Solera; Norberto Castro

viernes, 7 de marzo de 2014

Tips para el diseño de casos de prueba


El diseño de casos de prueba es una de las etapas que se transita durante el proceso de testing. El objetivo de la misma es desarrollar casos que tengan una alta probabilidad de encontrar errores. A continuación te presentamos algunos tips para que tengas en cuenta al momento de diseñar los casos de prueba de tu proyecto:

  • Diseñar los casos de prueba en base a la documentación existente (por ejemplo, especificación de requerimientos funcionales o diagramas de casos de uso). 
  • Si la especificación no es lo suficientemente clara, o no disponemos de ella, debemos resolver todas las dudas existentes canalizándolas con quien corresponda (analista, desarrollador, cliente u otros referentes). 
  • Ser creativos y analíticos al pensar los casos de prueba. Ponerse en la perspectiva del cliente, del usuario final y del tester que ejecutará los casos, cubriendo la mayor cantidad de escenarios posibles, tanto positivos como negativos. 
  • Las características más importantes que un caso de prueba debe tener son las siguientes: fácil lectura, lógico, exacto, económico, rastreable, reutilizable, mantenible y con una alta probabilidad de encontrar errores.
  • Los campos más significativos que debe tener un caso de prueba son: ID, nombre, entorno, datos de entrada, precondiciones, pasos y resultado esperado. Una vez ejecutado, también es importante el resultado obtenido y el estado en que quedó.

  

Autores: María José Albornoz,  David Muñoz, Santiago Becquart