Diffblue lanza una edición comunitaria gratuita de su herramienta automatizada de pruebas unitarias de Java

Diffblue lanza una edición comunitaria gratuita de su herramienta automatizada de pruebas unitarias de Java

Diffazul, una empresa derivada de la Universidad de Oxford, utiliza el aprendizaje automático para ayudar a los desarrolladores a crear automáticamente pruebas unitarias para su código Java. Debido a que pocos desarrolladores disfrutan escribiendo pruebas unitarias para asegurarse de que su código funcione como se espera, una mayor automatización no solo ayuda a los desarrolladores a concentrarse en escribir el código que realmente marca la diferencia, sino que también conduce a un código con menos errores. Entre los clientes actuales de Diffblue se encuentran empresas como Goldman Sachs y AWS.

Anteriormente, Diffblue solo ofrecía su servicio a través de una suscripción paga y costosa. Hoy, sin embargo, la compañía también lanzó su edición comunitaria gratuita, Diffblue Cover: Community Edition, que no presenta todas las funciones empresariales en sus versiones pagas, pero aún ofrece un complemento IntelliJ y las mismas pruebas unitarias generadas por IA. como las ediciones pagas.

La compañía también planea lanzar un nuevo plan “individual” de menor costo para Diffblue Cover, a partir de $120 por mes. Este plan también ofrecerá acceso a soporte y otras funciones avanzadas.

En esencia, Diffblue utiliza el aprendizaje no supervisado para crear estas pruebas unitarias. “Lo que estamos haciendo es único en el sentido de que ha habido herramientas antes que usan lo que se llama análisis estático”, explicó el director ejecutivo de Diffblue, Mathew Lodge, quien se unió a la compañía hace aproximadamente un año. “Miran el programa y básicamente entienden el camino a través del programa y tratan de trabajar hacia atrás desde el camino. Entonces, si el camino llega a este punto, ¿qué entradas necesitamos poner en el programa para llegar aquí? Sin embargo, ese enfoque tiene sus limitaciones, que el método de aprendizaje por refuerzo de Diffblue pretende sortear.

Una vez que el proceso ha seguido su curso, Diffblue proporciona a los desarrolladores pruebas legibles. Eso es importante, enfatizó Loge, porque si una prueba falla y un desarrollador no puede averiguar qué sucedió, es prácticamente imposible que el desarrollador solucione el problema. Eso es algo que el equipo aprendió por las malas, por lo que Diffblue usó un algoritmo muy agresivo que proporcionó una gran cobertura de prueba (la métrica clave para las pruebas unitarias), pero dificultó mucho que los desarrolladores descubrieran lo que estaba sucediendo.

Con la edición comunitaria, que no ofrece la interfaz de línea de comandos (CLI) de las ediciones pagas de Diffblue, los desarrolladores pueden escribir su código en IntelliJ como antes y luego simplemente hacer clic en un botón para que Diffblue escriba las pruebas para ese código.

“La Community Edition está diseñada para ser muy accesible. Es literalmente un clic en el IDE y obtienes tus pruebas. La versión CLI es más sofisticada y cubre más casos y soluciones para equipos y grandes implementaciones dentro de una organización”, explicó Lodge.

La compañía planea agregar soporte para otros lenguajes, incluidos Python, JavaScript y C#, pero como señaló Loge, Java ha sido durante mucho tiempo un pilar en el mundo de los negocios y el equipo sintió que ese sería el mejor lenguaje para comenzar. Sin embargo, como señaló Loge, la tecnología funciona en todos los idiomas.

Diffblue en realidad ha existido por un tiempo. La compañía recaudó una ronda Serie A de $22 millones en 2017, liderada por Goldman Sachs, con la participación de Innovación de las ciencias de Oxford y el Fondo de Innovación y Tecnología de Oxford. Obviamente, no recauda esa cantidad de dinero para centrarse solo en pruebas unitarias para 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 automatizar más el proceso de programación con la ayuda de la IA.

“Comenzamos con las pruebas porque es un problema importante y urgente, especialmente por el impacto que tiene en DevOps y la adopción de ciclos de software más rápidos”, dijo Lodge. 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 peldaños para que las máquinas escriban más y más código”, dijo. “Y también, francamente, es una forma de acostumbrar a los desarrolladores a eso. Porque la aceptación de los desarrolladores es una parte crucial para que esto sea un éxito”.


Source link