Diffblue lanza una edición comunitaria gratuita de su herramienta automatizada de prueba unitaria Java TechCrunch


Diffblue, una empresa derivada de la Universidad de Oxford, utiliza el aprendizaje automático para ayudar a los desarrolladores a realizar pruebas unitarias automáticas de su código Java. Dado que a pocos desarrolladores les gusta escribir pruebas unitarias para asegurarse de que su código funcione como se espera, una mayor automatización no solo ayuda a los desarrolladores a centrarse en escribir el código que realmente marca la diferencia, sino que también conduce a un código con menos Errores. Los clientes actuales de Diffblue incluyen Goldman Sachs y AWS.

Hasta ahora, Diffblue solo ofrecía su servicio a través de una suscripción de pago y cara. Sin embargo, hoy la compañía también lanzó la edición comunitaria gratuita, Diffblue Cover: Community Edition, que no incluye todas las funciones corporativas en las versiones pagas, pero aún ofrece un complemento IntelliJ y las mismas pruebas unitarias generadas por IA que las ediciones pagas.

La compañía también planea lanzar pronto un nuevo plan "personalizado" de menor costo para las cubiertas Diffblue, a partir de $ 120 por mes. Este plan también brinda acceso a soporte y otras funciones avanzadas.

Básicamente, Diffblue utiliza el aprendizaje no supervisado para crear estas pruebas unitarias. "Lo que estamos haciendo es único en el sentido de que anteriormente había herramientas que usaban algo llamado análisis estático", dijo Mathew Loge, director ejecutivo de Diffblue, quien se unió a la compañía hace aproximadamente un año. “Miras el programa y básicamente comprendes la ruta a través del programa y tratas de trabajar hacia atrás desde la ruta. Si la ruta lleva a este punto, ¿qué entradas necesitamos agregar al programa para llegar aquí? “Sin embargo, este enfoque tiene sus limitaciones, que el método de aprendizaje por refuerzo de Diffblue busca evitar.

Una vez que el proceso está en funcionamiento, Diffblue proporciona a los desarrolladores pruebas legibles. Esto es importante, enfatizó Loge, porque si una prueba falla y un desarrollador no puede averiguar qué sucedió, el desarrollador prácticamente no puede solucionar el problema. Esto es algo que el equipo aprendió de la manera difícil, ya que la primera versión de Diffblue usaba un algoritmo muy agresivo que proporcionaba una excelente cobertura de prueba (la métrica clave para las pruebas unitarias) pero hacía muy difícil para los desarrolladores averiguar qué estaba sucediendo.

La Community Edition, que no proporciona la interfaz de línea de comandos (CLI) que se encuentra en las ediciones de pago de Diffblue, permite a los desarrolladores escribir su código en IntelliJ como lo hacían antes y luego simplemente hacer clic en un botón para permitir que Diffblue pruebe ese código. escribe. [19659002] “La Community Edition está diseñada de tal manera que es muy accesible. Es literalmente un clic en el IDE y obtendrá sus pruebas. La versión CLI es más sofisticada y cubre más casos y soluciones para equipos y grandes implementaciones dentro de una empresa ”, explicó Loge.

La compañía planea agregar soporte para otros lenguajes, incluidos Python, JavaScript y C # con el tiempo, pero como señaló Loge, Java ha sido durante mucho tiempo un pilar en el mundo empresarial y el equipo creía que sí. sería el mejor idioma para empezar. Sin embargo, como señaló Loge, la tecnología Diffblue

existe desde hace algún tiempo. La compañía recaudó una ronda de Serie A de $ 22 millones bajo la dirección de Goldman Sachs y con la participación de Oxford Sciences Innovation y el Oxford Technology and Innovations Fund en 2017. Obviamente, no están recaudando ese dinero para sí mismos. solo concéntrese en las pruebas unitarias para el código Java. Además de admitir más lenguaje, las pruebas unitarias son solo el primer paso en el objetivo general de la empresa de utilizar la inteligencia artificial para automatizar más el proceso de programación.

"Comenzamos a realizar pruebas porque es un problema importante y urgente, particularmente con el impacto en DevOps y la introducción de ciclos de software más rápidos", dijo Loge. El siguiente paso obvio es adoptar un enfoque similar para corregir automáticamente los errores, y especialmente los errores de seguridad, también en el código.

"La idea es que existen estos trampolines para las máquinas que escriben cada vez más código", dijo. "Y para ser honesto, esta es también una forma de acostumbrar a los desarrolladores. Porque la aceptación por parte de los desarrolladores es un factor decisivo para el éxito".

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *