Técnicas de estimación de pruebas de software
¿Qué es la estimación de pruebas de software?
La estimación de pruebas es una actividad de gestión que aproxima cuánto tiempo una tarea tardaría en completarse. Estimar el esfuerzo para la prueba es una de las gran y importante tareas en Gestión de pruebas.
¿Por qué probar la estimación?
Dos preguntas que puede esperar de sus clientes cuando discuten posibles compromisos de prueba son
Para proyectos pequeños, estas preguntas son relativamente fáciles de responder. Pero para el gran proyecto como Pruebas Sitio web de Guru99 Bank, debes pensar mucho para responder esas preguntas.
¿Qué estimar?
- Recursos: Se requieren recursos para llevar a cabo cualquier tarea del proyecto. Pueden ser personas, equipos, instalaciones, financiación o cualquier otra cosa susceptible de definición necesaria para la realización de una actividad de proyecto.
- Horarios: El tiempo es el recurso más valioso en un proyecto. Todo proyecto tiene un plazo de entrega.
- Habilidades humanas : Las habilidades humanas significan especialistas y la de 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 proyecto. presupuesto. 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 puntos 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á cómo combinar estas técnicas para encontrar la estimación para el estudio de caso de Guru99 Bank.
Paso 1) Divida toda la tarea del proyecto en subtareas
Una tarea es un trabajo que se le ha encomendado a alguien. Para hacer esto, puedes usar el Estructura de desglose del trabajo la técnica.
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 funcionalidad. Esto significa dividir toda la tarea del proyecto en más pequeño tareas.
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, puedes dividir cada tarea en subtarea. El propósito de esta actividad es crear tareas como detallado as posible.
Tarea | Subtarea |
---|---|
Analizar la especificación de requisitos de software. | Investigar las especificaciones de requisitos blandos |
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. |
Crear casos de prueba | |
RevVer y revisar casos de prueba | |
Ejecuta los casos de prueba | Construya el entorno de prueba |
Ejecuta los casos de prueba | |
RevVer los resultados de la ejecución de la prueba. | |
Reportar los defectos | |
Crea el Defecto informes | |
Reportar los defectos |
Paso 2) Asigne cada tarea a un miembro del equipo
En este paso, cada tarea se asigna al adecuado miembro en el equipo del proyecto. Puede asignar tareas de la siguiente manera
Tarea | Miembros |
---|---|
Analizar la especificación de requisitos de software. | Todos los miembros |
Crear 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 |
Reportar defectos | Tester |
Paso 3) Estimación del esfuerzo para las tareas
Hay 2 técnicas que puedes aplicar para estimar el esfuerzo de las tareas.
- Método de punto funcional
- Estimación de tres puntos
Método 1) Método del 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) Estimar el tamaño de la tarea
In Paso 1, ya ha dividido toda la tarea del proyecto en tareas pequeñas utilizando el método WBS. Ahora estima 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 sea relevante para el usuario. Cuanto más número de funcionalidad, más integraciones el sistema es.
Antes de comenzar a estimar el esfuerzo de las tareas reales, los puntos funcionales se dividen en tres grupos como Complejo, Medio Sencillo de la siguiente manera:
Basándose en el complejo de funciones del software, el administrador de pruebas debe proporcionar suficiente peso a cada punto funcional. Por ejemplo
Grupo procesos | Peso |
---|---|
Complejo | 5 |
Mediana | 3 |
sencillos | 1 |
Tomemos un ejercicio de ejemplo simple para quedar más claro:
Eche un vistazo a las especificaciones del software del sitio web Guru99 Bank. aquí, el ingeniero de software ya ha descrito los módulos de software en detalle, ¿puede determinar el complejidad de las características del sitio web dando el peso de cada módulo?
Cuanto más compleja sea la función, más esfuerzo se requiere para probarla. El sitio web se divide en Función 12 puntos, puede determinar el complejidad de cada función apunta de la siguiente manera:
No. | Nombre del módulo | Roles aplicables | Descripción | Peso |
---|---|---|---|---|
1. | Consulta de saldo | Manager
Cliente |
Cliente: Un cliente puede tener varias cuentas bancarias. Sólo puede ver el saldo de sus cuentas.
Manager: Un gerente puede ver el saldo de todos los clientes que están bajo su supervisión. |
3 |
2. | Transferencia de fondos | Manager
Cliente |
Cliente: Un cliente puede transferir fondos desde su "propia" cuenta a cualquier cuenta de destino.
Manager: Un administrador puede transferir fondos desde cualquier cuenta bancaria de origen a la cuenta de destino. |
5 |
3. | Mini declaración | Manager
Cliente |
Un mini estado de cuenta mostrará las últimas 5 transacciones de una cuenta
Cliente: Un cliente puede ver un mini-estado sólo de sus "propias" cuentas Manager: Un administrador puede ver el mini-estado de cuenta de cualquier cuenta. |
3 |
4. | Declaración personalizada | Manager
Cliente |
Un extracto personalizado le permite filtrar y mostrar transacciones en una cuenta según la fecha y el valor de la transacción.
Cliente: Un cliente puede ver el estado de cuenta personalizado solo de sus "propias" cuentas Manager: Un administrador puede ver el extracto personalizado de cualquier cuenta. |
5 |
5. | Cambiar Contraseña | Manager
Cliente |
Cliente: Un cliente puede cambiar la contraseña solo de su cuenta.
Manager: Un administrador puede cambiar la contraseña solo de su cuenta. No puede cambiar las contraseñas de sus clientes. |
1 |
6. | CLIENTE NUEVO | Manager | Manager: Un gerente puede agregar un nuevo cliente.
Manager: Un gerente puede editar detalles como dirección, correo electrónico y teléfono de un cliente. |
3 |
7. | Cuenta nueva | Manager | Actualmente el sistema proporciona 2 tipos de cuentas.
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 de su propiedad. O puede tener múltiples cuentas corrientes y de ahorro. Manager: Un administrador puede agregar una nueva cuenta para un cliente existente. |
5 |
8. | Editar Cuenta | Manager | Manager: Un administrador puede agregar y editar detalles de cuenta para una cuenta existente | 1 |
9. | Borrar Cuenta | Manager | Manager: Un administrador puede agregar y eliminar una cuenta para un cliente. | 1 |
10. | Eliminar cliente | Manager | Un cliente puede ser eliminado solo si no tiene cuentas corrientes o de ahorro activas.
Manager: Un administrador puede eliminar un cliente. |
1 |
11. | Depósitar | Manager | Manager: Un administrador puede depositar dinero en cualquier cuenta. Generalmente se realiza cuando se deposita efectivo en una sucursal bancaria. | 3 |
12. | Retirar | Manager | Manager: Un administrador puede retirar dinero de cualquier cuenta. Generalmente se realiza cuando se retira efectivo en una sucursal bancaria. | 3 |
PASO B) Estimar la duración de la tarea
Después de clasificar el complejidad de los puntos de función, hay que estimar el duración para probarlos. Duración significa cuánto se necesita tiempo 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.
Supongamos que el equipo de su proyecto ha estimado los puntos de función definidos por 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 |
Mediana | 3 | 5 | 15 |
sencillos | 1 | 4 | 4 |
Función Puntos Totales | 34 | ||
Estimar definir por punto | 5 | ||
Esfuerzo total estimado (persona Hours) | 170 |
Por lo tanto, el esfuerzo total para completar la tarea “Crear la especificación de prueba” de Guru99 Bank es de alrededor de 170 horas-hombre.
Una vez que comprenda el esfuerzo que se requiere, puede asignar recursos para determinar cuánto tiempo llevará 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 usted tiene talentosos y experimentado miembros, puede finalizar la tarea asignada en el chica tiempo y su proyecto finalizará en la fecha límite o antes.
PASO C) Estimar el costo de las tareas.
Este paso le ayuda a responder la última pregunta del cliente “¿Cuánto cuesta?"
Supongamos que, en promedio, el salario de su equipo es de $5 por hora. El tiempo requerido 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 la EDT y llegar al presupuesto general para el proyecto.
Como director de proyecto, usted debe decidir cómo conseguir el la mayoría regresa para la inversión de su empresa. Cuanto más preciso su estimación del costo del proyecto es, el mejor podrás gestionar el presupuesto de tu proyecto.
Método 2) Estimación de tres puntos
La estimación de tres puntos es una de las técnicas que podrían utilizarse 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 quiera estimar.
En una estimación de tres puntos, three Los valores se producen inicialmente para cada tarea en función de experiencia previa or mejores conjeturas como sigue
Al estimar una tarea, el administrador de pruebas debe proporcionar tres valores, como se especifica anteriormente. Los tres valores identificados, estiman lo que sucede en un estado óptimo, cuál es el más probabilidades, o lo que pensamos que sería el peor de los casos escenario.
Veamos cómo utilizar los tres valores anteriores en el siguiente ejemplo
Para la tarea “Crear la especificación de prueba”, ¿puedes estimar el esfuerzo de la prueba? Recuerda que tienes que cubrir todo los módulos del sitio web del Banco Guru99 como se hace en Método del punto de función
Puedes estimarlo de la siguiente manera
- La mejor de los casos completar esta tarea es 120 Horas-hombre (unos 15 días). En este caso, tienes un equipo talentoso que puede terminar la tarea en el menor tiempo posible.
- La más probabilidades caso para completar esta tarea es 170 Horas-hombre (alrededor de 21 días). Este es un caso normal, tienes suficientes recursos y capacidad para completar la tarea.
- La peor de los casos completar esta tarea es 200 Horas-hombre (alrededor de 25 días). Necesitas realizar mucho más trabajo porque los miembros de tu 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 distribución doblemente triangular fórmula de la siguiente manera-
En la fórmula anterior, el parámetro E se conoce como Peso promedio. Es la estimación de la tarea “Crear la especificación de prueba”.
Pero tu jefe puede preguntarte
En la estimación anterior, simplemente determinas un posible y no un a ciertos valor, debemos conocer el probabilidades que la estimación es correcta. Puedes usar la otra fórmula:
En la fórmula anterior, la SD significa la desviación estándar, este valor podría brindarle información sobre la probabilidades que la estimación es 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 Hora-hombre (153.33 a 179.99 hora-hombre)
Paso 4) Validar la estimación
Una vez que cree una estimación agregada para todas las tareas mencionadas en la WBS, debe enviarla al Consejo de administración, quien una estrategia SEO para aparecer en las búsquedas de Google. y aprobar él.
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. Puedes explicarles tu estimación. lógicamente y razonablemente para que puedan aprobar su plan de estimación.
Mejores prácticas de estimación de pruebas
Este tema presenta consejos generales sobre cómo estimar la precisión de las pruebas.
Añade algo de tiempo de reserva:
Pueden ocurrir muchas cosas impredecibles en tu proyecto, como que un miembro talentoso del equipo deje su trabajo de repente, que las pruebas tarden más tiempo del estimado en completarse, etc. Por eso necesitas incluir un margen de seguridad en tu estimación. Tener un margen de seguridad en la estimación te permite hacer frente a cualquier retraso que pueda ocurrir.
Planificación de recursos de cuentas en estimación.
¿Qué debe hacer si algunos miembros de su equipo se toman licencias prolongadas? 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í debes considerar las hojas para el miembro de tu equipo, generalmente hojas largas.
Utilice la experiencia pasada como referencia.
Las experiencias de proyectos anteriores desempeñan un papel fundamental a la hora de preparar las estimaciones de tiempo. Debido a que algún proyecto puede tener alguna similitud, puede reutilizar la estimación anterior. Por ejemplo, si sueles realizar un proyecto como probar un sitio web, puedes aprender de esa experiencia y tratar de evitar todas las dificultades o problemas que enfrentaste en proyectos anteriores.
Cíñete a tu estimación
La estimación es sólo una estimación porque puede ir Mal.En las primeras etapas del proyecto, con frecuencia debes Vuelva a verificar las estimaciones de la prueba y realice modificaciones. si es necesario. No debemos extender la estimación después de arreglarla, a menos que haya cambios importantes en los requisitos o que tenga que negociar con el cliente sobre la reestimación.
Plantilla de estimación de pruebas de software
Descargue el Excel de estimación de pruebas de software (.xlsx)
Otras técnicas
La técnica Delphi de banda ancha, el uso: método de puntos de caso, la distribución porcentual y el método ad-hoc son otras técnicas de estimación en ingeniería de software.
Vídeo sobre técnicas de estimación de pruebas de software
Haga clic en aquí si el video no es accesible
Transcripción del video
- Hagamos un ejercicio -para el Solicitud de reserva de vuelo preparar una Estructura de Desglose del Trabajo del
- varias tareas de prueba como: verificar la funcionalidad de inicio de sesión, verificar la funcionalidad de nuevos pedidos, verificar la funcionalidad de fax y otras funciones 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 capacitación y completa el ejercicio. Espero que hayas hecho una estimación fundamentada del esfuerzo necesario.
- Esta es la estrategia ascendente para la estimación de pruebas. La técnica se llama ascendente 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 realiza 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 ya tienes una experiencia considerable en el sistema de reservas de vuelos. Utilice esta experiencia para estimar el esfuerzo requerido para completar Prueba de funcion 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 con tu experiencia hayas hecho una buena estimación del esfuerzo necesario para probar el sitio web.
- Este es el enfoque de estimación de arriba a abajo que se basa en la experiencia.
- Otra técnica es clasificar los proyectos según su tamaño y complejidad y luego ver cuánto tiempo ha llevado en el pasado un proyecto de un tamaño y complejidad particulares.
- 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 implican modelos matemáticos complejos. En la práctica, la mayoría de los proyectos utilizan un enfoque descendente para la estimación.
- Las estimaciones de las pruebas pueden verse afectadas por muchos factores, como presiones de tiempo, factores humanos, distribución geográfica del equipo de pruebas, etc.