miércoles 25 de agosto de 2010

Resultados de: ¿Qué es el testing? y ¿para qué me sirve?


Para concluir el juego propuesto en el post anterior, les queremos dejar antes que nada un agradecimiento a los que se coparon con la idea y colaboraron, y un link al resumen de todas ellas.


Como podrán ver, algunos más y otros menos, pero cada cual tiene su visión de los beneficios que nos brinda el testing. Nos interesa en particular compartirles otra definición dada por Cem Kaner (un gurú en el tema)

It is an empirical technical investigation conducted to provide stakeholders with information about the quality of the product or service under test.

Y de ahí en particular destacar que es un proceso empírico, se basa en la experimentación, en donde se le da información sobre la calidad de un producto o servicio a alguien que está interesado en el mismo.

En base a los beneficios que uno persigue es que se establecen los objetivos, y tal como se ve en las respuestas los beneficios pueden ser muy distintos de organización en organización.
Si el objetivo del testing es encontrar la mayor cantidad de errores posibles, entonces seguramente el testing se enfoque en las áreas más complejas del software o las que han tenido más defectos. Si el objetivo es dar seguridad a los usuarios, entonces seguramente se enfoque el testing en los escenarios más usados por los clientes. Ojo!, este objetivo no tiene porque ser el mismo a lo largo del tiempo, pero sí es importante que se tenga claro en cada momento cuál es.

Ahora bien, hemos hablado de los objetivos del testing en general, pero qué objetivos tiene en particular el testing automatizado?
Si bien podemos pensar en que los objetivos del testing automatizado son triviales pueden también diferir mucho de una organización a otra.

En el libro Software test automation: effective use of test execution tools" de Mark Fewster & Dorothy Graham" que mencionamos en un post anterior se mencionan algunos objetivos interesantes como para comentar:
  1. Testing consistente y repetible
  2. Correr casos de prueba desatendidos
  3. Encontrar errores de regresión
  4. Correr casos de prueba más seguidos
  5. Mejorar la calidad del software
  6. Testear más profundo
  7. Mejorar la confianza en la calidad del software
  8. Testear más software
  9. Incrementar la confianza de los usuarios
  10. Medir performance
  11. Reducir el costo del testing
  12. Encontrar más errores
  13. Testear en diferentes sistemas operativos
  14. Disminuir el tiempo de salida al mercado/correr las pruebas más rápido
  15. Mejorar la moral en los testers
  16. Testear en diferentes bases de datos
Creemos que si bien hay varias parecidas, es preciso antes de comenzar con cualquier proyecto de automatización preguntarse cuál de estos objetivos queremos lograr y cómo medir si nos acercamos a los objetivos o no.

Muchas gracias nuevamente a todos!

[+/-] Read More...

miércoles 11 de agosto de 2010

Juego Juego: Qué beneficios tiene el testing?



Hace un tiempo Fede tuvo una iniciativa muy interesante: preguntar a cada uno en la empresa:
¿Qué es GXtest? y ¿Qué beneficios tiene?

Con los resultados de esta encuesta, pudo ver si todos teníamos la misma idea sobre tan importantes respuestas.

Nos gustaría invitarlos a jugar a ustedes y que se pregunten:
¿Qué es testing? ¿Qué beneficios tiene?

Si cada uno se anima a preparar un mail para la interna de su empresa, haciendo estas dos preguntas, luego pueden enviarnos (de manera anónima) las respuestas, nosotros las analizaremos y publicaremos un resumen del análisis de las empresas de la comunidad en otro post. Si además quieren agregar qué rol en la organización tiene cada uno de los que contesta las respuestas, entonces vamos a tener aún más información interesante.

Creemos que puede ser muy bueno ver estos aspectos en la comunidad.

El resumen con las respuestas obtenidas, las deben enviar a:

[+/-] Read More...

viernes 6 de agosto de 2010

"Automating chaos just gives faster chaos"

El que crea que una herramienta soluciona todos los problemas .... tiene un nuevo problema.

En general (y creo que más aún en el mundo de las TICs) buscamos una herramienta que solucione todos nuestros problemas. El tema es que no es suficiente con tener una buena herramienta para realizar un buen trabajo.

"Automating chaos just gives faster chaos"


Es una de las frases citadas en el libro "Software test automation: effective use of test execution tools" de Mark Fewster & Dorothy Graham, que si bien el libro tiene ya varios años, es muy recomendable para todo aquel que vaya a comenzar con automatización de testing.

En este artículo, en el que se le consulta a distintos expertos en el área, uno de los planteos que se hacen es que es conveniente atacar el problema en pequeñas partes, armar una pequeña suite de pruebas automatizadas que nos den beneficios lo antes posible, a esperar a armar un gran barco de batalla que ataque todos los problemas de una. El problema de ese segundo enfoque es que seguramente el gran barco esté pronto para cuando la guerra esté a punto de terminar, o sea, un mes antes de la fecha de salida en producción.
Esto es también lo que plantea GeneXus en el desarrollo, o sea un enfoque iterativo e incremental en el cual se vayan obteniendo resultados desde fases tempranas.
Así como GeneXus lo hace posible en desarrollo GXtest lo hace posible en testing ya que permite hacer evolucionar el conocimiento en testing a media que avanza el entendimiento de la realidad y la construcción de la aplicación.


[+/-] Read More...