Lo Que Aprendemos En Este Post

Las pruebas de software son el proceso de comprobar si hay errores en el software. No solo es crucial para el éxito de un producto, sino también para el proceso de desarrollo en sí. Sin embargo, puede ser un desafío para muchas personas porque las pruebas de software requieren habilidades y técnicas diferentes a las de otras áreas del desarrollo de software, como la codificación o el análisis. Este artículo cubrirá cómo abordamos las pruebas de software en contexto con nuestra estrategia de pruebas y cómo hacemos un seguimiento de los resultados de las pruebas.

¿Alguna vez se ha preguntado si es necesario volver a probar el software? ¡Claro que sí! Todos sabemos que el costo del desarrollo de software puede ser alto. Lo que no sabemos es con qué frecuencia deberíamos volver a probar nuestro código para asegurarnos de que siga funcionando. Bueno, este artículo explicará el concepto de volver a probar en las pruebas de software y proporcionará algunas razones por las que probar su código después de cada versión puede no ser una mala idea.

¿Cuál es la repetición de pruebas?

Volver a probar es el proceso general de probar algo (en este caso software) de nuevo para asegurarse de que todo funciona como se espera, y es bueno para usar si está buscando identificar problemas con una aplicación o un sistema informático. Se puede usar de diferentes maneras durante el ciclo de desarrollo de software, pero a menudo es más útil cuando se trata de corregir errores.

Probar su software después de cada lanzamiento es muy común en el mundo del desarrollo de software. Sin embargo, esto puede no ser necesario para todos, especialmente si está trabajando en un proyecto pequeño o con bases de código simples. Después de todo, en la mayoría de los casos, es bastante sencillo corregir errores y mejorar las funciones existentes sin mucho esfuerzo: simplemente escriba nuevos casos de prueba que verifiquen el comportamiento correcto de la funcionalidad recién implementada y asegúrese de que pasen.

Sin embargo, puede haber ocasiones en que algunas actividades de prueba requieran más tiempo que simplemente escribir nuevas pruebas (e incluso arreglarlas más adelante). Estas situaciones incluyen correcciones de errores realizadas por un miembro del equipo que aún no está familiarizado con el código base o las nuevas funciones que requieren pruebas y documentación exhaustivas.

¿Cuándo Se Debe Repetir La Prueba?

Entonces, ¿cómo decidimos cuándo es necesario repetir la prueba? En primer lugar, depende del tamaño de su proyecto (y de qué elementos vale la pena probar). Por ejemplo: si tiene una línea de productos grande repartida en varios productos, la repetición de las pruebas debe formar parte de su proceso regular, ya que cada versión puede afectar a otras partes del sistema de varias maneras.

Además, tenga en cuenta que cada error corregido llevará a que los desarrolladores creen pruebas adicionales, lo que significa que pueden pasar más tiempo escribiendo casos de prueba que corrigiendo errores. Además, hay situaciones en las que, incluso si confía en su base de código, aún es necesario volver a probar algunas partes del sistema después de cada versión.

Por ejemplo: la nueva funcionalidad puede introducir inconsistencias y comportamientos inesperados que pueden ser difíciles de detectar al principio, a menos que se manifiesten durante las pruebas o en los comentarios de los usuarios (y esto debe ser una parte regular de su proceso de control de calidad). Además, considere los casos en los que la automatización de pruebas aún no se ha implementado: ¡estas pruebas mostrarán problemas solo después de que se haga el esfuerzo adicional para que pasen de nuevo!

En tales situaciones, mantener el escepticismo sobre los errores recién introducidos es una buena idea; ¿por qué deberíamos confiar en nuestro código base si ya se ha demostrado que las pruebas pueden ser poco confiables?

Mejores prácticas si se vuelve a hacer la prueba

Ahora, ¿cuáles son las mejores prácticas al decidir si se vuelve a hacer la prueba y cómo se hace esto?

Aquí hay algunas pautas:

  • Cada vez que confirme una corrección de error, incluya suficiente información sobre la situación en la que se introdujo el problema para que las personas puedan reproducirlo y volver a probarlo. Si su equipo de control de calidad tiene más de un par de ojos trabajando en un problema, a menudo pueden hacerlo más rápido que el desarrollo (de hecho, no olvide que los desarrolladores tienen sus propias responsabilidades, lo más importante es aprender de los errores y corregir errores). Además, echa un vistazo a los foros de soporte en momentos en que hay menos cosas en ellos.
  • Al desarrollar funciones nuevas o antiguas, asegúrese de que todas las pruebas pasen antes del lanzamiento y estén listas para ser probadas por el equipo de control de calidad. Si no lo hacen, pídale a su equipo de control de calidad que los pruebe y se asegure de que los errores se corrijan, tenga en cuenta que, aunque es posible que corrija un error usted mismo (utilizando pruebas automatizadas o pruebas manuales), siempre hay alguna posibilidad de cometer errores al hacerlo.
  • Al desarrollar la nueva versión de una característica existente, intente incluir tantas pruebas de regresión como pueda en su base de código; esto al menos reducirá los riesgos asociados con la corrección de regresiones causadas por los cambios realizados durante el desarrollo de otras características adicionales.
  • Al lanzar una versión beta del producto, asegúrese de que esté completamente funcional y de que se hayan corregido todos los errores (esto es especialmente importante para las correcciones de errores realizadas durante el desarrollo o las pruebas además de esta nueva función).
  • Al lanzar versiones estables, asegúrese de que todos los errores se hayan corregido. Esto es especialmente importante para las correcciones de errores realizadas durante el desarrollo de otras características además de la característica lanzada: si no se incluyeron en sus versiones correspondientes, cuando las personas intenten usar estas nuevas versiones, pueden encontrar problemas causados por esos cambios. Si aún quedan algunos problemas, asegúrese de que se solucionen lo antes posible.

Repetición de pruebas vs Pruebas de regresión

En primer lugar, la repetición de pruebas y las pruebas de regresión son dos tipos de validación de software que puede elegir llevar a cabo durante su proceso de desarrollo. Sin embargo, no son lo mismo: la repetición de pruebas se realiza al final de una fase particular del trabajo, a menudo cuando tiene un producto en funcionamiento, pero necesita asegurarse de que no esté plagado de errores o errores de las pruebas iniciales. Las pruebas de regresión son un tipo de validación de software que se realiza en varios puntos del proceso de desarrollo para asegurarse de que ciertos aspectos del código funcionen correctamente.

En algunos casos, la repetición de la prueba se puede realizar simplemente leyendo los resultados o informes de pruebas anteriores y marcando cualquier problema que sepa que se ha solucionado. Si desea resultados aún más exhaustivos, puede marcar los problemas anteriores uno por uno para asegurarse de que se hayan solucionado. Un comprobador de TI podría incluso ir tan lejos como para probar partes del software que nunca se probaron antes.

En otras situaciones, las pruebas de regresión se pueden realizar tomando un plan de prueba y ejecutándolo en cada versión o actualización de su aplicación, comenzando por la más reciente. De esta manera, puede asegurarse de que cada cambio en su aplicación se esté probando adecuadamente.

Una palabra sobre Pruebas duplicadas Con la repetición de pruebas viene la posibilidad de pruebas duplicadas. Esto sucede cuando alguien prueba un elemento de su software y encuentra un problema con él, pero luego no se hace nada para corregirlo o asegurarse de que no vuelva a suceder. Para asegurarse de que esto no suceda, puede crear una base de datos o una lista de comprobación de problemas de pruebas anteriores para que los evaluadores puedan usarla fácilmente para evitar pruebas duplicadas.

Es una buena idea disponer de algún tipo de documentación para cada producto de software en el que esté trabajando; si las personas vuelven a probar productos antiguos, puede pedirles que revisen la documentación original y la actualicen con los cambios que encuentren.

Uno de los aspectos más importantes de la repetición de pruebas es hacer un seguimiento de cuáles fueron los problemas, cómo se encontraron y qué se hizo para solucionarlos. Si un problema no se soluciona, sino que se crean nuevos problemas arreglando un problema diferente, será difícil para usted o su equipo saber qué salió mal.

Aunque la repetición de pruebas puede llevar mucho tiempo, es una parte muy importante de la validación del software y es especialmente útil cuando se usa junto con otras técnicas de prueba. Mientras se resuelvan los problemas encontrados durante la repetición de la prueba, puede continuar realizando la repetición de la prueba en productos antiguos para asegurarse de que su último trabajo no haya causado ningún problema.