software test estimation techniques
Para el éxito de cualquier proyecto, la estimación de la prueba y la ejecución adecuada es tan importante como el ciclo de desarrollo. Cumplir con 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 'Esfuerzos de prueba de software'. Trabajar en proyectos variados ayuda a preparar una estimación precisa del ciclo de prueba. Obviamente, no se puede poner ciegamente algunos días para cualquier tarea de prueba. La estimación de la prueba debe ser realista y precisa.
En este artículo, trato de poner algunos puntos de una manera muy simple, que son útiles para preparar una estimación de prueba precisa.
Lo que vas a aprender:
- Breve descripción del proceso de estimación de la prueba
- Ejemplos de estimación de prueba
- 9 consejos generales sobre cómo calcular el tiempo de prueba con precisión
- Conclusión
- Lectura recomendada
Breve descripción del proceso de estimación de la prueba
'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'. (Referencia: Wikipedia )
Todos nos encontramos con diferentes tareas y deberes y plazos a lo largo de nuestra vida como profesionales, ahora hay dos enfoques para encontrar una solución a un problema.
Un primer enfoque es un enfoque reactivo mediante el cual intentamos encontrar una solución al problema en cuestión solo después de que llega.
En el segundo enfoque, que se puede llamar un enfoque proactivo, en el que primero nos preparamos mucho antes de que llegue el problema con nuestras experiencias pasadas y luego con nuestra experiencia pasada, tratamos de encontrar una solución al desafío cuando llega.
Por 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 al costo se requeriría para completar una tarea definida.
Una vez que el equipo de pruebas puede 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 puede definirse entonces más formalmente como un cálculo aproximado del costo probable de una pieza de trabajo.
Además, lea=> 7 factores que afectan la estimación de prueba del proyecto de automatización de selenio
Los requisitos previos básicos del proceso de estimación de pruebas
# 1) Información obtenida a partir del trabajo con experiencias pasadas : Siempre es una buena práctica dedicar algo de tiempo a recordar proyectos pasados que plantearon desafíos similares a los actuales.
# 2) Los documentos o artefactos disponibles: los las herramientas del repositorio de gestión de pruebas vienen útil en este tipo de escenarios, ya que almacenan los documentos de requisitos y aclaraciones. El equipo de pruebas puede remitir estos documentos para definir claramente el alcance del proyecto.
# 3) Supuestos sobre el tipo de trabajo: La experiencia laboral pasada ayuda a hacer suposiciones sobre el proyecto. Aquí es donde más importa contratar profesionales con experiencia.
Los gerentes de pruebas pueden captar los cerebros de estas personas para obtener 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 encontrar al equipo en el futuro.
# 5) Determinar si los documentos se han basado en la línea base: El equipo de pruebas también debe determinar si los requisitos se han establecido en la línea base o no. Si los documentos no tienen una base de referencia, es importante determinar la frecuencia de los cambios.
# 6) Todas las responsabilidades y dependencias deben ser claras: La organización debería definir claramente las funciones y responsabilidades de todas las personas que realizarían el proceso de estimación.
# 7) Documentación y seguimiento de los registros de estimación: Se debe documentar toda la información relevante para el proceso de estimación.
# 8) Actividades que deben realizarse durante el proceso de estimación de la prueba
- Organizar el equipo que realizaría estimaciones
- Descomponer el proyecto en fases de proyecto y actividades constitutivas posteriores.
- Calcular la estimación basada en proyectos anteriores y experiencia profesional.
- Priorizar las posibles amenazas y proponer enfoques para mitigar esos riesgos
- Revisar y documentar la parte relevante del trabajo.
- Presentar el trabajo a las partes interesadas relevantes
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 del punto de prueba
- Estimación basada en la fase de trabajo
- Estimación puntual del caso de uso
Cómo y dónde usamos estas técnicas:
# 1) Estimación del punto de prueba es una técnica de estimación simple y fácilmente comprensible que se utiliza 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.
tutorial de selenium webdriver java eclipse pdf
# 2) 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 aproximada 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 llega a una estimación adecuada.
# 3) Técnica de estimación de puntos de casos de uso es la estimación de los casos de uso donde los pesos de los actores no ajustados y los pesos de los casos de uso no ajustados se utilizan para determinar la estimación de las pruebas de software.
Detalles de la técnica de estimación del punto de prueba
La técnica de estimación del punto de prueba se realiza siguiendo los pasos enumerados: -

(Las siguientes ponderaciones, que pueden variar de un proyecto a otro, podrían considerarse bajo este paradigma: algunas de estas ponderaciones son la ponderación del lenguaje de programación según la complejidad del código, la ponderación de la aplicación según el tipo de aplicación y las ponderaciones de prueba que son asignados en función de las diferentes fases de las pruebas 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 del punto de prueba, consideramos las siguientes variables.
- Prueba de la complejidad de los requisitos

- Interfaz con otros requisitos

- Número total de puntos de verificación

- Datos de prueba de referencia

Luego, debemos considerar los vectores de peso para cada una de las variables de datos y organizarlos de la siguiente manera.

Factor de ajuste = Promedio de (producto de la ponderación de la complejidad y la ponderación 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)
con qué abrir archivos swf
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 horas persona)
Ejemplos de estimación de prueba
Intentemos aplicar la formulación anterior en otro uso práctico.
Supongamos que terminamos con un requisito de prueba mediante el cual 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 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.
Por lo tanto, clasificamos los escenarios de prueba en tres clases, es decir, complejos, simples y moderados 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 constarán de entre 4 y 7 resultados esperados.
Por lo tanto, clasificamos 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 prueba = puntos de prueba ajustados = 30
Escenario 3: 2 puntos de prueba * 2 resultados esperados de prueba = puntos de prueba ajustados = 4
Escenario 4: 5 puntos de prueba * 9 resultados esperados de prueba = puntos de prueba ajustados = 45
Escenario 5: 5 puntos de prueba * 9 resultados esperados de prueba = puntos de prueba ajustados = 45
Entonces, considerando que necesitamos aplicar para decir 5 Horas Persona por cada punto de prueba ajustado, terminamos obteniendo el siguiente resultado aproximado.
Escenario de prueba 1:25 puntos de prueba ajustados * 5 horas por persona = 125 horas por persona
Escenario de prueba 2: 30 puntos de prueba ajustados * 5 horas persona = 150 horas persona
Escenario de prueba 3: 4 puntos de prueba ajustados * 5 horas por persona = 20 horas por 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
Así que el total de horas-persona aproximadas es: 745 horas-persona
Utilice el método de estimación de casos puntuales
El método de punto de caso de uso se basa en los casos de uso en los que calculamos el esfuerzo de estimación de prueba general en función de los casos de uso o los requisitos.
A continuación se muestra el proceso detallado del método de estimación de puntos de casos de uso:

Un ejemplo de lo mismo es que digamos 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 cualquier caso de uso que involucre el número total de actores como menos de 5 como negativo, cualquier caso de uso con el número total de actores es igual o mayor que 5 y menor o igual a 10 como positivo y cualquier caso de uso con más de 10 actores como excepcionales.
Decidimos asignar 2 puntos a los casos de uso excepcionales, 1 a los positivos y -1 a 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, 4 como negativos, respectivamente, en función de nuestras suposiciones antes mencionadas.
Entonces, los pesos de los actores sin procesar = Caso de uso 1 = (número total de actores) 5 * 1 (el punto asignado) = 5. De manera similar
Utilice el caso 2 = 15 * 2 = 30.
Repitiendo el proceso para el resto de los casos de uso, recibimos las ponderaciones de actor sin procesar = 33
Peso del caso de uso sin procesar = número total de casos de uso = 5
Punto de caso de uso no procesado = ponderaciones de actores no ajustadas + ponderación de casos de uso no ajustada = 33 + 5 = 38
Punto de caso de uso procesado = 38 * (0,65+ (0,01 * 50) = 26,7 o 28 horas-persona aproximadamente
Técnica de descomposición de la fase de trabajo
La técnica de descomposición de la fase de trabajo se puede describir en los siguientes pasos.
- Divida el trabajo general en fases.
- Comience con la fase más simple y asígnele un valor de estimación aproximado.
- Luego proceda a identificar la siguiente fase posible que podría comenzar una vez que esta fase se complete.
- Derive un posible conjunto de valores de aproximación que se podrían aplicar a esta fase y elija el valor máximo entre todos los valores de aproximación derivados.
- Resuma el valor de estimación aproximado agregando el valor de estimación de 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.
- Acepte el valor estimado aproximado final como el último.
Suponga que en un requisito hay 5 fases requeridas. Entonces, en la fase inicial 1 asumimos que los esfuerzos totales necesarios son 35 horas-persona y luego comenzamos la siguiente fase 2 para la cual tenemos 4 supuestos comparativos de 35, 45, 55 y 65 respectivamente.
Por tanto, consideramos las 65 personas-hora, que es el valor máximo aquí. En las fases 3, 4, 5 obtenemos estimaciones (12, 33, 43, 54), (15, 10, 7, 8) y (2, 16, 5, 13) respectivamente. Al aplicar dicho principio, obtenemos 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 calcular 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 amortiguación
La estimación debe incluir un margen de seguridad. Pero no agregue un búfer, que no es realista. Tener un búfer en la estimación permite hacer frente a los retrasos que puedan ocurrir. Tener un búfer también ayuda a garantizar la máxima cobertura de prueba.
# 2) Considere el ciclo de errores
La estimación de la prueba también incluye el ciclo de errores. El ciclo de prueba real puede tardar 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 solucionarlo y, obviamente, el ciclo de prueba 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 licencias planificadas por los miembros del equipo (generalmente las licencias largas) en las próximas semanas o los próximos 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 la cantidad de recursos se reduce, la estimación debe volver a visitarse y actualizarse en consecuencia.
# 4) ¿Podemos hacer pruebas en paralelo?
¿Tiene algunas versiones anteriores del mismo producto para que pueda comparar la salida? En caso afirmativo, esto puede facilitar un poco su tarea de prueba. Debería pensar en la estimación basada en la versión de su producto.
# 5) Las estimaciones pueden salir mal: vuelva a visitar las estimaciones con frecuencia en las etapas iniciales antes de comprometerlas.
En las primeras etapas, debemos volver a visitar con frecuencia las estimaciones de prueba y hacer una modificación si es necesario. No debemos extender la estimación una vez que la congelemos, a menos que haya cambios importantes en los requisitos.
# 6) ¡Piense en su experiencia pasada para emitir juicios!
Las experiencias de proyectos pasados juegan un papel vital al preparar estimaciones de tiempo. Podemos tratar de evitar todas las dificultades o problemas que enfrentamos 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
Sepa cuál es el objetivo final del proyecto y enumere todos los entregables finales. Los factores a considerar para proyectos pequeños y grandes difieren mucho.
El proyecto grande generalmente incluye la creació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 en proyectos pequeños, normalmente el ciclo de prueba incluye la escritura, ejecución y regresión de casos de prueba.
# 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) ¿Conoce a su 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 considerar el hecho de que todos los recursos pueden no 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 la práctica que requiere la participación de profesionales experimentados, así como la introducción de las mejores prácticas de la industria, como el punto de caso de prueba y los métodos de punto de caso de uso.
También es importante adoptar una mentalidad 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 ”.
¿Cuál de las siguientes opciones es verdadera para una prueba de integración?
Lectura recomendada
- Los mejores servicios de pruebas de software de control de calidad de SoftwareTestingHelp
- Guía de subcontratación de control de calidad: empresas de subcontratación de pruebas de software
- Pruebas alfa y beta (una guía completa)
- Guía de currículum vitae de prueba de software perfecta (con muestra de currículum vitae de Software Tester)
- Trabajos de prueba de software: una guía completa para trabajos de prueba de control de calidad
- Técnicas de estimación ágil: una estimación verdadera en un proyecto ágil
- 68 Recursos esenciales para ser un probador exitoso (¡No se lo pierda!)
- Tipos de pruebas de software: diferentes tipos de pruebas con detalles