¿Se pregunta cómo ahorrar dinero al probar su software? No estas solo Solo hay un pequeño pero: si no prueba el software, son posibles los escenarios más negativos, desde el costoso y extremadamente desventajoso para que finalice la aplicación en las etapas posteriores hasta la pérdida de reputación y la salida de clientes / clientes a competidores.
¿Listo para reclutar a los 50 probadores más experimentados para garantizar la calidad del producto? Eso es genial! Por qué Debe comprender: si asigna demasiados recursos para realizar pruebas en casos en los que esto no está justificado, aumentará el presupuesto y el software será demasiado costoso. ¿Sus usuarios y clientes están contentos con esto? Estás en riesgo otra vez.
Sí, estamos insinuando que la verdad está en algún punto intermedio. En este artículo hablaremos sobre los principios básicos, después de lo cual puede encontrar un equilibrio entre el costo de las pruebas y la calidad de su producto.
Principio número 1. Comience a probar lo antes posible
Uno de los errores más comunes es comenzar a probar el producto en las etapas posteriores, cuando está casi listo para su lanzamiento. Cuanto antes se conecte el equipo de prueba (QA) al proceso de desarrollo, menor será la probabilidad de perder un error de producción. Además, un error identificado en una etapa temprana de desarrollo será más barato. A veces. Nuestra experiencia muestra que el precio de la fijación en las etapas posteriores puede ser 30 veces más caro que corregir el mismo error, por ejemplo, en la etapa de prototipo.
Un caso práctico: esperamos mucho tiempo probando una aplicación de servidor que recopilaba y procesaba una gran variedad de datos de usuario. Los desarrolladores simplemente se negaron a regalarlo, citando el hecho de que tienen muchos problemas, y las pruebas se pueden hacer al final. Al final, trabajaron en la nueva versión durante cuatro meses.
Cuando comenzamos a probar la aplicación con la cantidad real de datos del usuario, resultó que la arquitectura de la base de datos seleccionada no podía hacer frente a tal carga. El equipo de desarrollo de cinco personas tuvo que volver a planificar todo, reescribir el diseño y la arquitectura de la aplicación, y tuvimos que probarlo desde cero. El lanzamiento tuvo lugar seis semanas después de lo previsto.
En pocas palabras: el deseo de ahorrar 150 horas hombre en las pruebas y posponerlo para su lanzamiento llevó a la pérdida de 1.100 horas hombre de sus empleados y el doble del costo de las pruebas.
Principio número 2. Guardar, pero no análisis
Digamos que escuchó nuestros argumentos y decidió implementar el primer principio. ¿En qué etapa del desarrollo del producto es mejor desembolsar e involucrar a un equipo de prueba? Respuesta: en la etapa de planificación de la arquitectura de la aplicación, o al menos en la etapa de análisis y preparación de requisitos.
Sin análisis bien realizados, corre el riesgo de lanzar el producto perfecto que nadie necesita. Esto sucede cuando no tiene en cuenta las características de su público objetivo.
Recordamos la historia de terror sobre la aplicación en ejecución, que fue diseñada para usuarios de Asia. A Asia Central definitivamente le gustaría y obtendría ganancias si los clientes pudieran instalar la aplicación en sus teléfonos inteligentes. Pero no pudieron, pero ¿sabes por qué? En la etapa de recopilación de requisitos, se cometió un error debido a que la aplicación se probó en iPhones y teléfonos inteligentes Samsung, que se encuentran al menos en Asia. Después de todo, los usuarios asiáticos claramente prefieren Huawei y OPPO.
En nuestro ejemplo, el desarrollador no pudo guardar nuevamente. No solo tuvo que dedicar 300 horas hombre a finalizar y probar el producto, sino que también los costos de reputación casi pusieron de rodillas el proyecto.
En pocas palabras: puede invitar a expertos externos o restringirse, lo principal es recordar que las pruebas de consumo en la etapa de soporte son decenas de veces más caras. Y por caro queremos decir no tanto las pérdidas monetarias como los costos de reputación. No ahorre en análisis. Simplemente no en ella!
Principio número 3. Definir objetivos y expectativas.
Por supuesto, quieres que todo funcione y funcione bien. Pero esto no es suficiente. Necesitas entender qué tan bien y por qué tanto.
¿Sabes cómo reconocer a un buen administrador de pruebas? Inmediatamente comienza a "torturarte" para que entiendas qué tipo de producto de calidad necesitas. Lo llamamos la colección de expectativas. La calidad de su software consiste en ciertos ladrillos. Un administrador de pruebas experimentado querrá saber qué ladrillos en particular poner en los cimientos de la calidad.
Cuando un cliente se acerca a nosotros y dice: "Quiero que funcione", comenzamos a preguntarle: ¿cuál es el objetivo principal de crear un producto? ¿Qué características son las más demandadas por los usuarios? ¿Cómo los usan?

Después de recopilar las expectativas, se establecen los objetivos SMART, se descomponen, se crean las tareas y las tablas de KPI. Como resultado, definimos claramente:
- tipos de pruebas;
- fechas de su tenencia;
- composición del equipo;
- e incluso posibles riesgos.
Todo esto es necesario para garantizar la calidad requerida por el cliente, sin adivinar sus nervios.
A veces, sin embargo, suceden incidentes. En el proyecto de la tienda en línea de servicios de seguros, realizamos un análisis y preparamos una propuesta. Debido a la complejidad de la funcionalidad y el tamaño de los módulos, además de las pruebas funcionales y de regresión completas del producto, recomendamos automatizar la regresión. A pesar del hecho de que la mayor parte del tiempo tardó en retroceder, el cliente se negó a automatizarlo, motivado por el hecho de que hay un fuerte equipo de "handbracers", y la automatización tomará mucho tiempo y no será rentable. Todos nuestros argumentos y cálculos adicionales fueron ignorados. No pudimos probar nuestra posición y durante tres meses probamos la regresión manualmente, lo que, de hecho, no fue rentable para el cliente.
Luego, el proyecto se redujo, se analizó durante dos meses y se devolvió con una propuesta para usar el plan de automatización que propusimos hace cinco meses.
En pocas palabras: debe ser capaz de comprender no solo los objetivos del proyecto y los deseos del cliente, sino también demostrarle que está de su lado y sabe cómo obtener el beneficio. De lo contrario, será como el nuestro: un presupuesto combinado para las pruebas de regresión manual, aunque la automatización ahorraría tiempo y dinero. Hablando de automatización ...
Principio No. 4. Automatizar
... pero sabiamente. Y después de calcular el ROI.
Para que la automatización le ahorre dinero, el producto debe ser estable. Sin embargo, si cambia muy dinámicamente, esto no significa que la automatización no lo ayudará. Usar herramientas y programas especializados ya es automatización. Por ejemplo, puede ayudar a automatizar las operaciones de rutina que consumen el tiempo de sus evaluadores. Digamos que escriba una utilidad que recopile las configuraciones necesarias.
Estudio de caso: el cliente quería ser liberado todos los días en lugar de dos veces por semana. Además, la prueba de regresión manual completa tomó de dos a tres días. Y dado que el 80% de la funcionalidad del producto estaba bien establecida y estable, se decidió automatizarlo. Para esto, desarrollamos cuatro escenarios de automatización y realizamos un análisis comparativo de su efectividad. Usualmente usamos ocho indicadores para esto:
- Cantidad de TC : el número de casos en el guión.
- Automatización (man * days) : consumo de recursos para la automatización del script (excluyendo datos de prueba para cada caso de prueba).
- 1 Automatización TC (man * hrs) : el costo de automatizar un caso de prueba.
- Prueba manual (días hombre *) : el costo de la prueba manual del guión en su conjunto.
- Investigación de resultados (hombre * horas) : el costo de examinar los resultados de una ejecución de autotest.
- Tiempos de ejecución : la cantidad de pruebas requeridas para el período de trabajo en el proyecto. Este número refleja el número esperado de ejecuciones, teniendo en cuenta la estabilidad de lo funcional, el cronograma requerido de ejecuciones de prueba (regularidad de la información), etc.
- Eficacia de la automatización (%) : pruebe la eficiencia de la automatización en% del tiempo ahorrado. Dados los errores de cálculo, la automatización con un indicador de más del 150% puede considerarse efectiva.
- Tiempo ahorrado (días hombre *) : el número de días hombre guardados durante todo el proyecto.
Así es como se ve en el ejemplo de nuestro proyecto:
La selección final pasó por dos escenarios de automatización. Su uso nos permitió reducir la regresión de dos días a un par de horas para ejecutar pruebas automáticas, más dos horas para las comprobaciones manuales restantes, que resultaron no rentables para automatizar.
En pocas palabras: la automatización puede reducir los costos de mano de obra para probar decenas de veces y puede drenar el presupuesto por nada. Sin la capacidad de analizar y calcular el ROI, siempre corre el riesgo de desilusionarse para siempre con la automatización.
Principio no 5. Aprende a usar principiantes
¿No quieres automatizar? ¿Los probadores con experiencia alcanzaron el presupuesto? ¿Pensando en contratar graduados de secundaria graduados por un salario pequeño pero razonable? No es una mala idea, pero hay algunos matices. Incluso si tiene un producto simple, algunos recién llegados no serán suficientes para usted.
Un niño puede encontrar un error en el juego y romper la aplicación mediante el método de prueba de señuelo, pero ¿encontrará todos los errores? Por supuesto que no. Somos muy aficionados a los recién llegados, pero generalmente no poseen métodos de prueba de investigación. Pero pueden "caminar" en las pruebas. Por lo tanto, para una compañía de principiantes con ardor en los ojos, necesita un "anciano" que recetará cheques a un nivel que sus principiantes entiendan.
Por ejemplo, atraemos a los recién llegados bajo la supervisión de mentores, incluso a algunos proyectos complejos. Inicialmente, el proceso de integración y adaptación de un principiante en el proyecto tomó un mes, lo que, por supuesto, aumentó el tiempo y el costo de las pruebas. Para resolver este problema, desarrollamos "paquetes para principiantes" con documentación de prueba y todas las instrucciones para instalar y configurar los componentes necesarios. Este paso permitió reducir el período de adaptación completa de la primera a las dos semanas, y después de agregar un conjunto de casos visuales y videos de capacitación al "paquete", hasta una semana.
A continuación se presenta un fragmento de un conjunto de casos para probar un producto de seguro.
Un "paquete novato" puede incluir algo muy simple pero útil, como
un generador de datos .
Y puede dar pasos específicos para pasar casos. Por cierto, en nuestra experiencia, es mejor dar a los principiantes casos de prueba exactos (con pasos detallados y condiciones previas), en lugar de listas de verificación.

Con un juego de este tipo, un principiante siempre sabrá qué prueba tomar, qué hacer y dónde buscar la información que falta.
En pocas palabras: es rentable utilizar el trabajo de los principiantes sin perder la calidad y la velocidad de las pruebas. Junior puede aportar beneficios reales al proyecto desde la segunda semana, reduciendo la pérdida de tiempo para la adaptación en 4 veces (de 160 a 40 horas).
Un mentor experimentado y procesos empresariales de integración de novatos ayudarán a hacer crecer un equipo genial en muy poco tiempo. Hacemos esto regularmente, ¡y la cantidad de grandes probadores que capacitamos ya ha excedido mil!
Principio número 6. No necesitas cien probadores, necesitas a aquellos que trabajan con la cabeza
No debería haber muchos probadores, debería haber suficientes. ¿No quieres invertir en muchachos experimentados que simplemente se aburrirán en el trabajo o comenzarán menores innecesarios? De la misma manera, no desea que cuarenta desarrolladores llenen a un desafortunado especialista en pruebas con todas sus soluciones y no tuvo suficiente tiempo o energía para realizar un trabajo de calidad en las tareas. Entonces, la sexta regla de equilibrio de precio y calidad es buscar este equilibrio.
La intuición es importante, pero aún así trate de recurrir a la ayuda de estrategas y analistas que lo ayudarán a evaluar el alcance de las tareas, la cantidad de personas que necesita y sus calificaciones.
Un caso común de la práctica. No hace mucho tiempo, nos contactó un cliente que tenía 12 evaluadores en el equipo: TM, senior, middle y 9 junior. Realizamos una auditoría de los procesos de prueba y abandonamos ocho mil tareas innecesarias (como la regresión de la funcionalidad no afectada por las actualizaciones, la institución de menores, etc.), y descubrimos cómo optimizar las pruebas. Resultó que el proyecto necesita tres dispositivos de automatización (se ofreció el suyo) y otro medio, que fue desarrollado entre los junior. El resto de los recién llegados tuvieron que ser abandonados.
A continuación, dejamos la prueba de funcionalidad crítica en el bloque "Identificación y reconocimiento" en el medio. Lo revisaron a mano, pruebas de investigación. Todos los demás bloques se han ido casi por completo a la automatización.
Al final, esto permitió:- Reduzca el costo de las pruebas previas al lanzamiento de 232,400 a 35,200 rublos.
- Aumente las pruebas de ROI a través de la automatización en 5 veces.
- Reducir la carga de gestión en la gestión.
- Reduzca el tiempo de prueba de prelanzamiento en 23 horas-hombre.
- Mejore la calidad de las pruebas, dejando solo probadores experimentados en el proyecto.
Principio número 7. Averigüe cuál es más rentable para usted: personal o tercerización
A menudo, pero no siempre, la contratación externa es más barata y le permite contratar a empleados más experimentados con un descuento.
Otro caso de nuestra práctica: Cómo ahorrar más de un millón y medio de rublos al año mediante la contratación de nueve subcontratistas con un salario de 130 mil en lugar de nueve probadores de tiempo completo con un salario de 70 mil rublos.
Para no ser infundado, mostraremos una tabla que explicará de dónde proviene tal beneficio.
En nuestro ejemplo, un probador de tiempo completo con un salario de 70 mil rublos al mes le cuesta a la compañía 14,877 rublos más que un especialista en outsourcing más costoso con casi el doble de salario. Si tenemos en cuenta el departamento de 9 personas que trabajaron durante un año, el beneficio será de 1.606.716 rublos. Y esto es dinero.
Sin embargo, a veces sucede que, incluso al darse cuenta de los beneficios, las empresas no quieren externalizar las pruebas. Por ejemplo, a menudo nos encontramos con el deseo de un cliente de transferir todo a su personal. Esto se debe al temor y la incapacidad de compartir sus mejores prácticas y documentación con clientes externos.
Esta posición está totalmente justificada: a pesar de todos los acuerdos de no divulgación, siempre existe el riesgo de fuga accidental de información, cuyo costo no queda cubierto por ninguna demanda. Para no entrar en tal situación, le recomendamos que actúe de manera segura y recurra a una empresa con respecto a la cual en los últimos diez años no se ha presentado un solo reclamo, ya que se ha comunicado previamente con los clientes que figuran en su sitio web.
Brevemente sobre lo que se dijo
1. De acuerdo con la versión del Instituto Nacional de Estándares y Tecnología, el costo de las pruebas al final del desarrollo puede exceder su costo en las etapas iniciales en 15 veces, y después del lanzamiento en 30 veces.
¿No quieres pagar de más? ¡Comience a probar lo antes posible!2. La incomprensión de su público objetivo y los requisitos de sus productos enterraron muchos proyectos excelentes.
¿Ahorrar en análisis? ¡Prepárate para pagar el juego de adivinanzas!3. Es necesario analizar no solo CA, sino también los deseos de los clientes. En función de ellos, debe poder establecer y descomponer objetivos SMART.
¿No puedes establecer objetivos claros? ¿Tus objetivos son incomprensibles para el cliente? ¡Calcule los costos de terminación y retrabajo!4. La automatización ayuda a optimizar los costos de prueba. Pero no en todas partes y no siempre.
¿Crees que probar con tus manos es más rentable? ¡Calcule el ROI de la automatización en varios escenarios y compare números!5. Los principiantes en las pruebas son entusiastas, pero les falta experiencia. Un buen mentor y un "paquete para principiantes" aumenta la eficiencia de junio en el proyecto en 2-3 veces.
Anotó los graduados de ayer por una tarifa razonable? ¡Prepárate para pagar extra por su transformación de un "mono" en un hombre!6. La calidad no es igual a la cantidad. Un buen especialista es más caro porque da el mejor resultado.
¿No quieres guardar, trabajando en el resultado? Entonces no debe auditar al equipo de prueba y optimizar su composición.7. La subcontratación de pruebas le permite obtener un equipo experimentado en el proyecto con una garantía del resultado. Pero la subcontratación no es adecuada para todos.
¿Quiere una solución llave en mano con un precio democrático? Calcule los beneficios del estado y del outsourcing, quizás la segunda opción sea mucho más rentable.En lugar de un epílogo
La calidad es un concepto multifacético, por lo tanto, su precio puede variar dependiendo de la profundidad de la comprensión de este término por parte de una empresa. Hay muchas maneras de ahorrar a expensas de la calidad, pero no hay muchas opciones para mejorar la calidad sin pagar de más. El cumplimiento de los principios anteriores nos ha ayudado a ganar una reputación confiable en el mercado y la lealtad de nuestros clientes y de los propios clientes, para ahorrar fortaleza, recursos y tiempo.
Pruebe estos principios usted mismo, son muy simples y, por lo tanto, efectivos. Esperamos que nuestro artículo lo ayude a ahorrar en pruebas sin comprometer la calidad. Y estamos esperando sus preguntas, ideas, sugerencias y comentarios en los comentarios.
Nina Ageeva
Subdirector del Laboratorio de Calidad.