Técnicas de estimación de pruebas de software: guía paso a paso

¿Qué es la estimación de prueba de software?

La estimación de prueba es una actividad de gestión que aproxima el tiempo que tardaría en completarse una tarea. Estimar el esfuerzo de la prueba es una de las tareas principales e importantes en la gestión de pruebas.

¿Por qué probar la estimación?

Dos preguntas que puede esperar de sus clientes al discutir posibles compromisos de prueba son

Para proyectos pequeños, estas preguntas son relativamente fáciles de responder. Pero para el gran proyecto como el sitio web de Testing Guru99 Bank, debe pensar mucho para responder esas preguntas.

En este tutorial, aprenderá:

  • ¿Qué es la estimación de prueba de software?
  • ¿Por qué probar la estimación?
  • ¿Qué estimar?
  • ¿Cómo estimar?
    • Paso 1) Divida toda la tarea del proyecto en subtareas
    • Paso 2) Asignar cada tarea a un miembro del equipo
    • Paso 3) Estimación del esfuerzo para las tareas
      • Método 1) Método de punto de función
      • Método 2) Estimación de tres puntos
    • Paso 4) Validar la estimación
  • Prueba de las mejores prácticas de estimación
  • Otras tecnicas

¿Qué estimar?

  • Recursos: se requieren recursos para llevar a cabo las tareas del proyecto. Pueden ser personas, equipos, instalaciones, financiación o cualquier otra cosa que se pueda definir como necesaria para completar una actividad de proyecto.
  • Tiempos: el tiempo es el recurso más valioso de un proyecto. Cada proyecto tiene un plazo de entrega.
  • Habilidades humanas: las habilidades humanas significan el conocimiento y la experiencia de los miembros del equipo. Afectan a su estimación. Por ejemplo, un equipo, cuyos miembros tienen pocas habilidades de prueba, tomará más tiempo para terminar el proyecto que uno que tiene altas habilidades de prueba.
  • Costo: el costo es el presupuesto del proyecto . En términos generales, significa cuánto dinero se necesita para terminar el proyecto.

¿Cómo estimar?

Lista de técnicas de estimación de pruebas de software

  • Estructura de desglose del trabajo
  • Técnica de estimación de pruebas de software de 3 puntos
  • Técnica Delphi de banda ancha
  • Análisis de punto de función / punto de prueba
  • Uso: método de punto de caso
  • Distribución porcentual
  • Método ad-hoc

A continuación se muestra el proceso de 4 pasos para llegar a una estimación

Aprenderá a combinar estas técnicas para encontrar la estimación del caso de estudio de Guru99 Bank.

Paso 1) Divida toda la tarea del proyecto en subtareas

La tarea es un trabajo que se le ha encomendado a alguien. Para hacer esto, puede utilizar la técnica de Estructura de Desglose del Trabajo .

En esta técnica, un proyecto complejo se divide en módulos. Los módulos se dividen en submódulos. Cada submódulo se divide a su vez en funciones. Significa dividir toda la tarea del proyecto en las tareas más pequeñas .

Utilice la estructura de desglose del trabajo para dividir el proyecto del Banco Guru99 en 5 tareas más pequeñas:

Después de eso, puede dividir cada tarea en la subtarea. El propósito de esta actividad es crear tarea como se detalla como sea posible .

Tarea Subtarea
Analizar la especificación de requisitos de software Investigar las especificaciones de requisitos suaves
Entrevista con el desarrollador y otras partes interesadas para saber más sobre el sitio web.
Crear la especificación de prueba Diseñar escenarios de prueba
Crea casos de prueba
Revisar y revisar casos de prueba
Ejecuta los casos de prueba Construya el entorno de prueba
Ejecuta los casos de prueba
Revisar los resultados de la ejecución de la prueba
Informar los defectos
Crear los informes de defectos
Informar los defectos

Paso 2) Asignar cada tarea a un miembro del equipo

En este paso, cada tarea se asigna al miembro apropiado del equipo del proyecto. Puede asignar tareas de la siguiente manera

Tarea Miembros
Analizar la especificación de requisitos de software Todos los miembros
Crea la especificación de prueba Probador / Analista de pruebas
Construya el entorno de prueba Administrador de pruebas
Ejecuta los casos de prueba Probador, administrador de pruebas
Informar defectos Ensayador

Paso 3) Estimación del esfuerzo para las tareas

Hay 2 técnicas que puede aplicar para estimar el esfuerzo de las tareas.

  1. Método de punto funcional
  2. Estimación de tres puntos

Método 1) Método de punto de función

En este método, el administrador de pruebas estima el tamaño, la duración y el costo de las tareas

Paso A) Estime el tamaño de la tarea.

En el Paso 1, ya ha dividido toda la tarea del proyecto en una pequeña tarea utilizando el método WBS. Ahora calcula el tamaño de esas tareas. Practiquemos con una tarea en particular " Crear la especificación de prueba "

El tamaño de esta tarea depende del tamaño funcional del sistema bajo prueba. El tamaño funcional refleja la cantidad de funcionalidad que es relevante para el usuario. Cuanto más número de la funcionalidad, el más complejo sistema es.

Antes de comenzar el esfuerzo real de las tareas de estimación, los puntos funcionales se dividen en tres grupos, como Complejo , Medio simple , de la siguiente manera:

Basado en el complejo de funciones de software, el Test Manager tiene que dar suficiente peso a cada punto funcional. Por ejemplo

Grupo Peso
Complejo 5
Medio 3
Sencillo 1

Tomemos un ejercicio de ejemplo simple para ser más claros:

Eche un vistazo a la especificación de software del sitio web Guru99 Bank aquí, el ingeniero de software ya describió los módulos de software en detalle, ¿puede determinar la complejidad de las características del sitio web dando el peso de cada módulo?

Más complejo es el punto de función, mayor es el esfuerzo para probarlo. El sitio web está dividido en 12 puntos de función , puede determinar la complejidad de cada punto de función de la siguiente manera:

No. Nombre del módulo Roles aplicables Descripción Peso
1. Consulta de saldo Cliente Gerente Cliente: un cliente puede tener varias cuentas bancarias. Solo puede ver el saldo de sus cuentas Administrador: un administrador puede ver el saldo de todos los clientes que están bajo su supervisión 3
2. Transferencia de fondos Cliente Gerente Cliente: Un cliente puede hacer que se transfieran fondos desde su cuenta "propia" a cualquier cuenta de destino. Administrador: un administrador puede transferir fondos desde cualquier cuenta bancaria de origen a la cuenta de destino. 5
3. Mini declaración Cliente Gerente Un mini estado de cuenta mostrará las últimas 5 transacciones de una cuenta. Cliente: un cliente puede ver un mini estado de cuenta solo de sus "propias" cuentas. Administrador: un administrador puede ver un mini estado de cuenta de cualquier cuenta. 3
4. Declaración personalizada Cliente Gerente Un estado de cuenta personalizado le permite filtrar y mostrar transacciones en una cuenta en función de la fecha, el valor de la transacción Cliente: un cliente puede ver el estado de cuenta personalizado de solo sus "propias" cuentas Administrador: un administrador puede ver el estado de cuenta personalizado de cualquier cuenta 5
5. Cambiar la contraseña Cliente Gerente Cliente: un cliente puede cambiar la contraseña solo de su cuenta. Administrador: un administrador puede cambiar la contraseña solo de su cuenta. No puede cambiar las contraseñas de sus clientes. 1
6. Nuevo cliente Gerente Gerente: un gerente puede agregar un nuevo cliente. Gerente: un gerente puede editar detalles como dirección, correo electrónico, teléfono de un cliente. 3
7. Nueva cuenta Gerente Actualmente el sistema proporciona 2 tipos de cuentas
  • Ahorro
  • Actual
Un cliente puede tener varias cuentas de ahorro (una a su nombre, otra a nombre conjunto, etc.). Puede tener varias cuentas corrientes para diferentes empresas que posee. O puede tener varias cuentas corrientes y de ahorro. Administrador: un administrador puede agregar una nueva cuenta para un cliente existente.
5
8. Editar cuenta Gerente Administrador: un administrador puede agregar una edición de los detalles de la cuenta para una cuenta existente 1
9. Borrar cuenta Gerente Administrador: un administrador puede agregar y eliminar una cuenta para un cliente. 1
10. Eliminar cliente Gerente Un cliente puede ser eliminado solo si no tiene cuentas activas o de ahorro actual. Administrador: Un administrador puede eliminar un cliente. 1
11. Depositar Gerente Administrador: un administrador puede depositar dinero en cualquier cuenta. Generalmente se hace cuando se deposita efectivo en una sucursal bancaria. 3
12. Retiro Gerente Administrador: un administrador puede retirar dinero de cualquier cuenta. Por lo general, se realiza cuando se retira efectivo en una sucursal bancaria. 3

PASO B) Estimar la duración de la tarea

Después de clasificar la complejidad de los puntos de función, debe estimar la duración para probarlos. Duración significa cuánto tiempo se necesita para terminar la tarea.

  • Esfuerzo total : el esfuerzo por probar completamente todas las funciones del sitio web
  • Puntos de función totales : módulos totales del sitio web
  • Estimación definida por puntos de función : el esfuerzo promedio para completar un punto de función. Este valor depende de la productividad del miembro que se hará cargo de esta tarea.

Suponga que su equipo de proyecto ha estimado puntos definidos por función de 5 horas / puntos . Puede estimar el esfuerzo total para probar todas las funciones del sitio web Guru99 Bank de la siguiente manera:

Peso # de puntos de función Total
Complejo 5 3 15
Medio 3 5 15
Sencillo 1 4 4
Función Total de puntos 34
Estimar definir por punto 5
Esfuerzo total estimado (horas persona) 170

Por lo tanto, el esfuerzo total para completar la tarea "Crear la especificación de prueba" de Guru99 Bank es de aproximadamente 170 horas-hombre.

Una vez que comprenda el esfuerzo que se requiere, puede asignar recursos para determinar cuánto tiempo tomará la tarea (duración), y luego puede estimar los costos laborales y no laborales.

El ejemplo anterior también muestra la importancia del miembro de su equipo. Si tiene miembros talentosos y experimentados , puede terminar la tarea asignada en poco tiempo y su proyecto terminará en la fecha límite o antes.

PASO C) Estime el costo de las tareas

Este paso le ayuda a responder la última pregunta del cliente " ¿Cuánto cuesta?"

Suponga que, en promedio, el salario de su equipo es de $ 5 por hora. El tiempo necesario para la tarea "Crear especificaciones de prueba" es de 170 horas. En consecuencia, el costo de la tarea es 5 * 170 = $ 850. Ahora puede calcular el presupuesto para otras actividades en WBS y llegar al presupuesto general del proyecto.

Como gerente de proyecto, debe decidir cómo obtener el máximo rendimiento de la inversión de su empresa. Cuanto más precisa sea su estimación del costo del proyecto, mejor podrá administrar el presupuesto de su proyecto.

MÉTODO 2) Estimación de tres puntos

La estimación de tres puntos es una de las técnicas que se pueden utilizar para estimar una tarea. La simplicidad de la estimación de tres puntos la convierte en una herramienta muy útil para un Project Manager que quiere estimar.

En la estimación de tres puntos, se producen inicialmente tres valores para cada tarea según la experiencia previa o las mejores conjeturas de la siguiente manera

Al estimar una tarea, el Administrador de pruebas debe proporcionar tres valores, como se especificó anteriormente. Los tres valores identificados, estiman lo que sucede en un estado óptimo , lo que es más probable o lo que pensamos que sería el peor escenario.

Veamos cómo usar los tres valores anteriores en el siguiente ejemplo

Para la tarea " Crear la especificación de la prueba ", ¿puede estimar el esfuerzo de la prueba? Recuerde que debe cubrir todos los módulos del sitio web de Guru99 Bank como se hace en el Método de punto de función

Puede estimar de la siguiente manera

  • El mejor caso para completar esta tarea es de 120 horas-hombre (alrededor de 15 días). En este caso, tiene un equipo talentoso, pueden terminar la tarea en el menor tiempo posible.
  • El caso más probable para completar esta tarea es de 170 horas-hombre (alrededor de 21 días). Este es un caso normal, tiene suficientes recursos y capacidad para completar la tarea
  • El peor de los casos para completar esta tarea son 200 horas-hombre (alrededor de 25 días). Necesita realizar mucho más trabajo porque los miembros de su equipo no tienen experiencia.

Ahora, asigne el valor a cada parámetro como se muestra a continuación

El esfuerzo para completar la tarea se puede calcular usando la fórmula de distribución doble triangular de la siguiente manera:

En la fórmula anterior, el parámetro E se conoce como promedio ponderado . Es la estimación de la tarea "Crear la especificación de prueba".

Pero tu jefe puede preguntarte

En la estimación anterior, usted solo determina un valor posible y no cierto , debemos conocer la probabilidad de que la estimación sea correcta. Puede utilizar la otra fórmula:

En la fórmula anterior, la desviación estándar media de la desviación estándar, este valor podría brindarle la información sobre la probabilidad de que la estimación sea correcta.

Ahora puede concluir la estimación para la tarea "Crear la especificación de prueba"

Para completar la tarea "Crear la especificación de prueba" del sitio web de Guru99 Bank, necesita 166,6 ± 13,33 horas-hombre (153,33 a 179,99 horas-hombre)

Paso 4) Validar la estimación

Una vez que cree una estimación agregada para todas las tareas mencionadas en la EDT, debe enviarla al consejo de administración , quien la revisará y aprobará .

El miembro del consejo de administración podría estar formado por el director ejecutivo, el director del proyecto y otras partes interesadas.

El consejo de administración revisará y discutirá su plan de estimación con usted. Puede explicarles su estimación de manera lógica y razonable para que puedan aprobar su plan de estimación.

Prueba de las mejores prácticas de estimación

Este tema presenta consejos generales sobre cómo calcular la precisión de las pruebas.

  • Agregue un poco de tiempo de reserva: muchas cosas impredecibles pueden suceder en su proyecto, como que un miembro talentoso del equipo abandone su trabajo repentinamente, las pruebas tarden más tiempo del estimado en completarse ... etc. Tener un búfer en la estimación permite hacer frente a los retrasos que puedan ocurrir.
  • Planificación de recursos de la cuenta en estimación: ¿Qué debe hacer si algunos miembros de su equipo se ausentan durante mucho tiempo? Puede retrasar el proyecto. La planificación de recursos en la estimación juega un papel clave. La disponibilidad de recursos ayudará a garantizar que las estimaciones sean realistas. Aquí debe considerar las hojas para el miembro de su equipo, generalmente hojas largas.
  • Utilice la experiencia pasada como referencia: las experiencias de proyectos pasados ​​juegan un papel vital al preparar las estimaciones de tiempo. Debido a que algún proyecto puede tener alguna similitud, puede reutilizar la estimación anterior. Por ejemplo, si utiliza para hacer un proyecto como probar un sitio web, puede aprender de esa experiencia, tratar de evitar todas las dificultades o problemas que enfrentaron en proyectos anteriores.
  • Cíñete a tu estimación: la estimación es solo una estimación porque puede salir mal . En las primeras etapas del proyecto, debes volver a verificar con frecuencia las estimaciones de prueba y hacer modificaciones si es necesario. No debemos extender la estimación después de que la arreglemos, a menos que haya cambios importantes en los requisitos o tenga que negociar con el cliente acerca de la nueva estimación.

Plantilla de estimación de prueba de software

Descargue el software Test Estimation Excel (.xlsx)

Otras tecnicas

La técnica Delphi de banda ancha, el método de uso - caso puntual, la distribución porcentual y el método ad-hoc son otras técnicas de estimación en la ingeniería de software.

Haga clic aquí si el video no es accesible

Transcripción del video
  • Hagamos un ejercicio: para la aplicación de reserva de vuelo, prepare una estructura de desglose del trabajo del
  • Varias tareas de prueba como: Verificar la funcionalidad de inicio de sesión, Verificar la funcionalidad de un nuevo pedido, Verificar la funcionalidad de fax y otras funcionalidades similares y Estimar el esfuerzo requerido para probar estas funcionalidades
  • Por ejemplo, la funcionalidad de inicio de sesión se puede probar en 2 horas. Asimismo, prepare una lista de todas las tareas y el esfuerzo correspondiente. Pausa el tutorial de formación y completa el ejercicio. Espero que hayas hecho una suposición fundamentada del esfuerzo requerido.
  • Esta es la estrategia ascendente para la estimación de pruebas. La técnica se llama de abajo hacia arriba ya que en función de las tareas que se encuentran en el nivel más bajo de la jerarquía de desglose del trabajo, se estima la duración, las dependencias y los recursos.
  • En la estrategia ascendente, las estimaciones no las toma una sola persona, sino todas las partes interesadas, contribuyentes individuales, expertos y miembros del personal con experiencia en conjunto. La idea es aprovechar la sabiduría colaborativa de los miembros del equipo para llegar a estimaciones de prueba precisas.
  • Ahora que tiene una experiencia considerable en el sistema de reserva de vuelos. Utilice esta experiencia para estimar el esfuerzo requerido para la prueba funcional completa del sitio web. - http://newtours.demoaut.com/
  • La funcionalidad de este sitio es idéntica a la Aplicación de reserva de vuelos, solo que está basada en la web. Pausa el tutorial y haz el ejercicio ahora
  • Espero que, basándose en su experiencia, haya hecho una buena estimación del esfuerzo requerido para probar el sitio web.
    • Este es el enfoque de arriba hacia abajo para la estimación que se basa en la experiencia.
    • Otra técnica es clasificar el proyecto en función de su tamaño y complejidad y luego ver cuánto tiempo ha tardado un proyecto de un tamaño y complejidad en particular en el pasado.
    • Otro enfoque es determinar el esfuerzo promedio por caso de prueba en el pasado para proyectos similares y luego usar casos de prueba estimados del proyecto actual y llegar al esfuerzo total
    • Los modelos de estimación más sofisticados involucran modelos matemáticos complejos. En la práctica, la mayoría de los proyectos utilizan un enfoque de arriba hacia abajo para la estimación.
    • Las estimaciones de prueba pueden verse afectadas por muchos factores, como presiones de tiempo, factores de personas, distribución geográfica del equipo de prueba, etc.

Articulos interesantes...