El desarrollo de software indiscutiblemente tiene un fuerte impacto social, es un tema de masas donde cada usuario repercute con la forma como usa el software, el dispositivo que utiliza, el objetivo de su utilización y la información que confiada o desconfiadamente proporciona.
Todos buscan desarrollar productos software útiles, teniendo en cuenta que el «time to market» es un aspecto fundamental en la creación de aplicaciones software.
Bajo toda esta perspectiva, el cuestionamiento de muchos dentro del desarrollo de software circula alrededor de posibles temas como, tiempos, inversiones, talento, fases, recursos, oportunidades; algunos posiblemente analizarán riesgos, calidad, tendencias o quizá estrategias para las pruebas de software.
Gestionar las pruebas de software de manera especializada como un proceso o disciplina que evalúa, más no garantiza la calidad, es indispensable para mejorar no sólo el producto software, sino, los procesos per se. Lejos de ser una disputa entre líderes, desarrolladores y testers, las pruebas de software, igual que el desarrollo tienen los mismos objetivos en cuanto a la satisfacción del cliente.
Le puede interesar: ¿Qué es RPA (Robotic Process Automation) y Para qué Sirve?
Para ello, lo que buscan las pruebas desde la concepción misma del producto es minimizar ambigüedades, identificar oportunidades de mejora, mejorar la experiencia de usuario o identificar distintos riesgos en los requerimientos.
El equipo de pruebas debería participar en la planeación con todo lo que ello implica: cálculo de roles, recursos, tiempo, calidad de proceso de pruebas, riesgos, talento, identificación de la estrategia de pruebas, etc…
La estimación de pruebas tiene sus propios factores, por ejemplo, el cálculo del tiempo no solo dependerá de cuántas personas participen haciendo las pruebas, o de la cantidad de funcionalidades, sino también de la experiencia del “whole team”, incluso, dependerá de factores como la calidad del proceso de desarrollo y la gestión del proyecto en sí.
La pregunta es ¿Qué sucede si el equipo de testing es muy experto, cuenta con altas capacidades, pero el equipo de desarrollo es inexperto y genera demasiados errores? Son situaciones que ya con el contexto del proyecto, permiten tener un análisis de tendencias que afectan una nueva estimación, así como otras situaciones adyacentes que se suelen perder de vista fácilmente.
Le puede interesar: La Importancia de las Aplicaciones Web y Móviles en el Éxito Empresarial
Cuando el equipo de pruebas participa en las planeaciones o inicio de los proyectos podrá dar valor aportando la mejor estrategia, que irá iterando controladamente en cada fase o sprint, como siempre, esto dependerá del contexto del proyecto. Sin embargo, este sencillo paso hará la diferencia.
Para diseñar una estrategia, es importante tener en cuenta que el tipo de pruebas es independiente del nivel de pruebas, una forma de identificar el nivel de pruebas es entender cuál es el objeto de prueba. Por ejemplo, si el objeto de prueba es un API, el nivel de prueba es de Integración, y en este, como en todos los niveles, se pueden ejecutar tipos de pruebas funcionales o no funcionales. Es decir, en este nivel se debería evaluar la funcionalidad del API, así como su seguridad, performance u otros atributos (Ver ISO 25000).
Con el nivel de pruebas se pueden inferir cuáles son los errores más comunes de ese objeto, las posibles herramientas a utilizar, el nivel de automatización a ejecutar, las habilidades del tester, la inversión, y los riesgos más comunes, entre otros.
Este es un pequeño paso hacia la calidad, aunque dicha palabra suscite ambigüedad dado que depende de la percepción, sesgo o experiencia, sí, se puede evaluar, y llegar a un punto de equilibrio, que cuide y mejore la reputación de una empresa. Recordar siempre que la calidad es responsabilidad de todos, va desde la gestión de un proyecto, hasta el trato del equipo y colaboradores.
Lea también: STELA, la Herramienta para Pruebas de Software que Revolucionará el acceso a Inteligencia Artificial