
La aplicación de la inteligencia synthetic (AI) y el aprendizaje automático (ML) en las pruebas de software program es elogiada y difamada, según a quién le pregunte. Es una eventualidad que genera notas equilibradas de miedo y optimismo en sus usuarios objetivo. Pero una cosa es segura: la revolución de la IA se acerca. Y, cuando considera cuidadosamente los beneficios de la velocidad y la eficiencia, resulta que es algo bueno. Entonces, ¿cómo podemos adoptar la IA con positividad y prepararnos para integrarla en nuestro flujo de trabajo mientras abordamos las preocupaciones de aquellos que se inclinan a desconfiar de ella?
Badenes en el camino a trustville
Gran parte de la resistencia a la implementación de la IA en las pruebas de software program se debe a dos factores: un miedo racional por la seguridad laboral private y un escepticismo saludable en la capacidad de la IA para realizar tareas contextualmente y en humanos. Este escepticismo se basa principalmente en las limitaciones observadas en las primeras aplicaciones de la tecnología.
Para promover aún más la adopción de la IA en nuestra industria, debemos mitigar los temores y desarmar a los escépticos estableciendo expectativas razonables y enfatizando los beneficios. Afortunadamente, a medida que la IA se vuelve más convencional, como resultado directo de las mejoras en sus capacidades, ha surgido una imagen más clara de lo que la IA y el ML pueden hacer por los probadores de software program; uno que es más realista y menos gravado por la publicidad exagerada.
Lo primero es lo primero: no se asuste
Estas son las buenas noticias: los bots de IA no vendrán por nuestros trabajos. Mientras ha habido herramientas de prueba de inteligencia synthetic y automatización, ha habido pesadillas distópicas sobre humanos que pierden su lugar en el mundo. Igualmente frecuentes son los detractores que se burlan de tales escenarios del fin del mundo como poco más que los caprichos de los escritores de ciencia ficción.
Cuanto antes consideremos la IA como una herramienta útil más, antes podremos empezar a cosechar sus beneficios. Así como la invención del destornillador eléctrico no eliminó la necesidad de que los trabajadores aprieten los tornillos, la IA no eliminará la necesidad de que los ingenieros creen, editen, programen y monitoreen los scripts de prueba. Pero puede ayudarlos a realizar estas tareas de manera más rápida, más eficiente y con menos distracciones.
Pruebas de software program autónomas es simplemente más realista, y más práctico, cuando se ve en el contexto de la IA trabajando en conjunto con los humanos. Las personas seguirán siendo fundamentales para el desarrollo de software program, ya que son ellas quienes definen los límites y el potencial de su software program. La naturaleza de las pruebas de software program dicta que los “postes de objetivos” siempre están cambiando, ya que los requisitos comerciales a menudo no están claros y cambian constantemente. Esta naturaleza variable del proceso de prueba exige una supervisión humana continua.
Los primeros estándares y metodologías para las pruebas de software program (incluido el término “garantía de calidad”) provienen del mundo de las pruebas de productos de fabricación. Dentro de ese contexto, los productos estaban bien definidos con pruebas mucho más mecánicas en comparación con el software program cuyos rasgos son maleables y, a menudo, cambiantes. En realidad, sin embargo, las pruebas de software program no son aplicables a estos métodos robóticos y uniformes para garantizar la calidad.
En el desarrollo de software program moderno, hay muchas cosas que los desarrolladores no pueden saber. Hay demasiadas variables cambiantes en el desarrollo de software program que requieren un mayor nivel de toma de decisiones que el que puede proporcionar la IA. Y, sin embargo, si bien la IA completamente autónoma no es realista en el futuro previsible, la IA que respalda y amplía los esfuerzos humanos en la calidad del software program sigue siendo una búsqueda que vale la pena. Mantener probadores humanos en la mezcla para monitorear, corregir y enseñar constantemente la IA dará como resultado un producto de software program cada vez mejor.
Las tres etapas de la IA en las pruebas de software program
El desarrollo de IA de prueba de software program tiene esencialmente tres etapas de madurez de desarrollo:
- Pruebas operativas IA
- Pruebas de procesos IA
- Pruebas sistémicas IA
La mayoría de las pruebas de software program habilitadas para IA se realizan actualmente en la etapa operativa. Las pruebas operativas implican la creación de scripts que imitan las rutinas que los probadores humanos realizan cientos de veces. Course of AI es una versión más madura de Operational AI con evaluadores que utilizan Course of AI para la generación de pruebas. Otros usos pueden incluir análisis y recomendaciones de cobertura de prueba, análisis de causa raíz de defectos y estimaciones de esfuerzo, y optimización del entorno de prueba. Course of AI también puede facilitar la creación de datos sintéticos basados en patrones y usos.
La tercera etapa, Systemic AI, es la menos sostenible de las tres debido al enorme volumen de entrenamiento que requeriría. Los evaluadores pueden estar razonablemente seguros de que Course of AI sugerirá una sola característica o prueba de función para garantizar adecuadamente la calidad del software program. Sin embargo, con Systemic AI, los probadores no pueden saber con mucha confianza que el software program cumplirá con todos los requisitos en todo situaciones La IA a este nivel probaría todos los requisitos imaginables, incluso aquellos que los humanos no han imaginado. Esto haría que el trabajo de revisar las suposiciones y conclusiones de la IA autónoma fuera una tarea tan enorme que frustraría el propósito de trabajar hacia la autonomía complete en primer lugar.
Establezca expectativas realistas
Después de aclarar lo que la IA puede y no puede hacer, lo mejor es definir qué esperamos de quienes la usan. Establecer objetivos claros desde el principio preparará a su equipo para el éxito. Cuando las herramientas de IA se introducen en un programa de prueba, debe presentarse como un proyecto de software program que cuenta con el apoyo complete de la gerencia con objetivos e hitos bien definidos. Ofrecer una plataforma automatizada como una herramienta opcional para que los evaluadores exploren en su tiempo libre es una configuración para el fracaso. Sin una directiva clara de la gerencia y un cronograma finito, es muy fácil que el proyecto nunca despegue. Déle un mandato al proyecto y estará bien encaminado hacia una implementación exitosa. Debe intentar ser claro acerca de quién está en el equipo, cuáles son sus roles y cómo se espera que colaboren. También significa especificar qué resultados se esperan y de quién.
Acentuar lo positivo
Particularmente en entornos de desarrollo ágiles, donde el desarrollo de software program es un deporte de equipo, la IA es una tecnología que beneficia no solo a los evaluadores sino también a todos los miembros del equipo de desarrollo. Dé a los evaluadores una participación en el proyecto y permítales analizar la funcionalidad y los beneficios por sí mismos. Tener agencia generará confianza en el uso de las herramientas y los convencerá de que la IA es una herramienta para aumentar sus habilidades y prepararlos para el futuro.
Recuerde a su equipo que, a medida que el software program evoluciona, requiere más scripts y nuevos enfoques para probar funciones adicionales, patrones de uso adicionales e integraciones de plataforma. Las pruebas automatizadas no son una ocurrencia de una sola vez. Incluso con el aprendizaje automático ayudando en la reparación de scripts, siempre habrá oportunidades para desarrollar aún más el programa de prueba en busca de una mayor cobertura de prueba y niveles más altos de seguridad y calidad. Incluso con scripts de prueba que se acercan al 100 por ciento de la ejecución del código, habrá nuevos lanzamientos, nuevas correcciones de errores y nuevas funciones para probar. El papel del ingeniero de pruebas no va a ninguna parte, simplemente está evolucionando.
Libertad de lo mundano
No es ningún secreto que los ingenieros de pruebas de software program a menudo se ven abrumados por una letanía de tareas mundanas. Para ser efectivos, los programas de prueba están diseñados para auditar la funcionalidad, el rendimiento, la seguridad, la apariencia, and so forth. del software program en variaciones incrementales y en volumen. Escribir estas variaciones es repetitivo, laborioso y, para muchos, incluso aburrido. Al comenzar con esta fruta al alcance de la mano, los aspectos mundanos y de uso intensivo de recursos de las pruebas, puede obtener algunas ganancias tempranas y convencer gradualmente a los escépticos del valor de usar herramientas de prueba de IA.
Convertir a los escépticos no sucederá de la noche a la mañana. Si abruma a su equipo imponiendo cambios radicales, es posible que se esté preparando para el fracaso. Agregar automatización asistida por IA a su programa de prueba cut back en gran medida la carga de tales tareas repetitivas y permite a los ingenieros de prueba concentrarse en nuevos intereses y habilidades.
Por ejemplo, una de las áreas donde las pruebas automatizadas fallan con frecuencia es en la identificación de objetos dentro de una interfaz de usuario (UI). Las herramientas de IA pueden identificar estos objetos de manera rápida y precisa para brindar un claro beneficio al script de prueba. Al centrarse en tales eficiencias operativas, puede presentar un caso sólido para adoptar la IA. Cuando los ingenieros de pruebas pasan menos tiempo realizando tareas de depuración de rutina y más tiempo centrándose en la estrategia y la cobertura, naturalmente mejoran en su trabajo. Cuando sean mejores en sus trabajos, estarán más inclinados a adoptar la tecnología.
Al remaining, la IA es tan útil como la forma en que se aplica. No es una solución instantánea a todos nuestros problemas. Necesitamos reconocer lo que hace bien y lo que hace mejor. Entonces debemos dejar que nos ayude a ser mejores en nuestro trabajo. Con esa mentalidad, los ingenieros de pruebas pueden encontrar un socio muy poderoso en IA y, sin duda, será mucho más possible que lo acepten en su flujo de trabajo.