El problema es el enfoque, tener que adaptar la prueba automatica implica:
- Conocer como funciona la prueba (lo cual permite mejorar y ampliarla).
- Probar de una manera distinta a como lo hace el programador y tener mas exito en la busqueda de errores.
- Ya que se tiene que adaptar la prueba, se pueden crear nueva.
Se le debe dar este enfoque para que los programadores no tengan el problema de verlo inútil y aburrido. ¿Como se hace mas ameno una prueba? No haciéndola muy simple. Un ejemplo muy bueno es el siguiente:
1) Se cambia el parametro de la funciona suma de int suma (int a, int b) a int suma (int a, int b, int c).
2) Se le pide a un programador que lo cambie en 100 ficheros.
Esto es aburrido y frustrante.
Sin embargo, si la prueba automatica tiene mas magnitud el programador lo vera de otra manera. Ejemplo,
1) Se cambia la interface web donde el usuario suma ahora 3 valores y no dos
2) Se pide al programador que cambie la petición html que prueba la pagina web que por debajo llama a la nueva funcion int suma (int a, int b, int c).
3) Ademas se le pide medir tiempos, aumentar las pruebas a 10000 iteranciones, etc..
Esto es mas desafiante y seguro que prueba mas el software que una simple prueba para llamar a un método.
El otro gran motivo es que al automatizar las pruebas siempre se descrubren errores de plantemaiento ya que te obliga a mirar el codigo desde otra perspectiva. Es decir, se pueden encontrar fallos despues de la famosa frase del programador: "yo he probado todo y funciona"
El otro gran motivo es que al automatizar las pruebas siempre se descrubren errores de plantemaiento ya que te obliga a mirar el codigo desde otra perspectiva. Es decir, se pueden encontrar fallos despues de la famosa frase del programador: "yo he probado todo y funciona"
No hay comentarios:
Publicar un comentario