Aumente la agilidad, la productividad,
la calidad y la seguridad
El concepto de integración continua (CI) es la práctica de fusionar todas las copias de trabajo de los desarrolladores en una versión centralizada, alojada en un repositorio compartido, varias veces al día.
La automatización de los despliegues conduce a la entrega continua (CD), el cual es una extensión común de la integración continua. Para desplegar versiones fiables, integra la verificación de la conformidad de la compilación con los requisitos de calidad, estabilidad y seguridad mediante pruebas automatizadas y análisis de código estático para detectar bugs, problemas de calidad y vulnerabilidades (SAST).
Esto significa que cada actualización del código se comprueba automáticamente y, si se acepta, puede ser desplegada en producción.
En definitiva, un flujo de trabajo CI/CD aumentará la agilidad y la productividad de su equipo de desarrollo, así como la calidad y la seguridad de su código.
Antes de enviar su código al repositorio, los desarrolladores deben primero actualizarlo para reflejar los cambios realizados desde que tomaron su copia.
Un flujo de trabajo de IC típico estaría compuesto por los siguientes pasos:
Las pruebas unitarias pueden ejecutarse manualmente o escribirse y automatizarse de acuerdo con las prácticas de desarrollo dirigido por pruebas. Todas las pruebas unitarias deben pasar en el entorno local del desarrollador antes de incorporar sus cambios a la versión principal. Esto evita que su trabajo en curso rompa las copias de otros desarrolladores.
Herramientas y recursos:
Los desarrolladores envían sus cambios al repositorio y fusionan su rama de código con la versión principal. Un servidor de construcción compila el código periódicamente o incluso después de cada commit y reporta los resultados a los desarrolladores.
Las versiones recientes de PowerBuilder ofrecen una serie de características que simplifican este proceso:
Herramientas y recursos:
Las herramientas de inspección de código ejecutan un análisis estático para identificar defectos. Cada bloque de código se checa con un conjunto de reglas para encontrar vulnerabilidades de seguridad, errores y problemas de mantenibilidad. Se genera automáticamente un informe para contar y clasificar los defectos por gravedad, y evaluar si una compilación es aceptable para su despliegue o no.
Puedes utilizar Visual Expert para inspeccionar tu código de PowerBuilder y de la base de datos:
La integración continua tiene como objetivo automatizar las tareas para verificar y generar builds desplegables con la mayor frecuencia posible.
Las pruebas son un paso esencial en este proceso, y su automatización es necesaria para lograr este objetivo: cada compilación se probará a fondo y los indicadores generados automáticamente ayudarán a evaluar si la compilación es desplegable.
Obviamente, todos los equipos prueban sus productos.
Sin embargo, toda entrega incluye defectos.
Los testers se esfuerzan por detectarlos: algunos siempre permanecen, mientras que otros reaparecen, por muy exhaustivas que sean las pruebas manuales.
Una herramienta de automatización de pruebas es una forma muy eficaz de complementar sus tests manuales, para mejorar la eficacia y la cobertura de sus operaciones de prueba.
Más información: pasos para crear pruebas automatizadas
Las generaciones anteriores de herramientas de pruebas tenían la reputación de requerir demasiado esfuerzo para crear y mantener los tests, lo que cancelaba el propósito de ganar productividad.
La automatización de pruebas suele basarse en dos estrategias:
Las herramientas modernas ofrecen un enfoque diferente, basado en el reconocimiento de objetos:
Leer más
Comparemos ambas estrategias con los KPI críticos:
Manual | Auto | ||
Precisión | Las pruebas manuales son menos precisas debido a los posibles errores humanos. Las pruebas automatizadas son coherentes y fiables. |
||
Productividad | Ejecutar muchas pruebas manuales lleva mucho tiempo y es caro. Las pruebas automatizadas son más rápidas. Sin costes adicionales para repetir tantas veces como sea necesario. |
||
Inicio | Puede empezar a ejecutar pruebas manuales al instante. Las pruebas automatizadas requieren un tiempo previo a las pruebas y acciones predefinidas. |
||
Flexibilidad | Las pruebas manuales son más flexibles: permiten realizar pruebas de forma aleatoria o improvisar pruebas más profundas sobre la marcha en un área muy específica. Las pruebas de automatización no lo hacen. |
Es evidente que las pruebas automatizadas aportan grandes ventajas, pero no pueden sustituir totalmente a las pruebas manuales.
La mejor estrategia consiste en combinar sabiamente los 2 enfoques en función de:
Para ir más allá:
Puede AscentialTest para automatizar la prueba de las aplicaciones PowerBuilder y PowerServer
Herramientas y recursos:
Las herramientas modernas permiten automatizar varias tareas en un flujo de trabajo CI/CD. Ahora, el soporte multilingüe es una de ellas.
Si su aplicación se despliega en varios países, es muy probable que la traduzca para ofrecer un mejor servicio a los usuarios. Cuando la aplicación está en producción, las traducciones deben ser actualizadas sistemáticamente para mantener una experiencia de usuario homogénea.
Herramientas y recursos
Enable for PowerBuilder separa las traducciones del código e incluye características específicas para integrarlas en un flujo CI/CD:
Por ejemplo, puede añadir una tarea multilingüe a su flujo de trabajo:
Nota: las frases suelen ser traducidas por traductores profesionales. Ellos enviarán las traducciones para su importación automática a la base de datos multilingüe. Este segundo proceso es independiente del proceso de construcción.