¿El proyecto va a un nuevo nivel? Pruebas necesarias

Suponga que usted, el creador del producto, ha estudiado el público objetivo, contrató a un equipo experimentado de desarrolladores y analistas, tomó la participación en el mercado, los especialistas en marketing atraen socios, los gerentes de servicio al cliente lo asesoran a fondo, regularmente realiza promociones.

Parece que lo tienes todo. Pero los pagos de los usuarios y la audiencia comenzaron a disminuir, y los clientes comenzaron a rechazar el producto.

¿Quizás es una cuestión de producción? Eche un vistazo al interior y tal vez verá cómo:

  • las revisiones salen con más frecuencia que las versiones;
  • o un servicio de soporte está inundado de solicitudes y analiza continuamente defectos críticos;
  • o grupos significativos de usuarios no pueden obtener las características clave del servicio.

E, incluso después de identificar problemas en esta etapa, no siempre es posible entender cómo regular todo el proceso, porque a menudo cada elemento de la cadena hace bien su trabajo por separado, y el resultado final no es feliz. ¿Crees que tal vez es hora de contratar probadores?



***


Cada miembro del equipo puede probar. Según los principios de Agile, esta actividad es realizada oficialmente por todos, no solo por los evaluadores. Los analistas saben mejor que nadie qué características espera el cliente y cómo deberían funcionar. Las pruebas unitarias, las revisiones de código, la programación de pares y las autoevaluaciones periódicas del desarrollador garantizan la calidad del código. Pero hay casos en que esta prueba se vuelve insuficiente para la calidad final. En este momento, las pruebas independientes llegan a la "escena".

Las pruebas realizadas por un grupo profesional independiente se llaman independientes. Cuanto menos afecte el equipo a los procedimientos y conclusiones llevados a cabo por los evaluadores, más independiente será. B. Beiser en el trabajo "Prueba de la caja negra y raquo; escribió: “El propósito de las pruebas independientes es mirar el producto desde un punto de vista diferente y, por lo tanto, realizar otras pruebas; por lo tanto, se realizan pruebas más versátiles que si solo los desarrolladores estuvieran probando ".
Las pruebas profesionales comienzan con un análisis de prueba y diseño de prueba:

  • selección de un conjunto mínimo de controles para garantizar la máxima cantidad de funcionalidad;
  • establecer la secuencia de pruebas de acuerdo con la importancia de la funcionalidad y los riesgos de liberación de defectos.

La necesidad de pruebas profesionales independientes surge bajo las siguientes condiciones:

1. rápido crecimiento


El éxito del producto en la competencia es un gran evento, así como una carga inesperada en la producción. Nuevos usuarios, nuevos requisitos, cambios a gran escala obligan al equipo a realizar más tareas en menos tiempo. Como resultado, el equipo no tiene tiempo para probar o las pruebas intuitivas (pruebas ad-hoc ) pierden defectos críticos.

Las pruebas se desarrollan en paralelo con otras áreas de conocimiento en la producción de software.

Los enfoques y las metodologías no son tan volátiles, la última innovación en diseño de pruebas fue publicada en 2009 por James A. Whittaker en su libro "Pruebas de software exploratorio" . Mientras tanto, nuevas herramientas para pruebas se desarrollan continuamente, entre ellas:

  • Herramientas para la verificación rápida del diseño en diferentes navegadores y dispositivos, conciliación con diseños, ortografía, tiempo de respuesta de la página, etc.
  • Herramientas para ejecutar, redirigir, modificar, decodificar, rastrear solicitudes de API;
  • Herramientas para preparar datos de prueba y condiciones en aplicaciones web, de escritorio, móviles, api.

Los probadores profesionales mejoran y aceleran las pruebas con la ayuda de técnicas y herramientas modernas, prestan especial atención a la búsqueda de soluciones efectivas y permiten al equipo centrarse en la modernización de los procesos comerciales.

2. Entropía


Un producto de software de larga duración habla de la estabilidad empresarial. Por otro lado, a lo largo de varios años, el producto adaptado al mercado, clientes, usuarios, acumuló una variedad de funcionalidades, incluidas las lógicamente contradictorias. Las estadísticas del portal de recursos humanos muestran que el nivel natural de rotación de personal en TI es de 8-10% por año, lo que significa que en 5 años el equipo de desarrollo puede actualizarse casi a la mitad. Durante la vida útil del producto, el equipo puede cambiar el arquitecto y los desarrolladores clave, personas que conocían la arquitectura original y la lógica de su escalamiento.

Según F. Brooks en el trabajo   "Mythical Man-Month",cualquier sistema busca destruir la estructura y aumentar la entropía con cada nueva corrección. Con el tiempo, el producto adquiere el llamado código heredado, heredado de una funcionalidad incompatible, corrección rápida de errores, desarrollador inexperto. Sin embargo, bajo la presión de los plazos, el equipo no siempre tiene tiempo para cubrir el código con pruebas unitarias. En tales condiciones, es imposible predecir qué partes del código se verán afectadas por esta o aquella corrección y qué defecto dará lugar.

Los probadores profesionales verifican no solo las nuevas características, sino también la regresión de todo el sistema. El contenido y el método para realizar pruebas de regresión es objeto de un enfoque separado.

3. Personalización


Es bueno cuando un producto recibe nuevas cohortes de usuarios, se adapta a ciudades y países, se especializa en funciones para diferentes roles y se adapta a la vida útil de los usuarios en el sistema. Desde la perspectiva del sistema, esto aumenta la cantidad de funcionalidad crítica y cómo usarla. La misma función puede ser utilizada para diferentes propósitos y en diferentes condiciones por cohortes de usuarios. Hay tantos roles y condiciones en un sistema complejo grande que el analista puede olvidarse de uno de ellos durante el desarrollo de los requisitos. De hecho, una característica asesina para un rol puede convertirse en un defecto de bloqueo para otro, no menos significativo.

Las pruebas profesionales verifican el uso del sistema para el cumplimiento de los objetivos de los usuarios, hacen preguntas aclaratorias y ajustan el contenido de las pruebas de regresión de acuerdo con las nuevas prioridades y tareas comerciales del sistema. La actualización del conjunto y las prioridades de las pruebas es objeto de especial atención por parte del probador.

4. Distribución


El entorno de TI de hoy ofrece infinitas opciones, arquitectura de microservicio, centros de datos en la nube, equipos de proyectos distribuidos. Los productos completos, desde el punto de vista del usuario, se dividen en micro aplicaciones, escritos en diferentes lenguajes de desarrollo, colocados en diferentes continentes, creados por diferentes equipos de proyectos y compañías.

Por ejemplo, comprar una baratija en una tienda en línea, por un lado, es una acción de unos pocos clics, por otro lado, procesar y transferir datos en al menos tres aplicaciones: en el sitio web de la tienda, en la pasarela de pago y el sistema de pago. Cada aplicación es desarrollada por un equipo de proyecto con sus objetivos, estructura organizativa, planes.

En estas condiciones, el resultado probable es "la bala salió volando, el problema está de su lado": cuando cada equipo desarrolló su propia parte de acuerdo con los requisitos, pero juntos no se suman a una función de trabajo.
Antes de la puesta en marcha, los probadores profesionales consultan, supervisan, configuran entornos para la ejecución de las pruebas de integración y realizan comprobaciones desde la perspectiva del usuario final, y no solo los requisitos para los componentes individuales.

Por lo tanto, los productos grandes, populares, relacionados con la edad y que cambian rápidamente obligan a las pruebas a ser un tipo separado de actividad. Las pruebas efectivas están armadas con metodologías especializadas, herramientas y un objetivo específico que es diferente de los objetivos del resto del equipo. El objetivo del analista es descubrir las necesidades reales del cliente, el objetivo del desarrollador es entregar los cambios ordenados en su totalidad, el objetivo del probador es probar todo el sistema, examinar al usuario y encontrar defectos en su lugar.

***


La delegación de probar un rol separado bajo el control de un equipo es el segundo paso para realizar pruebas independientes. Los probadores pueden ser contratados por cuenta propia o subcontratados en una organización independiente.

De las pruebas de outsourcing en este paso, la compañía recibe:

  • prueba profesional de su producto con herramientas relevantes;
  • personal calificado garantizado. Outsourcing se especializa en la selección y desarrollo de competencias de los empleados;
  • la oportunidad de usar las pruebas por un tiempo limitado, atraer un tipo adicional de pruebas o reemplazarlas;
  • Trabajo transparente de los probadores.

Las empresas de pruebas de outsourcing trabajan por una reputación: cuanto mayor es, mejor se brinda el servicio. ¿Cómo van las cosas con las pruebas en su empresa? Comparte tu experiencia :)

All Articles