Lección 1
Fundamentos
Comenzamos diciendo que la etapa de prueba no es una etapa que venga antes de una o después de otra etapa, sino que es un proceso intrínseco que se realiza a lo largo de todas las etapas del ciclo de vida de software.
Pero ¿qué es una prueba? Una prueba es un proceso por el cual ejecutamos un proceso o un sistema con unos datos y esperamos los resultado que arroje el sistema o el proceso de software y los evaluamos con los resultados que previamente esperábamos nos resultarán a partir de los datos ingresados.
Dependiendo del resultado que nos arroje la prueba, esta puede ser exitosa o no exitosa, una prueba es exitosa si se detectan errores en la misma, por el contrario no es exitosa sino se encuentran errores.
Es imposible en un desarrollo web probar todo el software, en la medida de lo posible sería lo ideal pero eso aumentaría tanto el costo como el tiempo de entrega del proyecto, está en nuestra habilidad como desarrolladores determinar cuáles son los módulos o componentes de software que vamos a desarrollar y que debemos probar para comprobar su adecuada funcionalidad.
Entonces se preguntarán ¿por qué enredarnos la cabeza con qué probar y qué no, y mejor no realizar pruebas? Esto tampoco puede ocurrir ya que no realizar ningún tipo de prueba aumentará considerablemente los defectos y fallos de software y por lo tanto aumentará los costos de tiempo y mantenimiento de software y entre más avanzados estemos en el proyecto más costoso será reparar los errores que conducen a fallos y a defectos.
Para generar pruebas exitosas lo más recomendable es que cada caso de uso tenga un resultado posible con el fin de poder comparar los resultados de la prueba.
El encontrar muchas pruebas exitosas no demuestra que seamos malos profesionales o desarrolladores o que nuestro software sea malo, lo único que demuestra esto es que estamos generando un código de alta calidad que nos permitirá tener clientes contentos y felices con su solución.