La re-prueba es un proceso de validación de una característica específica cuya función falló durante la prueba anterior. Se realiza para verificar si los casos de prueba reportados con algunos errores durante el tiempo de ejecución se han corregido.
En el ciclo de vida del desarrollo de software, los elementos cruciales principales son probar la funcionalidad, el rendimiento, la seguridad y otros aspectos del software, lo que implica verificar el software en busca de errores. Sin embargo, el principal desafío es validar el funcionamiento del software de acuerdo con el público objetivo. Es crucial garantizar la efectividad y confiabilidad del software desarrollado, y aquí es donde la re-prueba entra como salvadora.
El objetivo principal de las pruebas de software es identificar el error o los errores en la aplicación de software. Los ingenieros de pruebas son responsables de determinarlos e informarlos al equipo de desarrollo para su posterior evaluación. Posteriormente, tales problemas se resuelven y se envían al ingeniero de pruebas para su re-verificación.
Las re-pruebas garantizan que no surjan problemas adicionales durante el lanzamiento del software. Tal proceso puede ejecutarse manualmente utilizando un conjunto específico de casos de prueba. Independientemente de la complejidad involucrada en las re-pruebas, debemos entenderlas como la parte fundamental de las pruebas de software para entregar productos de alta calidad.
¿Qué es la Re-prueba?
Debes estar acostumbrado al hecho de que encontrar errores mientras se prueba el software es el rol laboral de los ingenieros de pruebas. Entre tales tareas, son responsables de corregir y enviar el error o problema de vuelta a los desarrolladores, asegurándose de que corrijan dicho error o problema. Aquí es donde entra la re-prueba. Entendámoslo más claramente.
En el desarrollo de software, la repetición de pruebas es el proceso de validar una compilación entregada por los desarrolladores para asegurarse de que el error se haya corregido. En términos simples, digamos que estás probando cualquier software que es “Compilación Número 1”, y si se encuentra algún error, su ID es, por ejemplo, A1. Entonces, el probador prueba dicho error y se denomina “Compilación Número 2”.
En otras palabras, el error identificado en la Compilación Número 1 se está probando nuevamente en la Compilación Número 2 para verificar si el desarrollador ha corregido el error. El probador aquí vuelve a probar los casos fallidos para validar la corrección realizada por los desarrolladores.
Es parte del ciclo de vida de los defectos donde se realiza la prueba de los casos de prueba fallidos, que no eran funcionales en el momento de la prueba anterior fijada por los desarrolladores.
Sigue estos puntos para obtener más información sobre un proceso de repetición de pruebas:
- Se vuelven a probar los casos de prueba fallidos correspondientes a los errores reportados.
- Otro nombre para la repetición de pruebas es prueba de confirmación.
- Para el error reportado en la nueva compilación, se deben utilizar datos de prueba y procesos similares para validar su reproducibilidad.
A comprehensive example of the retest process will help you get a clearer picture.
¿Por qué es importante la repetición de pruebas?
La repetición de pruebas, como parte del ciclo de vida de las pruebas de software, rodea varios significados relacionados con la entrega efectiva del producto. Sin duda, es la parte principal del proceso estándar de pruebas de software. Pero, además, le da al producto una capa adicional de garantía, examinando su rendimiento técnico y funcional antes de ser lanzado a los usuarios finales.
Las empresas deben garantizar aplicaciones digitales de alta calidad en este mercado de desarrollo de software altamente competitivo. Esto requiere no comprometer la calidad del producto final.
Las plataformas de pruebas automatizadas a menudo pueden ayudarlo a obtener un mejor retorno de la inversión para su producto lanzado. Sin embargo, una nueva prueba brinda más confianza al verificar cada error. En comparación con el proceso de prueba inicial, no agrega costos adicionales a los recursos de prueba ni incurre en un tiempo enorme. Se sabe que se ejecuta en el mismo entorno con datos similares relacionados con los casos de prueba fallidos.
Además, el proceso de nueva prueba aborda problemas o errores particulares señalados en módulos de aplicación específicos. Por lo tanto, no tiene que configurar ningún nuevo entorno de prueba y dar más esfuerzo para verificar la calidad del producto con pruebas de extremo a extremo.
Ejemplo de nueva prueba
Aunque el ejemplo explicado anteriormente puede ayudarlo a obtener información superficial, a continuación, trataremos un ejemplo similar, con una visión más profunda de su proceso.
Escenario
Como parte del proceso de desarrollo de software, se lanza la versión 2.0. Durante su prueba, el equipo identificó y lanzó un defecto (digamos, Defecto 2.0.1). El Defecto 2.0.1 similar debe probarse en la versión 2.1 (en la condición de que este defecto se indique en la Nota de lanzamiento de la versión 2.1) para asegurar la corrección del defecto.
Proceso de ejecución
Según el Ciclo de Vida de los Errores, cuando se registra un error, se comparte o informa de inmediato al equipo de desarrollo. Después de eso, su estado se marca como “Nuevo”. Ahora, depende del equipo de desarrollo aceptar o rechazar el error.
Una vez aceptado el error, el desarrollador lo corregirá y luego lo lanzará en la siguiente fase. Su estado se marca como “Listo para QA”. Actualmente, los probadores validan el error para determinar su resolución. Por lo tanto, puedes decir que una nueva prueba es una prueba planificada.
El probador utiliza los mismos casos de prueba y datos de prueba en la compilación anterior. Si no se encuentra ningún error, su estado se marcará como “Corregido”. Por el contrario, el estado permanece como “No corregido”. Luego, el Documento de Reprueba de Defectos se comparte con el equipo de desarrollo.
Para tener una buena idea de las repruebas, debes conocer sus características clave. No solo ayudará a diversificar tu prueba, sino que también ampliará las dimensiones para la construcción de calidad del software.
Características de la Reprueba
La excelente experiencia de usuario en las pruebas de software sigue un proceso iterativo. Para esto, retener información sobre los aspectos críticos de un proceso de reprueba permite una mejor entrega de aplicaciones.
A continuación, se muestran sus características clave:
- Se implementa en un documento similar al anterior y procesa en la nueva compilación.
- La ejecución se realiza cuando se considera que algunos casos de prueba han fallado.
- Ocurre cuando se requieren repruebas completas del software para validar su calidad.
- Es imposible automatizar los casos de prueba que se vuelven a probar.
- El proceso de volver a probar depende del equipo de desarrollo, que es responsable de aceptar o rechazar el error.
- El probador considera los detalles granulares del aspecto de funcionalidad cambiado.
¿Cuándo Debes Realizar la Reprueba?
Como probador, decidir cuándo debes hacer una reprueba es importante. La respuesta a esto es sencilla. Primero, debes considerar el tamaño y las características de tu proyecto, que requieren pruebas.
Por ejemplo, la reprueba se vuelve normal si una organización tiene una extensa línea de productos distribuida en varios productos. La razón es la necesidad de lanzar oportunamente la aplicación de software, ya que esto también puede impactar otras partes de los sistemas de diversas maneras.
Hay diferentes escenarios en los que podemos usar la reprueba como proceso. Algunos de ellos se explican a continuación:
Al Detectar el Error Rechazado
Puede ocurrir muchas veces cuando el error que el probador emite es rechazado por el desarrollador y marcado como “No Reproducible”. En tales casos, se realiza una reprueba para el mismo error para informar al desarrollador que el problema es reproducible y válido.
Necesidad de Corrección de Errores Destacada en la Nota de Lanzamiento
En el proceso de desarrollo de software, cuando el equipo de desarrollo lanza una nueva compilación, prevalece la reprueba. Aquí, el probador prueba los errores reportados previamente para asegurar su corrección.
Solicitud del Cliente
La calidad del software es una preocupación importante para cada organización. Para garantizar esto, un cliente puede solicitar ejecutar una reprueba para casos de uso particulares para asegurar la calidad del producto.
Otros escenarios
Es importante tener en cuenta que cada vez que se corrige un error, los desarrolladores crean casos de prueba adicionales. Esto indica que se debe dedicar más tiempo a escribir casos de prueba en lugar de corregirlos. Sin embargo, aunque esté seguro de su base de código, sigue siendo vital volver a probar las partes cruciales de la aplicación en el momento de cada lanzamiento.
Por ejemplo, una nueva funcionalidad causa un comportamiento inesperado y desafíos para detectar errores en la primera instancia. Solo podría ser posible cuando tales problemas se hagan evidentes durante las pruebas o en función de los comentarios de los usuarios. Esta situación requiere que realice una “reprueba” para superar el escepticismo sobre los errores recién identificados.
Beneficios de la reprueba
La calidad de una aplicación de software depende del éxito del proceso de reprueba. Asegura la estabilidad de la aplicación en el ciclo de vida del desarrollo de software.
Algunos de sus beneficios clave se destacan a continuación:
- Asegura si el error se corrigió o no.
- Mejora la calidad del producto y la aplicación desarrollada.
- Asegura que el funcionamiento de la aplicación o producto cumpla con las expectativas del usuario.
- Requiere menos tiempo para corregir los errores, ya que se apunta al problema especificado.
- Trabaja con los mismos datos y procesos con una nueva compilación para su funcionamiento.
- No requiere configurar un nuevo entorno de prueba.
A pesar de tener varios beneficios, el proceso de reevaluación también tiene algunas desventajas. Entendamos esto desde la siguiente sección.
Desventajas de la reevaluación
A retest process also has some drawbacks, which can hamper or create challenges in the testing process. Knowing such limitations will help you address those while retesting to avoid any issues.
Entendamos cuáles son:
- Necesita una nueva compilación para la autenticación de defectos.
- Los casos de prueba de reevaluación solo se pueden obtener cuando se inicia.
- No es posible automatizar los casos de prueba para reevaluar.
- La reevaluación de casos de prueba fallidos necesita tiempo y esfuerzo adicional.
- Las reevaluaciones no se pueden garantizar como parte del proceso de prueba, excepto en casos donde se identifica o corrige un error.
Abordando las desventajas de las reevaluaciones, se puede decir que una reevaluación puede ser un desafío para algunos evaluadores. Especialmente, el nuevo evaluador a menudo intenta encontrar una forma alternativa de solucionar el problema. Aquí, lo que los confunde es el término prueba de regresión. Sin embargo, las pruebas de regresión y las reevaluaciones tienen diferencias significativas.
¿Cuál es la diferencia entre las pruebas de regresión y la reevaluación?
Si eres nuevo en las pruebas de software, es posible que pienses que los términos “reevaluación” y “prueba de regresión” son similares. Sin embargo, es un hecho que ambos son diferentes, aunque relacionados. Exploraremos en esta sección cómo el proceso de reevaluación es distinto de las pruebas de regresión.
Primero, la regresión y la nueva prueba forman parte de la validación del software en el proceso de desarrollo de software. La nueva prueba se realiza principalmente al final de una fase específica del desarrollo. En otras palabras, cuando desea asegurarse de que un producto en funcionamiento no esté plagado de errores de pruebas anteriores, realiza una nueva prueba. En contraste, las pruebas de regresión se pueden ejecutar en cualquier fase de desarrollo para garantizar el correcto funcionamiento del aspecto específico de los códigos.
En algunas situaciones, los probadores pueden ejecutar nuevas pruebas simplemente leyendo salidas o informes de pruebas anteriores para verificar cualquier problema y su corrección. También se puede realizar una investigación exhaustiva verificando individualmente los casos anteriores para asegurarse de que se manejen. Sin embargo, las pruebas de regresión se realizan principalmente a través de un plan de prueba y su ejecución en cada versión de la aplicación, iniciando con la más reciente. En tal enfoque, debe asegurarse de que cada cambio en la aplicación se pruebe adecuadamente.
A continuación se muestran algunos puntos clave sobre las diferencias entre los procesos de regresión y nueva prueba:
Component | Regression Testing | Retesting |
---|---|---|
Purpose | It is executed to check the impact of the code level changes, which often require retests. | It is done to ensure changes executed in the software that doesn’t lead to regressions. |
Method | It is executed with the use of automation testing tools. | It is done manually as it checks for particular defects |
Target | It is done to check existing bugs in the software. | Retest verifies the functionality of the software. |
Time involved | It is more time-consuming because extensive research is needed in previous software versions. | It is less time-consuming because a specific defect is only retested. |
Focus | It aims to check if the functionality of prior versions is maintained corresponding to the update or change to the application. | It does not focus on the functionality of previous versions. Instead, it aims to ensure the restoration of functionality following a bug fix. |
Comprender las pruebas de regresión y las nuevas pruebas con un ejemplo
La diferencia entre regresión y nueva prueba se puede explicar con el siguiente ejemplo.
Digamos que hay un problema en la página de inicio de sesión de una aplicación web bancaria donde los clientes no pueden acceder a los detalles de su cuenta. Aunque se les pidió que intentaran iniciar sesión nuevamente, no pudieron iniciar sesión en su cuenta. El equipo de soporte investigó el problema y se aseguró de que no volviera a ocurrir algo así.
El equipo de desarrolladores realizó cambios a nivel de código para garantizar un inicio de sesión exitoso en la página de la cuenta en todos los navegadores. Sin embargo, las pruebas aquí no solo implican una página de inicio de sesión, sino que también garantizan que los cambios de código no afecten otras funcionalidades de las aplicaciones web bancarias. Aquí, las pruebas realizadas probarán la aplicación para su modificación. Esto se llama prueba de regresión.
Al verificar el problema nuevamente correspondiente a la modificación realizada, el equipo de pruebas intentó iniciar sesión en la página, pero falló. El equipo de soporte se comunicó con el desarrollador correspondiente y explicó el problema. Sin embargo, el desarrollador nos informó que habían resuelto el problema. El equipo de control de calidad prueba el funcionamiento de la aplicación web para verificar si se ha resuelto el problema, a lo que se llama reprueba.
Por lo tanto, una reprueba es esencial en el proceso de pruebas de software y es un requisito previo para garantizar su funcionamiento.
Abordamos la importancia del proceso de reprueba, que da una idea de su relación con las pruebas de software. Primero, entendamos algunas de sus aplicaciones típicas en las pruebas de software. Aquí están algunas de las aplicaciones de las repruebas en las pruebas de software:
- Se aplica para rectificar cualquier error o error específico que requiera verificación.
- Comprueba el funcionamiento del sistema completo para validar la funcionalidad final.
- Comprueba la calidad de una parte específica del sistema.
Fases de la reprueba
El proceso de reprueba implica un enfoque manual. También considera las fases principales para probar la aplicación de software.
A continuación se muestran las fases involucradas en un proceso de reprueba:
1. Selección de casos de prueba
La selección de pruebas es un enfoque en el cual se ejecutan casos de prueba específicos de la suite de pruebas para vigilar si se ha realizado o no la corrección de errores en el software. Generalmente, los casos de prueba se diferencian en reutilizables y obsoletos, donde los casos de prueba reutilizables se utilizan para ejecutar la reprueba.
2. Aplicación de casos de prueba
El objetivo principal del proceso de reprueba es comparar la salida esperada de los casos de prueba. Por lo tanto, se deben aplicar los casos de prueba con hojas de resultados preejecutados estándar.
3. Estimación del tiempo
Al identificar los casos de prueba, los probadores deben considerar el tiempo total de ejecución involucrado en las repruebas. Factores como la evaluación de casos de prueba pueden sumar tiempo extra.
4. Seguimiento de módulos
En situaciones de casos de prueba fallidos, es un gran desafío identificar los módulos correspondientes al error. Por lo tanto, la parte de software se divide en diferentes módulos individuales.
Para hacer esto, se implementan pequeños casos de prueba para módulos individuales específicos. Los módulos que no muestran los resultados esperados se marcan como módulos defectuosos. De esta manera, se logra el seguimiento de los módulos defectuosos.
5. Reprueba del módulo
Repruebe el módulo defectuoso hasta que se corrija.
6. Reintegración del módulo
Una vez corregido el módulo defectuoso, se aplica la integración completa de los casos de prueba al software. Además, se verifica el funcionamiento del software.
¿Cómo realizar una reprueba?
La reprueba de la aplicación de software solo se puede realizar mediante un enfoque manual. Como se destacó en la sección anterior, la razón principal es que solo se enfoca en el defecto específico. Por lo tanto, es apropiado para el enfoque de prueba manual, ya que se puede realizar con precisión en lugar de usar el método automatizado.
Para ejecutar una reprueba, el equipo de prueba debe tener un sólido conocimiento del estado actual de la aplicación de software. Este conocimiento del funcionamiento del software y cómo hacerlo efectivo al rectificar los errores facilita el enfoque manual.
El probador ejecuta manualmente los casos de prueba para validar los cambios realizados en la aplicación. Se hace para garantizar que tales cambios no causen defectos adicionales y que los casos fallidos identificados se eliminen en la nueva versión. Puede realizar repruebas manuales después de modificar los cambios en el software, corregir los defectos y completar el ciclo de prueba de software.
Puede seguir los pasos a continuación para ejecutar una reprueba manualmente:
- Determine los cambios en la aplicación de software y el área que requiere repruebas.
- Revise y actualice los casos de prueba que requieren repruebas de acuerdo con los cambios.
- Los casos de prueba desarrollados deben ejecutarse manualmente.
- Analice la salida real con el resultado esperado para evaluar que los cambios no causan nuevos defectos.
- Si se identifica un defecto, documente e informe al equipo de desarrollo.
- Reitere el proceso de reprueba manual hasta que se corrijan todas las fallas.
Sin embargo, es posible que se pregunte por qué la repetición de pruebas no se puede realizar mediante un enfoque automatizado. Hay varias razones para esto. Obtengamos una idea de la siguiente sección:
¿No se puede automatizar la repetición de pruebas?
No puede volver a probar una aplicación con un enfoque automatizado. A continuación se destacan algunas razones comunes:
- Complejidad: Algunos de los casos fallidos pueden corresponder a la complejidad del software. Por lo tanto, tales casos fallidos son difíciles de automatizar.
- Resultado inesperado: Los cambios realizados en el software pueden dar resultados inesperados. Los casos fallidos en tales situaciones requieren pruebas manuales para verificar el resultado.
- Costo y recursos: Automatizar el proceso de repetición de pruebas puede ser costoso, ya que implica el uso de hardware y software adicionales. Es problemático justificar el costo de cambios menores en el software.
- Restricción de tiempo: Automatizar el proceso de repetición de pruebas implica incurrir en una gran cantidad de tiempo, y como puede haber presión por un lanzamiento oportuno, un enfoque manual es la mejor opción.
Aspectos a considerar al realizar la repetición de pruebas
Hasta ahora, hemos entendido la importancia de un proceso de repetición de pruebas y cómo realizarlo. Sin embargo, la existencia de una consideración válida en las repeticiones de pruebas requiere atención. A continuación, se presentan algunos puntos que deben tenerse en cuenta.
- El proceso de repetición de pruebas requiere la formación de una nueva compilación de software cuando se corrige el problema basado en el primer informe.
- Existe la posibilidad de que el software enviado para repruebas sufra cambios a nivel de código. Por lo tanto, es esencial realizar pruebas de regresión antes de la liberación de la aplicación.
- La cobertura y el alcance de la reprueba solo se pueden conocer después de solucionar el problema. Como resultado, la automatización no se puede ejecutar para repruebas como regresión.
- El tiempo de desarrollo de la aplicación puede aumentar si los problemas encontrados en la reprueba siguen existiendo. Se necesita una evaluación más completa y estratégica para investigar la causa raíz.
Sin embargo, a pesar de los desafíos encontrados en un proceso de reprueba, la organización debe enfocarse en los métodos de prueba conscientemente. Esto se puede hacer mejor ejecutando repruebas en la nube. Veamos esto en detalle.
¿Cómo realizar repruebas en la nube?
Automatizar el proceso de reprueba no siempre es factible, y se requiere prueba manual para garantizar la calidad del software. Sin embargo, en algunos casos puede ser un proceso que consuma mucho tiempo y no sea escalable. Las plataformas de pruebas en la nube te ayudan a superar los desafíos relacionados con la infraestructura de pruebas.
Source:
https://dzone.com/articles/retesting-tutorial-a-comprehensive-guide-with-exam