Técnicas de Estimación de Pruebas de Software (Guía Completa de Estimación de Esfuerzo de Prueba)

Para el éxito de cualquier proyecto, la estimación de pruebas y la ejecución adecuada es tan importante como el ciclo de desarrollo. Apegarse a la estimación es muy importante para construir una buena reputación con el cliente.

La experiencia juega un papel importante en la estimación de los»Esfuerzos de prueba de Software». Trabajar en proyectos variados nos ayuda a preparar una estimación precisa del ciclo de pruebas.

Obviamente no se puede poner ciegamente un número de días para cualquier tarea de prueba. La estimación de la prueba debe ser realista y precisa.

Este tutorial incluirá algunos indicadores importantes que serán muy útiles para preparar una estimación de prueba precisa de una manera muy simple.

Técnicas de Estimación de Pruebas de software  Técnicas de Estimación de Pruebas de software

Proceso de Estimación de pruebas

» La estimación es el proceso de encontrar una estimación o aproximación, que es un valor que se puede utilizar para algún propósito, incluso si los datos de entrada pueden ser incompletos, inciertos o inestables.»

Todos nos encontramos con diferentes tareas, deberes y plazos a lo largo de nuestra vida como profesionales, ahora hay dos enfoques para encontrar la solución a un problema.

El primer enfoque es un enfoque reactivo en el que tratamos de encontrar una solución al problema en cuestión solo después de que llegue.

En el segundo enfoque, que se puede llamar Enfoque Proactivo, primero nos preparamos mucho antes de que el problema llegue con nuestras experiencias pasadas y luego con nuestras experiencias pasadas, tratamos de encontrar una solución al desafío cuando llega.Por lo tanto, la estimación

puede considerarse como una técnica que se aplica cuando adoptamos un enfoque proactivo del problema.

Por lo tanto, la estimación se puede utilizar para predecir cuánto esfuerzo con respecto al tiempo y el costo se requeriría para completar una tarea definida. Una vez que el equipo de pruebas es capaz de hacer una estimación del problema en cuestión, es más fácil para ellos encontrar una solución que sea óptima para el problema en cuestión.

La práctica de la estimación se puede definir más formalmente como un cálculo aproximado del costo probable de una pieza de trabajo.

Además, read = > 7 Factores Que afectan la Estimación de Prueba del Proyecto de Automatización de Selenio

Requisitos previos básicos

A continuación se dan los Requisitos Previos Básicos para el Proceso de Estimación de Prueba.

#1) Conocimientos adquiridos al trabajar con experiencias pasadas: Siempre es una buena práctica dedicar un tiempo a recordar proyectos anteriores que planteaban desafíos similares a los actuales.

#2) Los documentos o artefactos disponibles: Las herramientas de repositorio de administración de pruebas son útiles en este tipo de escenarios, ya que almacenan los documentos de requisitos y aclaraciones. Estos documentos pueden ser remitidos por el equipo de pruebas para definir claramente el alcance del proyecto.

#3) Suposiciones sobre el tipo de trabajo: La experiencia laboral anterior ayuda a hacer suposiciones sobre el proyecto. Aquí es donde más importa contratar profesionales experimentados. Los gerentes de pruebas pueden elegir los cerebros de estas personas para entregar los resultados deseados.

#4) Cálculo de riesgos y Amenazas Potenciales: El equipo de pruebas también necesita visualizar los riesgos y amenazas potenciales y las trampas que pueden mentir para el equipo en el futuro.

#5) Determinar si los documentos se han incluido en la base: El equipo de pruebas también debe determinar si los requisitos se han incluido en la base o no. Si los documentos no están en la base de datos, es importante determinar la frecuencia de los cambios.

#6) Todas las responsabilidades y dependencias deben ser claras: La organización debe definir claramente las funciones y responsabilidades de todos los que realizarían el proceso de estimación.

#7) Documentación y seguimiento de los registros de estimación: Debe documentarse toda la información pertinente para el proceso de estimación.

#8) Actividades que se realizarán durante el proceso de estimación de la prueba:

  • Organice un equipo que realizará estimaciones.
  • Descomponer el proyecto en fases de proyecto y actividades constitutivas posteriores.
  • Calcule la estimación en base a proyectos anteriores y experiencia profesional.
  • Priorice posibles amenazas y proponga enfoques para mitigar esos riesgos.
  • Revisar y documentar las partes pertinentes del trabajo.
  • Presentar el trabajo a las partes interesadas pertinentes.

Las técnicas de Estimación de pruebas más destacadas

Algunas de las técnicas más importantes para la estimación de pruebas son:

  • Estimación de puntos de prueba
  • Estimación basada en fase de trabajo
  • Estimación de puntos de casos de uso

Cómo y dónde utilizamos estas técnicas:

#1) La estimación de puntos de prueba es una técnica de estimación simple y fácilmente comprensible que se usa ampliamente en todo el espectro de pruebas de software. Las fases iterativas y la simplicidad son las características más importantes de esta técnica en particular.

#2) La estimación basada en la fase de trabajo es la técnica de estimación que se utiliza mediante la cual se realiza una estimación de conjetura en una fase particular (normalmente la más corta y simple de las fases) y luego el equipo de prueba agrega gradualmente otras fases a la estimación inicial y finalmente obtiene una estimación adecuada.

#3) La técnica de estimación puntual de casos de uso es la estimación de los casos de uso en los que se utilizan los pesos de actores no ajustados y los pesos de casos de uso no ajustados para determinar la estimación de pruebas de software.

Detalles de la Técnica de Estimación de Puntos de prueba

La técnica de estimación de puntos de prueba se realiza siguiendo los pasos que se enumeran a continuación:

 técnica de estimación de puntos de prueba

(Los siguientes pesos, que pueden variar de un proyecto a otro, podrían considerarse bajo este paradigma: Algunos de estos pesos son los pesos para el lenguaje de programación basados en la complejidad del código, el peso de la aplicación basado en el tipo de aplicación y los pesos de prueba que se asignan en función de las diferentes fases de prueba de software.)

Los puntos de prueba sin procesar se multiplican por CWF para obtener el tamaño de prueba en el Tamaño del Punto de prueba.

El factor de productividad indica la cantidad de tiempo para que un ingeniero de pruebas complete la prueba de un punto de prueba.

El esfuerzo de prueba en Horas Persona se calcula multiplicando el tamaño del Punto de Prueba por el factor de productividad.

Para el cálculo de la técnica de estimación de puntos de prueba, consideramos las siguientes variables.

  • Complejidad de los requisitos de ensayo

Complejidad de los requisitos de ensayo

  • Interfaz con otros requisitos

Interfaz con otros requisitos

  • Número total de puntos de verificación

Número total de puntos de verificación

  • Datos de ensayo de referencia

Datos de prueba de referencia

A continuación, debemos considerar los vectores de peso para cada una de las variables de datos y organizarlos de la siguiente manera.

Vectores de peso para las variables de datos

Factor de ajuste = Promedio de (peso del producto de complejidad y peso del factor) / 30

Punto de Prueba de ajuste para el diseño del Caso de prueba = Punto de Prueba total X (1 + Factor de ajuste para el diseño del Caso de Prueba)

Punto de Prueba ajustado para la ejecución del caso de prueba = Punto de Prueba Total X (1 + Factor de ajuste para la ejecución del Caso de Prueba)

Punto de Prueba total (normalizado) X (1 + Factor de ajuste para el diseño/ejecución del Caso de prueba) = Punto de Prueba ajustado para el diseño/ejecución del Caso de Prueba

Esfuerzo total en Horas Persona (PH) = Número de puntos de Prueba Normalizados / Productividad (en puntos de Prueba Normalizados por Hora Persona)

Ejemplos de Estimación de prueba

Intentemos aplicar la formulación anterior a otro uso práctico.

Supongamos que terminamos con un requisito de prueba en el que tenemos 5 escenarios de prueba para probar.

Ahora digamos que el escenario de prueba 1 tiene 5 resultados esperados de prueba, el escenario de prueba 2 tiene 6 resultados esperados de prueba, el escenario de prueba 3 solo 2 resultados esperados de prueba, el escenario de prueba 4 9 resultados esperados de prueba, el escenario de prueba 5 también 9 resultados esperados de prueba, respectivamente.

Clasificamos los escenarios de prueba en tres clases, es decir, complejo, simple y moderado, en función del número total de resultados esperados presentes en estas tres clases.

Las clases complejas tendrán más de 7 resultados esperados, mientras que las simples consistirán en menos de 5 resultados esperados y los escenarios moderados consistirán en entre 4 y 7 resultados esperados.

Clasificamos así el escenario de prueba 1 y el escenario de prueba 2 como escenarios moderados, el escenario 5 y el escenario 6 como complejos y el escenario de prueba 3 como simple.

Ahora aplicaremos puntos de prueba a todos estos escenarios. Aplicamos 5 puntos de prueba para las clases complejas, 3 para las moderadas y 2 para los escenarios simples.

Multiplicamos los puntos de prueba asumidos por el número total de resultados esperados en todos estos escenarios de prueba. Así que terminamos con las siguientes aproximaciones:

Escenario 1: 3 puntos de prueba * 5 resultados esperados de la prueba = Puntos de prueba ajustados = 25
Escenario 2: 3 puntos de prueba * 6 resultados esperados de la prueba = Puntos de prueba ajustados = 30
Escenario 3: 2 puntos de prueba * 2 resultados esperados de la prueba = Puntos de prueba ajustados = 4
Escenario 4: 5 puntos de prueba * 9 resultados esperados de la prueba = Puntos de prueba ajustados = 45
Escenario 5: 5 puntos de prueba * 9 resultados esperados de la prueba = Puntos de prueba ajustados = 45

Así que teniendo en cuenta que necesitamos solicitar, digamos, 5 Horas / Persona para cada punto de prueba ajustado, terminamos obteniendo el siguiente resultado aproximado.

Escenario de Prueba 1: 25 ajustado puntos de prueba * 5 Horas = 125 Horas
Escenario de Prueba 2: 30 ajustado puntos de prueba * 5 Horas = 150 Horas
Escenario de Prueba 3: 4 puntos de prueba ajustados * 5 Horas / Persona= 20 Horas / Persona
Escenario de prueba 4: 45 puntos de prueba ajustados * 5 Horas / Persona = 225 Horas / Persona
Escenario de prueba 5: 45 puntos de prueba ajustados * 5 Horas / Persona = 225 Horas / Persona

Por lo que el total aproximado de horas / persona es: 745 Horas / Persona

Método de Estimación de puntos de Caso de uso

los casos de uso en los que calculamos el esfuerzo de estimación general de la prueba en función de los casos de uso o los requisitos.

A continuación se muestra un proceso detallado del método de estimación de puntos de casos de uso:

 Método de estimación de puntos de casos de uso

Un ejemplo de lo mismo es que, en un requisito particular, tenemos 5 casos de uso, caso de uso 1, caso de uso 2,…, caso de uso 5, respectivamente. Ahora consideremos que el caso de uso 1 consta de 6 actores, el caso de uso 2 consta de 15 actores, los casos de uso 3, 4 y 5, 3, 4 y 5 actores respectivamente.

Consideramos como negativo cualquier caso de uso que involucre el número total de actores como inferior a 5, como positivo cualquier caso de uso con el número total de actores igual o superior a 5 e inferior o igual a 10 y como excepcional cualquier caso de uso con más de 10 actores.

Decidimos asignar 2 puntos para los casos de uso excepcionales, 1 para los positivos y -1 para los negativos.

Por lo tanto, clasificamos los casos de uso 1 y 5 como positivos, el caso de uso 2 como excepcional y el caso de uso 3 y 4 como negativos, respectivamente, en función de nuestras suposiciones mencionadas anteriormente.

Por lo tanto, los pesos de los actores sin procesar = Caso de uso 1 = (número total de actores) 5 * 1(el punto asignado) = 5. Del mismo modo,

Caso de uso 2 = 15 * 2 = 30 .

Repitiendo el proceso para el resto de los casos de uso, recibimos el peso del actor sin procesar = 33

Peso del caso de uso sin procesar = no total. de casos de uso = 5

Punto de caso de uso sin procesar = Pesos de actores no ajustados + Peso de caso de uso no ajustado= 33 + 5 = 38

Caso de uso procesado punto = 38 * = 26.7 o 28 Horas / Persona aproximadamente

Técnica de ruptura de fase de trabajo

La técnica de ruptura de fase de trabajo se puede describir en los siguientes pasos.

  • Desglosar el trabajo general en fases.
  • Comience con la fase más simple y asígnele un valor aproximado de estimación.
  • A continuación, proceda a identificar la siguiente fase posible que se puede iniciar una vez que se complete esta fase.
  • Derive un posible conjunto de valores de aproximación que podrían aplicarse a esta fase y elija el valor máximo entre todos los valores de aproximación derivados.
  • Suma el valor de estimación aproximado añadiendo el valor de estimación del esfuerzo de fase actual al valor ya existente.
  • Continúe con los pasos 3 a 5 hasta que se agoten todas las fases identificadas en el primer paso.
  • Aceptar el valor estimado aproximado final como último.

Supongamos que en un requisito hay 5 fases requeridas. En la fase inicial 1, asumimos que el esfuerzo total necesario es de 35 horas-persona y luego comenzamos la siguiente fase 2 para la cual tenemos 4 supuestos comparativos de 35, 45, 55 y 65 respectivamente.

Consideramos las 65 horas-persona que es el valor máximo aquí. En la fase 3, 4, 5 se nos ocurren estimaciones (12 , 33, 43 , 54) , (15 , 10 , 7 , 8) y (2 , 16 , 5 , 13) respectivamente. Al aplicar dicho principio, terminamos con 185 Horas / Persona respectivamente.

Estoy poniendo información sobre Cómo estimar los esfuerzos de prueba para cualquier tarea de prueba, que aprendí de mi experiencia.

9 Consejos Generales sobre Cómo Estimar el Tiempo de Prueba con Precisión

Factores Que Afectan la Estimación de Pruebas de Software, y Consejos Generales para Estimar con Precisión:

#1) Piense en algún tiempo de búfer: La estimación debe incluir algún búfer. Pero no agregue un búfer, lo cual no es realista. Tener un búfer en la estimación nos permite hacer frente a cualquier retraso que pueda ocurrir. Tener un búfer también ayuda a garantizar la máxima cobertura de prueba.

#2) Considere el ciclo de error: La estimación de prueba también incluye el ciclo de error. El ciclo de ensayo real puede durar más días de lo estimado.

Para evitar esto, debemos considerar el hecho de que el ciclo de prueba depende de la estabilidad de la construcción. Si la compilación no es estable, los desarrolladores pueden necesitar más tiempo para arreglarla y, obviamente, el ciclo de pruebas se extiende automáticamente.

#3) Disponibilidad de todos los Recursos para el Período estimado: La estimación de la prueba debe considerar todas las hojas planificadas por los miembros del equipo (hojas generalmente largas) en las próximas semanas o meses. Esto asegurará que las estimaciones sean realistas.

La estimación debe considerar un número fijo de recursos para un ciclo de prueba. Si el número de recursos se reduce, la estimación debería volver a visitarse y actualizarse en consecuencia.

#4) ¿Podemos Hacer Pruebas Paralelas? ¿Tiene alguna versión anterior del mismo producto para que pueda comparar la salida? Si es así, entonces esto puede hacer que su tarea de prueba sea un poco más fácil. Deberías pensar en la estimación basada en la versión de tu producto.

#5) Las estimaciones Pueden Ir mal, así que vuelva a visitar las estimaciones con frecuencia en las etapas iniciales antes de confirmarlas: En las primeras etapas, debemos volver a visitar con frecuencia las estimaciones de prueba y hacer modificaciones si es necesario. No deberíamos ampliar la estimación una vez que la congelemos a menos que haya cambios importantes en los requisitos.

#6) ¡Piensa en Tu Experiencia Pasada para Hacer Juicios! Las experiencias de proyectos anteriores desempeñan un papel vital en la preparación de estimaciones de tiempo. Podemos tratar de evitar todas las dificultades o problemas que se enfrentaron en proyectos anteriores. Podemos analizar cómo fueron las estimaciones anteriores y cuánto ayudaron a entregar el producto a tiempo.

#7) Considere el Alcance del proyecto: Conozca cuál es el objetivo final del proyecto y una lista de todos los entregables finales. Los factores a considerar para proyectos pequeños y grandes difieren mucho. Los proyectos grandes suelen incluir la configuración de un banco de pruebas, la generación de datos de prueba, scripts de prueba, etc.

Por lo tanto, las estimaciones deben basarse en todos estos factores. Mientras que para proyectos pequeños, normalmente el ciclo de prueba incluye escritura de casos de prueba, ejecución y regresión.

#8) ¿Va a Realizar Pruebas de Carga? Si necesita dedicar un tiempo considerable a las pruebas de rendimiento, calcule en consecuencia. Las estimaciones para proyectos que implican pruebas de carga deben considerarse de manera diferente.

#9) ¿Conoces A Tu Equipo? Si conoce las fortalezas y debilidades de las personas que trabajan en su equipo, puede estimar las tareas de prueba con mayor precisión. Al estimar, se debe tener en cuenta el hecho de que no todos los recursos pueden producir el mismo nivel de productividad.

Algunas personas pueden ejecutar más rápido en comparación con otras. Aunque este no es un factor importante, se suma al retraso total en los entregables.

Conclusión

La estimación de pruebas de software es una práctica que requiere la participación de profesionales experimentados, así como la introducción de las mejores prácticas de toda la industria, como los métodos de punto de caso de prueba y punto de caso de uso.

También es importante adoptar una mente abierta para personalizar los procesos requeridos. La implementación exitosa de estos procesos conduce a una mejora general en el proceso de prueba.

Este es un artículo invitado del autor «N. Sandhya Rani».

Última actualización: 29 de noviembre de 2021

Write a Comment

Tu dirección de correo electrónico no será publicada.