‘80% de los recursos de desarrollo de software se destinan a pruebas (QA) ‘. ¿Es esta la verdad o un mito?

Uno de los efectos más significativos sobre los costos de las pruebas es el estado inicial:

1) cuando la aplicación comienza en un campo verde, a un grupo de desarrolladores les toma muchas horas / días obtener el primer “candidato de lanzamiento” (lo que sea que sea / debería ser). Luego, un probador hace un solo clic y ta es suficiente para confirmar / verificar tantos requisitos básicos. Es decir, “Tengo una página, así que hay un servidor web, y está funcionando, pase”. Todos estos son más bien una cantidad de controles bastante simples.

2) Opuestamente, el estado inicial es que hay dos sistemas existentes, un proyecto brownfield, es decir, que ya está en producción, aislado uno del otro, con algunas API / interfaces estándar ya implementadas. La tarea es interconectar los sistemas. Entonces, el desarrollador hace solo unos pocos clics, podría ser incluso un cambio en la configuración, y luego un grupo de probadores e incluso QA tienen mucho que hacer durante semanas de sus pruebas.

Por lo tanto, las proporciones podrían ser de hasta 5:95 u opuestamente 95: 5. … y la “diferencia” de las dificultades del proyecto de estos dos, en los dos equipos, puede ser tanto como … (95/5) ^ 2 = 304. Entonces, la “magnitud de la diferencia de dificultad”, comparando los dos casos, sería tanto como 2 – 3 órdenes de magnitud.

… y ahora: ¡Haga estimaciones y planificaciones basadas en las estimaciones! 😉
Para poder “compararnos con nuestra propia historia” dentro de SW-house, es importante comparar proyectos del mismo tipo.

Mi experiencia es que los proyectos suelen ser incomparables. Lo que debería ser comparable son los componentes: tareas atomizadas, y luego también los miembros del equipo, resolviendo las tareas similares / tipificadas.

Ese es todo el misterio de las estimaciones: átomos estandarizados.
Haga una lista de sus actividades habituales.

La literatura profesional contiene muchos volúmenes sobre este tema. Aquí hay un punto de partida:
http://cseweb.ucsd.edu/~wgg/CSE2

En la mayoría de los tratamientos del tema, la conclusión es que codificar rápido es codificar mal. La prisa genera desperdicio y otras cosas que podría haber escuchado de su abuela.

Los ciclos de vida de los productos de software duran mucho después de que los desarrolladores están cansados ​​del código, pero el código aún necesita ser reparado. Mirando más allá del desarrollo inicial, algo así como el 80% de la ingeniería de software total se gasta limpiando después del código que no necesitaba ser probado.

Las preguntas y respuestas son poco utilizadas y poco efectivas, por lo que vale la pena dedicar tiempo y talento a planear formas realmente buenas de probar, refactorizar y volver a implementar su software de manera eficiente. Lea la literatura para no dejar su sangre en rocas bien conocidas.


Eso no suena bien. El número correcto depende de la metodología de desarrollo, por supuesto, pero esperaría alrededor del 30-40% para un sistema útil.