Descripción del concepto de análisis estático de código para mejorar la calidad del software así como gestionar de mejor forma el proceso de aseguramiento de la calidad con plataformas como Sonarqube.
Java mission control para monitoreo, administración y profilig de aplicacion...César Hernández
Java mission control para monitoreo, administración y profilig de aplicaciones Java. Un poco de teoría, mecanismos de comunicación, nuevas características incorporadas en JDK 7 update 40 como lo es Java Mission Control.
Introducción al análisis estático de código en java para mejorar la calidad del software tomando como referencia mejores prácticas, estándares y optimización de código.
SonarQube es una plataforma de código abierto que analiza el código para proporcionar informes sobre problemas como código duplicado, estándares de codificación, cobertura de pruebas, complejidad ciclomática y bugs potenciales. Se integra con herramientas como Maven, Jenkins y JIRA. Ofrece características como el almacenamiento de métricas históricas, gráficos de evolución y vistas comparativas. Admite más de 25 lenguajes de programación a través de plugins.
Java mission control para monitoreo, administración y profilig de aplicacione...César Hernández
Descripción de problemas comunes de monitoreo, administración y profilig de aplicaciones java. Introducción a Java Mission Control y la funcionalidad de Java Flight Recorder para poder identificar y prevenir dichos problemas.
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015 César Hernández
Este documento describe cómo la integración continua y la entrega continua pueden incrementar la productividad y agilidad en proyectos Java Enterprise. La integración continua involucra integrar código en un repositorio varias veces al día y verificar automáticamente cada cambio. La entrega continua extiende esto para garantizar que cada cambio pueda implementarse en producción con solo presionar un botón. Juntos, estos enfoques pueden ayudar a detectar errores más rápido, reducir tiempos muertos y mejorar la eficiencia de los recurs
El documento describe las ventajas de usar Grails, un framework web MVC para Java basado en convenciones. Grails utiliza Groovy, un lenguaje dinámico que corre sobre la máquina virtual de Java y ofrece mejoras como tipado opcional, metaprogramación y sintaxis simplificada. Grails sigue los principios de convención sobre configuración y no repetirse, y usa frameworks como Spring y Hibernate para proporcionar características como inyección de dependencia e integración con bases de datos. El proceso de desarrollo en Grails promueve
Este documento resume una presentación sobre buenas prácticas para el desarrollo web en PHP. La presentación cubre temas como el uso de IDEs, estándares de codificación, documentación interna de código, control de versiones, seguimiento de incidencias, uso de wikis, metodologías ágiles, frameworks de PHP, bibliotecas, seguridad, depuración, pruebas unitarias, pruebas automatizadas, integración continua, métricas, rendimiento, despliegues, entornos, búsqueda y equipo.
Java mission control para monitoreo, administración y profilig de aplicacion...César Hernández
Java mission control para monitoreo, administración y profilig de aplicaciones Java. Un poco de teoría, mecanismos de comunicación, nuevas características incorporadas en JDK 7 update 40 como lo es Java Mission Control.
Introducción al análisis estático de código en java para mejorar la calidad del software tomando como referencia mejores prácticas, estándares y optimización de código.
SonarQube es una plataforma de código abierto que analiza el código para proporcionar informes sobre problemas como código duplicado, estándares de codificación, cobertura de pruebas, complejidad ciclomática y bugs potenciales. Se integra con herramientas como Maven, Jenkins y JIRA. Ofrece características como el almacenamiento de métricas históricas, gráficos de evolución y vistas comparativas. Admite más de 25 lenguajes de programación a través de plugins.
Java mission control para monitoreo, administración y profilig de aplicacione...César Hernández
Descripción de problemas comunes de monitoreo, administración y profilig de aplicaciones java. Introducción a Java Mission Control y la funcionalidad de Java Flight Recorder para poder identificar y prevenir dichos problemas.
Mejorando la productividad en proyectos java EE con CI y CD - OTN 2015 César Hernández
Este documento describe cómo la integración continua y la entrega continua pueden incrementar la productividad y agilidad en proyectos Java Enterprise. La integración continua involucra integrar código en un repositorio varias veces al día y verificar automáticamente cada cambio. La entrega continua extiende esto para garantizar que cada cambio pueda implementarse en producción con solo presionar un botón. Juntos, estos enfoques pueden ayudar a detectar errores más rápido, reducir tiempos muertos y mejorar la eficiencia de los recurs
El documento describe las ventajas de usar Grails, un framework web MVC para Java basado en convenciones. Grails utiliza Groovy, un lenguaje dinámico que corre sobre la máquina virtual de Java y ofrece mejoras como tipado opcional, metaprogramación y sintaxis simplificada. Grails sigue los principios de convención sobre configuración y no repetirse, y usa frameworks como Spring y Hibernate para proporcionar características como inyección de dependencia e integración con bases de datos. El proceso de desarrollo en Grails promueve
Este documento resume una presentación sobre buenas prácticas para el desarrollo web en PHP. La presentación cubre temas como el uso de IDEs, estándares de codificación, documentación interna de código, control de versiones, seguimiento de incidencias, uso de wikis, metodologías ágiles, frameworks de PHP, bibliotecas, seguridad, depuración, pruebas unitarias, pruebas automatizadas, integración continua, métricas, rendimiento, despliegues, entornos, búsqueda y equipo.
Este documento describe diferentes técnicas para probar aplicaciones Angular, incluyendo TDD, BDD, pruebas unitarias, y pruebas E2E. Explica cómo escribir pruebas para cada tipo de test, así como herramientas como Karma, Protractor y Jasmine que pueden usarse para automatizar las pruebas. También cubre temas como componentes, $scope, $compile y $httpBackend para simular backends.
Este documento describe las buenas prácticas de integración continua y automatización de pruebas usando Jenkins y Selenium. La integración continua permite integrar el proyecto a medida que avanza y detectar errores rápidamente mediante la ejecución automática de pruebas. Jenkins es una herramienta fácil de usar con plugins que permiten automatizar tareas como el despliegue y monitoreo. Selenium puede automatizar pruebas funcionales en diferentes navegadores y lenguajes de programación.
Swing utiliza código Java puro lo que lo hace muy portable pero más lento que AWT. AWT usa comandos nativos de la plataforma por lo que es más rápido pero menos portable. Swing soporta más características que AWT pero requiere plugin de Java, mientras que AWT puede funcionar directamente en los navegadores.
El documento habla sobre la integración continua y Jenkins. Explica los problemas con el ciclo de vida del software tradicional como falta de automatización y visibilidad. Jenkins es una herramienta que monitorea tareas de manera repetitiva para construir y probar software continuamente, resolviendo parcialmente estos problemas. Ofrece ventajas como prevención de errores y aseguramiento de calidad.
AWT utiliza comandos nativos de la plataforma lo que le da velocidad pero hace que sea menos portable, mientras que Swing usa código Java puro haciéndolo más portable aunque más lento. AWT intenta emular la apariencia nativa del sistema operativo, mientras que Swing tiene su propia apariencia.
Tech Meetup: How to solve 2 common problems in Android & iOSSantex Group
Se trata de cómo resolver los siguientes problemas:
1- Configuración de diferentes environments.
2- Manejo de caching - sincronización de data con el servidor.
Deck de la presentación en el evento Ágiles 2013 en Lima Perú. Charla sobre como aplicar diseño evolucionario, refactoring y TDD cuando se codifica con Javascript.
Este documento describe los servicios en Zend Framework 2. Zend Framework 2 es un framework PHP de código abierto que permite la construcción de aplicaciones web y servicios orientados a objetos. Los servicios son librerías reutilizables que realizan tareas específicas como el envío de correos electrónicos o registro de logs. El Service Manager de Zend Framework 2 permite registrar y localizar servicios de forma flexible mediante fábricas, invocables y alias.
Con Selenium 2.0 y Webdriver la ejecución de TDD y BDD se ve beneficiado por las fortalezas de ambos proyectos.
Introduciremos el API Java basado en PageObjects y veremos ejemplos de creación de pruebas cross-browser para un interfaz de aplicación web con Ajax
Las Pruebas Unitarias, son una técnica esencial en la búsqueda de generar software con calidad. Ejemplo de una prueba de unidad con código java utilizando NetBeans y JUnit
Anatomía de un framework de automatización de pruebas
En este taller haremos, por un lado, una introducción metodológica sobre la automatización de pruebas y luego repasaremos los aspectos técnicos que deben ser considerados en el diseño de un framework. Sumaremos a esta experiencia algunas prácticas complementarias como BDD, CI y DevOps.
Por otro lado, a continuación haremos una breve práctica con todo el toolset descrito previamente. Aunque no es obligatorio, recomendamos un dominio mínimo en los siguientes temas;
Programación orientada a objetos.
Sistemas de control de version de código (idealmente Git).
Comandos Bash básicos.
Conocimientos básicos de HTML y Rest APIs.
Las máquinas de los asistentes van a necesitar al menos 8GB de RAM y cualquier procesador dual core de unos 2Ghz con tecnología de virtualización activada. Además, necesitaremos al menos 50GB de disco duro libre. Seria ideal que también traigan un pendrive de 8GB dado que necesitamos usar una imagen de linux para virtualizar.
Es necesario que los asistentes vengan con el siguiente software al menos descargado (idealmente instalado):
Java JDK 8.
Eclipse IDE.
Vagrant.
VirtualBox.
Chrome.
Git.
Todas últimas versiones excepto la JVM.
Expositor: Marcelo Corpucci
El documento habla sobre las integraciones continuas, que implica que los miembros del equipo integran su código diariamente para detectar errores tempranamente. Esto ayuda a reducir problemas de integración y permite desarrollar software más rápido. Las integraciones continuas involucran poner el código en un repositorio central y automatizar el proceso de compilación.
Presentación de los mecanismo de seguridad que incorpora el programa de gestión Tryton.
Presentación realizada en las I Jornadas Tryton de 2016 en Barcelona.
Este documento proporciona instrucciones para configurar un entorno de desarrollo Java usando Tomcat y Netbeans, incluyendo pasos para descargar e instalar ambos, crear un proyecto web, y escribir código JSP básico. El objetivo es que los estudiantes aprendan sobre declaraciones, expresiones y scriptlets en JSP para manipular datos y generar contenido dinámico.
El documento describe la herramienta GXtest para automatizar pruebas de aplicaciones GeneXus. GXtest permite crear casos de prueba gráficamente sin programar, ejecutar pruebas de forma automatizada en diferentes entornos y versiones, y mantener las pruebas alineadas con los cambios en la aplicación. La herramienta ofrece beneficios como creación sencilla de casos de prueba, automatización por especialistas del dominio, y ejecución distribuida y desatendida de pruebas.
Presentacion de integracion continua (lima agile)Gustavo Veliz
Este documento describe la integración continua y las herramientas necesarias para implementarla. La integración continua automatiza tareas repetitivas como compilar y ejecutar pruebas para detectar errores tempranamente. Se necesitan herramientas como Subversion para control de versiones, Maven para compilar y generar builds, Nexus como repositorio local de Maven, Hudson para automatizar tareas, y Sonar para métricas y análisis de código. La integración continua reduce tiempos de integración y ayuda a encontrar errores más rápido.
Presentación en PPTX sobre la biblioteca Open Source de Java Lombok Project para charla impartida en el meetup de Marzo 2018 de Java Users Group Guadalajara
Este documento introduce el lenguaje de programación Java. Explica que Java es una plataforma de software que se ejecuta sobre otra plataforma hardware/software mediante una máquina virtual Java. Describe las principales características de Java como ser sencillo, orientado a objetos, distribuido, interpretado, robusto, seguro, arquitectura neutra, portable, de altas prestaciones, multithread y dinámico. Finalmente, resalta las ventajas para los desarrolladores de usar Java como comenzar rápidamente, escribir menos código y
Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...Priscill Orue Esquivel
Este documento describe métodos para construir software fiable, incluyendo pruebas de penetración que identifican vulnerabilidades a través de la simulación de ataques. Explica los análisis estáticos y dinámicos utilizados en las pruebas de intrusión, así como herramientas asociadas a cada fase del proceso. Concluye que las pruebas de penetración ayudan a detectar vulnerabilidades en aplicaciones web y a mejorar la seguridad mediante el seguimiento periódico de vulnerabilidades comunes.
Las Pruebas de Software son todavía una de las áreas más desatendidas del desarrollo y espliegue de los productos de software. Las Pruebas de Software son predominantemente vistas como una actividad periférica, casi una formalidad, antes del espliegue del software. Un cambio de actitud y un buen programa de estudios como fundamento hacia las Pruebas de Software pueden reducir tremendamente los problemas normalmente asociados con el lanzamiento del nuevo software y minimizar el riesgo implicado. El programa de estudio del ISTQB (International Software Testing Qualifications Board) Probador Certificado (Certified Tester) ofrece el mejor
entrenamiento estandarizado del mundo para los probadores de software.
Este libro le proporcionará el conocimiento esencial para ser un profesional en Pruebas, que incluye:
Fundamentos de Pruebas
Pruebas a través del Ciclo de Vida de Software
Técnicas Estáticas
Técnicas de Diseño de Pruebas
Gestión de Pruebas
Soporte de las Herramientas de Pruebas
Adquisición de Herramientas y Software en General en una Organización
Más de 200 preguntas de examen de muestra con soluciones
Ejercicios prácticos y soluciones por cada tema cubierto
Caso real, resuelto, como ejemplo a lo largo de los temas
Dos exámenes de simulación del examen real
Estándares de Pruebas
Excelente Bibliografía
Cabe señalar que este libro no es sólo para los probadores sino también para quienes están encargados de la adquisición de software en general, gerentes de tecnología, gerentes del Aseguramiento de la Calidad/Control de la Calidad (QA/QC), gerentes de sistemas, jefes de proyectos de software, analistas, arquitectos, desarrolladores, estudiantes y profesores de TI.
Asimismo este libro está diseñado para el autoestudio. El contenido comprende el programa de estudios necesario para aprobar el examen de certificación nivel básico definido por el ISTQB versión 2011 (Syllabus 2011).
Este documento describe diferentes técnicas para probar aplicaciones Angular, incluyendo TDD, BDD, pruebas unitarias, y pruebas E2E. Explica cómo escribir pruebas para cada tipo de test, así como herramientas como Karma, Protractor y Jasmine que pueden usarse para automatizar las pruebas. También cubre temas como componentes, $scope, $compile y $httpBackend para simular backends.
Este documento describe las buenas prácticas de integración continua y automatización de pruebas usando Jenkins y Selenium. La integración continua permite integrar el proyecto a medida que avanza y detectar errores rápidamente mediante la ejecución automática de pruebas. Jenkins es una herramienta fácil de usar con plugins que permiten automatizar tareas como el despliegue y monitoreo. Selenium puede automatizar pruebas funcionales en diferentes navegadores y lenguajes de programación.
Swing utiliza código Java puro lo que lo hace muy portable pero más lento que AWT. AWT usa comandos nativos de la plataforma por lo que es más rápido pero menos portable. Swing soporta más características que AWT pero requiere plugin de Java, mientras que AWT puede funcionar directamente en los navegadores.
El documento habla sobre la integración continua y Jenkins. Explica los problemas con el ciclo de vida del software tradicional como falta de automatización y visibilidad. Jenkins es una herramienta que monitorea tareas de manera repetitiva para construir y probar software continuamente, resolviendo parcialmente estos problemas. Ofrece ventajas como prevención de errores y aseguramiento de calidad.
AWT utiliza comandos nativos de la plataforma lo que le da velocidad pero hace que sea menos portable, mientras que Swing usa código Java puro haciéndolo más portable aunque más lento. AWT intenta emular la apariencia nativa del sistema operativo, mientras que Swing tiene su propia apariencia.
Tech Meetup: How to solve 2 common problems in Android & iOSSantex Group
Se trata de cómo resolver los siguientes problemas:
1- Configuración de diferentes environments.
2- Manejo de caching - sincronización de data con el servidor.
Deck de la presentación en el evento Ágiles 2013 en Lima Perú. Charla sobre como aplicar diseño evolucionario, refactoring y TDD cuando se codifica con Javascript.
Este documento describe los servicios en Zend Framework 2. Zend Framework 2 es un framework PHP de código abierto que permite la construcción de aplicaciones web y servicios orientados a objetos. Los servicios son librerías reutilizables que realizan tareas específicas como el envío de correos electrónicos o registro de logs. El Service Manager de Zend Framework 2 permite registrar y localizar servicios de forma flexible mediante fábricas, invocables y alias.
Con Selenium 2.0 y Webdriver la ejecución de TDD y BDD se ve beneficiado por las fortalezas de ambos proyectos.
Introduciremos el API Java basado en PageObjects y veremos ejemplos de creación de pruebas cross-browser para un interfaz de aplicación web con Ajax
Las Pruebas Unitarias, son una técnica esencial en la búsqueda de generar software con calidad. Ejemplo de una prueba de unidad con código java utilizando NetBeans y JUnit
Anatomía de un framework de automatización de pruebas
En este taller haremos, por un lado, una introducción metodológica sobre la automatización de pruebas y luego repasaremos los aspectos técnicos que deben ser considerados en el diseño de un framework. Sumaremos a esta experiencia algunas prácticas complementarias como BDD, CI y DevOps.
Por otro lado, a continuación haremos una breve práctica con todo el toolset descrito previamente. Aunque no es obligatorio, recomendamos un dominio mínimo en los siguientes temas;
Programación orientada a objetos.
Sistemas de control de version de código (idealmente Git).
Comandos Bash básicos.
Conocimientos básicos de HTML y Rest APIs.
Las máquinas de los asistentes van a necesitar al menos 8GB de RAM y cualquier procesador dual core de unos 2Ghz con tecnología de virtualización activada. Además, necesitaremos al menos 50GB de disco duro libre. Seria ideal que también traigan un pendrive de 8GB dado que necesitamos usar una imagen de linux para virtualizar.
Es necesario que los asistentes vengan con el siguiente software al menos descargado (idealmente instalado):
Java JDK 8.
Eclipse IDE.
Vagrant.
VirtualBox.
Chrome.
Git.
Todas últimas versiones excepto la JVM.
Expositor: Marcelo Corpucci
El documento habla sobre las integraciones continuas, que implica que los miembros del equipo integran su código diariamente para detectar errores tempranamente. Esto ayuda a reducir problemas de integración y permite desarrollar software más rápido. Las integraciones continuas involucran poner el código en un repositorio central y automatizar el proceso de compilación.
Presentación de los mecanismo de seguridad que incorpora el programa de gestión Tryton.
Presentación realizada en las I Jornadas Tryton de 2016 en Barcelona.
Este documento proporciona instrucciones para configurar un entorno de desarrollo Java usando Tomcat y Netbeans, incluyendo pasos para descargar e instalar ambos, crear un proyecto web, y escribir código JSP básico. El objetivo es que los estudiantes aprendan sobre declaraciones, expresiones y scriptlets en JSP para manipular datos y generar contenido dinámico.
El documento describe la herramienta GXtest para automatizar pruebas de aplicaciones GeneXus. GXtest permite crear casos de prueba gráficamente sin programar, ejecutar pruebas de forma automatizada en diferentes entornos y versiones, y mantener las pruebas alineadas con los cambios en la aplicación. La herramienta ofrece beneficios como creación sencilla de casos de prueba, automatización por especialistas del dominio, y ejecución distribuida y desatendida de pruebas.
Presentacion de integracion continua (lima agile)Gustavo Veliz
Este documento describe la integración continua y las herramientas necesarias para implementarla. La integración continua automatiza tareas repetitivas como compilar y ejecutar pruebas para detectar errores tempranamente. Se necesitan herramientas como Subversion para control de versiones, Maven para compilar y generar builds, Nexus como repositorio local de Maven, Hudson para automatizar tareas, y Sonar para métricas y análisis de código. La integración continua reduce tiempos de integración y ayuda a encontrar errores más rápido.
Presentación en PPTX sobre la biblioteca Open Source de Java Lombok Project para charla impartida en el meetup de Marzo 2018 de Java Users Group Guadalajara
Este documento introduce el lenguaje de programación Java. Explica que Java es una plataforma de software que se ejecuta sobre otra plataforma hardware/software mediante una máquina virtual Java. Describe las principales características de Java como ser sencillo, orientado a objetos, distribuido, interpretado, robusto, seguro, arquitectura neutra, portable, de altas prestaciones, multithread y dinámico. Finalmente, resalta las ventajas para los desarrolladores de usar Java como comenzar rápidamente, escribir menos código y
Análisis estáticos y dinámicos en la aplicación de pruebas de intrusión (Pene...Priscill Orue Esquivel
Este documento describe métodos para construir software fiable, incluyendo pruebas de penetración que identifican vulnerabilidades a través de la simulación de ataques. Explica los análisis estáticos y dinámicos utilizados en las pruebas de intrusión, así como herramientas asociadas a cada fase del proceso. Concluye que las pruebas de penetración ayudan a detectar vulnerabilidades en aplicaciones web y a mejorar la seguridad mediante el seguimiento periódico de vulnerabilidades comunes.
Las Pruebas de Software son todavía una de las áreas más desatendidas del desarrollo y espliegue de los productos de software. Las Pruebas de Software son predominantemente vistas como una actividad periférica, casi una formalidad, antes del espliegue del software. Un cambio de actitud y un buen programa de estudios como fundamento hacia las Pruebas de Software pueden reducir tremendamente los problemas normalmente asociados con el lanzamiento del nuevo software y minimizar el riesgo implicado. El programa de estudio del ISTQB (International Software Testing Qualifications Board) Probador Certificado (Certified Tester) ofrece el mejor
entrenamiento estandarizado del mundo para los probadores de software.
Este libro le proporcionará el conocimiento esencial para ser un profesional en Pruebas, que incluye:
Fundamentos de Pruebas
Pruebas a través del Ciclo de Vida de Software
Técnicas Estáticas
Técnicas de Diseño de Pruebas
Gestión de Pruebas
Soporte de las Herramientas de Pruebas
Adquisición de Herramientas y Software en General en una Organización
Más de 200 preguntas de examen de muestra con soluciones
Ejercicios prácticos y soluciones por cada tema cubierto
Caso real, resuelto, como ejemplo a lo largo de los temas
Dos exámenes de simulación del examen real
Estándares de Pruebas
Excelente Bibliografía
Cabe señalar que este libro no es sólo para los probadores sino también para quienes están encargados de la adquisición de software en general, gerentes de tecnología, gerentes del Aseguramiento de la Calidad/Control de la Calidad (QA/QC), gerentes de sistemas, jefes de proyectos de software, analistas, arquitectos, desarrolladores, estudiantes y profesores de TI.
Asimismo este libro está diseñado para el autoestudio. El contenido comprende el programa de estudios necesario para aprobar el examen de certificación nivel básico definido por el ISTQB versión 2011 (Syllabus 2011).
Gestión de infraestructura tomcat tom ee con tfactoryCésar Hernández
Apache Tomcat, technology recap, challenges and opportunities with tFactory: open source Project to manage Apache Tomcat instances over a network easily.
Este documento presenta una introducción a MongoDB, un sistema de almacenamiento NoSQL orientado a documentos. Explica la evolución de los sistemas de almacenamiento desde los años 70, los retos actuales como la alta transaccionalidad y volumen de datos, y tipos de datos NoSQL como clave-valor, gráfico y documental. Luego compara MongoDB con RDBMS, destacando su orientación a documentos en JSON, escalabilidad, bajo costo y compatibilidad con Java. Finalmente, proporciona demostraciones sobre instalación, inserción de
Ecuador jug 2017 -incrementando la productividad de proyectos java ee con c...César Hernández
La presentación trata sobre cómo incrementar la productividad de proyectos JavaEE mediante la integración y entrega continua. Explica que la integración continua permite detectar errores de forma rápida integrando código en el repositorio varias veces al día, mientras que la entrega continua garantiza que cada cambio en el sistema sea deployable en producción para producir software robusto en ciclos cortos. Finalmente, recomienda herramientas como Jenkins, Docker y Kubernetes para implementar estas prácticas en proyectos JavaEE.
Charla presentada en la reunión quincenal de NSCoder Night Madrid.
En esta charla hemos revisado las principales herramientas que git nos da para solucionar conflictos. En las diapositivas y en los ejemplos nos hemos centrado en cómo resolverlos después de hacer un merge.
¿Cómo medir la calidad del software de una manera formal pero práctica?Software Guru
Se explicará el modelo EPEI para evaluación de calidad de software, el cual está diseñado para utilizar información cualitativa y pasarla a entornos cuantitativos que permitan comparar la calidad en distintos proyectos de software, así como su evolución a lo largo del tiempo.
El modelo EPEI fue presentado en el artículo "Midiendo la calidad del software" en SG #40.
Semblanza del conferencista:
FRANCISCO VALDÉS SOUTO.
• PhD. en Ingeniería de Software con especialización en medición y estimación de software en la Universidad de Quebéc en la École de Technologie Supérieure.
• Maestro en Tecnologías de Información y Administración por el Instituto Tecnológico Autónomo de México.
• Mastère Spécialisé Manager Telecom por el INSTITUT NATIONAL DES TELECOMMUNICATIONS (Francia).
• Ingeniero en Computación por la Universidad Nacional Autónoma de México.
• Certified ScrumMaster (CSM), Project Manager Professional (PMP).
• Primer mexicano certificado como COSMIC FFP Size Measurer por el Common Software Measurement International Consortium (COSMIC).
• Common Software Measurement International Consortium International Advisory Council (IAC)
• Integrante del Work Group 12 del ISO/IEC Joint Technical Committee 1, Sub-Committee 7 (Software Engineering).
Tiene experiencia de más de 16 años en desarrollo de Software Financiero de desempeño crítico, laborando para Banco de México en las áreas de Sistemas de la Dirección de Operaciones de Banca Central y de la Dirección General de Emisión y colaboró en la implementación del MAAGTICSI en el IMSS.
Actualmente Socio fundador y Director General de SPINGERE, la primera organización especializada en la consultoría y capacitación en dimensionamiento, evaluación y estimación de proyectos de TI en México y en AL (en idioma Español).
Tiene un libro varios artículos publicados Internacionalmente y en algunas revistas en el país, participa activamente en las conferencias internacionales relacionadas con la estimación y medición de proyectos como Software Engineering Research, Management and Applications (SERA) y International Workshop in Software Measurement (IWSM) and International Conference on Software Process and Product Measurement (MENSURA).
Presentación de introducción a la tecnología Java.
Presentación con fines educativos y sin fines de lucro, las imágenes, logos y temas son derechos reservados de sus propietarios.
El documento define y clasifica los diferentes tipos de software. Explica que el software de sistema incluye el sistema operativo y controladores de dispositivos, el cual administra los recursos de hardware y permite la interfaz con el usuario. También describe el software de aplicación, diseñado para tareas específicas como ofimática, y el software de programación, que incluye compiladores e IDEs para desarrollar software.
Este documento presenta una introducción a los conceptos y comandos básicos de Git. Explica que Git rastrea el contenido de los archivos en lugar de los archivos mismos usando objetos como blobs, árboles y commits. También describe las tres partes principales de un proyecto Git: el directorio de trabajo, el área de preparación y el repositorio, y comandos como add, commit, status y diff. Finalmente, introduce conceptos como ramas, referencias remotas, fusiones y rebase.
Este documento describe los diagramas de flujo y su uso para la estandarización de procesos. Explica que los diagramas de flujo representan gráficamente las actividades de un proceso y pueden usarse para identificar problemas, mejorar procesos y estandarizar tiempos. Luego detalla cinco tipos de diagramas y cómo crear un diagrama de flujo de procesos. Finalmente, cubre herramientas adicionales para la estandarización como hojas estándar de operación, fichas técnicas y señalización.
Este documento describe varias herramientas ágiles que pueden usarse para implementar metodologías ágiles como Scrum. Explica IDEs, sistemas de control de versiones, frameworks para pruebas unitarias, herramientas de análisis de código, integración continua y gestión de proyectos ágiles. El objetivo es ayudar a los equipos a trabajar de manera colaborativa y entregar valor al cliente de forma iterativa.
Calidad de código en Chamilo: Behat, Travis-CI y Scrutinizer-CIYannick Warnier
En esta presentación, se muestran ejemplos de los esfuerzos realizados y de las herramientas usadas para mejorar la calidad del código de Chamilo (en particular a partir de la versión 1.11)
Transparencias de la charla con la que participamos en las III Jornadas de Java de Alicante.
En las transparencias se muestran algunas herramientas para implantar metodologías ágiles en Java y se comentan algunas anécdotas e historias de diferentes implantaciones.
¿Cómo poner software de calidad en manos del usuario de forma rápida?Micael Gallego
Ciclo de vida del software, repositorios de código, análisis estático de código, pruebas software, integración continua, entrega continua, despliegue continuo, DevOps.
Charla en Universidad ORT 2014 - Testing técnico (automatización, mobile, pe...Federico Toledo
Federico Toledo presenta sobre temas de testing técnico como automatización de pruebas, diseño de pruebas y pruebas de rendimiento. Explica conceptos como casos de prueba, herramientas de automatización como Selenium y GXtest, y técnicas de pruebas de rendimiento como pruebas de carga y estrés. Finalmente, habla sobre la herramienta Monkop para realizar pruebas de rendimiento en dispositivos móviles y la importancia de considerar el rendimiento como un requisito clave del software.
Testing técnico - Automatización en web y mobile para pruebas funcionales y p...Abstracta
Federico Toledo presenta sobre temas de testing técnico como automatización de pruebas y pruebas de rendimiento. Explica conceptos como casos de prueba, automatización con herramientas como Selenium y GXtest, y diseño de pruebas de rendimiento. También introduce las herramientas Monkop y Open Device Lab para realizar pruebas en diferentes dispositivos de forma automatizada.
Automatización de pruebas con Selenium, Typescript, Protractor & CucumberSoftware Guru
En esta charla se revisará los requerimientos para poder crear un set de pruebas utilizando el poder de varias herramientas como: Selenium WebDriverJS, NodeJS, TypeScript, Protractor, Cucumber y Chai, las cuales al ser combinadas resultan en la fácil creación de frameworks de automatización útiles en la industria.
Presentada por: Gilberto Sánchez
Modelo de cascada, analisis de sistemas.pptxingcraul
El modelo de cascada es un enfoque metodológico para el desarrollo de software que ordena las etapas de manera rigurosa y secuencial, comenzando con el análisis de requisitos, seguido por el diseño del sistema y programa, la codificación, pruebas, implementación y mantenimiento, donde cada etapa debe completarse antes de comenzar la siguiente.
Los desafíos de calidad de software que nos trae la IA y los LLMsFederico Toledo
En esta charla, nos sumergiremos en los desafíos emergentes que la inteligencia artificial (IA) y los Large Language Models (LLMs) traen al mundo de la calidad del software y el testing. Exploraremos cómo la integración, uso o diseño de modelos de IA plantean nuevos retos, incluyendo la calidad de datos y detección de sesgos, sumando la complejidad de probar algo no determinístico. Revisaremos algunas propuestas que se están llevando adelante para ajustar nuestras tareas de testing al desarrollo de este tipo de sistemas, incluyendo enfoques de pruebas automatizadas y observabilidad.
Java 8, tópicos de estudio para el examen upgradeSoftware Guru
El documento presenta una guía para la certificación Java SE 8. Explica que el examen evalúa el conocimiento sólido del lenguaje Java y las APIs de Java SE 8. Revisa el proceso de certificación, que incluye registrarse para el examen, estudiar los objetivos, practicar con simuladores y presentar el examen cuando se logre un 90% en las pruebas. También incluye un ejemplo de pregunta sobre interfaces funcionales.
Este documento proporciona una introducción a las pruebas de software. Explica los fundamentos de las pruebas, incluidos los objetivos, técnicas y roles. También describe cómo se realizan las pruebas a lo largo del ciclo de vida del software, desde las pruebas de unidad hasta las pruebas de sistema. Finalmente, detalla los diferentes niveles de prueba y sus objetivos.
El documento describe diferentes métodos para realizar pruebas de calidad de software, incluyendo pruebas funcionales, no funcionales, unitarias, de integración y de sistema. También discute pruebas manuales versus automáticas y características deseables para pruebas de software como ser fácilmente entendible y extensible.
Este documento discute la importancia de medir la cobertura de pruebas unitarias y algunas herramientas para hacerlo, como Coverlet y dotCover. Explica que la cobertura de pruebas mide qué tan bien se escribieron las pruebas y cuánto código cubren. Un porcentaje ideal de cobertura puede variar dependiendo del tiempo disponible y la complejidad del código, pero generalmente entre 60-80% es una meta razonable. La integración continua de pruebas unitarias y cobertura de código en DevOps ayuda a
Este documento presenta las principales prácticas técnicas para mejorar la calidad del código y el proceso de desarrollo de software. Se discuten temas como integración continua, pruebas automatizadas, análisis estático de código, y se destaca la importancia de implementar estas prácticas para entregar software de manera ágil y sostenible. También se cubren conceptos como pruebas unitarias, de integración y funcionales, y se provee una bibliografía para profundizar en estos temas.
Similar a Administración de la calidad del software a través del análisis estático de código en java version otn 2013 (20)
7 Recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...César Hernández
Con el impacto en el ecosistema después de la migración del paquete javax a Jakarta en Jakarta EE 9 y el soporte para Java SE 11 en Jakarta EE 9.1, esta sesión cubre recomendaciones y estrategias para ayudarlo a navegar el proceso de migración a Jakarta EE 9.1 usando Apache TomEE .
Paving the road with Jakarta EE and Apache TomEE - JCON 2021César Hernández
- The document summarizes a presentation by César Hernández on paving the road with Jakarta EE and Apache TomEE. It discusses the context of migrating from Java EE to Jakarta EE, approaches to migration including bytecode-level tools and source code tools, and how to contribute to Jakarta EE and Apache TomEE open source projects. It promotes embracing continuous integration, delivery, and sharing learning experiences to help with the migration.
7 recomendaciones para migrar tus aplicaciones a Jakarta EE utilizando Apache...César Hernández
Con el impacto en el ecosistema después de la migración del paquete javax a Jakarta en Jakarta EE 9 y el soporte para Java SE 11 en Jakarta EE 9.1, esta sesión cubre recomendaciones y estrategias para ayudarlo a navegar el proceso de migración a Jakarta EE 9.1 usando Apache TomEE .
Keeping brazil's medical industry safe with Micro Profile [TDC 2021]César Hernández
Get to know this exceptional case of migration to the cloud with MicroProfile and Jakarta EE in the Brazilian medical industry. It involves several challenges such as the fifth-largest population and largest territory in the world; complexity; and diversity, both geographic and economic. We discuss how MicroProfile projects such as Health Check, JWT Authentication, Metrics, OpenAPI, Rest Client, and Config contributed to the success of the project; what benefits they saw; the challenges they faced; and how they solved them.
Adoptar o implementar nuevas tecnologías a nuestros sistemas basados en Java tiene muchos ángulos de análisis que van más allá de lo técnico.
En esta sesion veremos 10 formas prácticas y efectivas en las que puedes contribuir activamente en el ecosistema Cloud Native de Java con JakartaEE y Apache TomEE.
Con esta información podrás tomar mejores decisiones en las mejoras continuas de tus arquitecturas y sistemas basados en java.
Paving the way with Jakarta EE and Apache TomEE - JCConfCésar Hernández
Cesar Hernandez is a senior software engineer at Tomitribe who discusses his work with Jakarta EE and Apache TomEE. He provides an overview of the transition from Java EE to Jakarta EE, including the changes to namespaces. Apache TomEE is an open source Java EE application server built from Apache components that is compliant with Jakarta EE and MicroProfile. TomEE 9.0 implements the transition to the new jakarta namespaces. Resources are provided for users migrating to Jakarta EE 9 and getting involved in the open source community.
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...César Hernández
Get to know this exceptional case of migration to the cloud with MicroProfile and Jakarta EE in the Brazilian medical industry. It involves several challenges such as the fifth-largest population and largest territory in the world; complexity; and diversity, both geographic and economic. We discuss how MicroProfile projects such as Health Check, JWT Authentication, Metrics, OpenAPI, Rest Client, and Config contributed to the success of the project; what benefits they saw; the challenges they faced; and how they solved them.
Pavimentando el camino con Jakarta EE 9 y Apache TomEE César Hernández
Jakarta EE 9 introduce la migración del paquete javax a jakarta en la plataforma, impactando en el ecosistema y, por lo tanto, en los usuarios finales. Esta sesión cubre antecedentes, recomendaciones y estrategias basadas en código para ayudarlo a navegar por la migración de sus aplicaciones Java Enterprise usando Apache TomEE.
It is easy contributing to open source - JCON 2020César Hernández
The problem developers new to open source have is joining the community, starting to contribute, and using common open source tools. In this session, attendees will learn how to contribute and become valuable a part of any open source community. Attendees will learn soft and hard skills based on two case studies: Eclipse MicroProfile and Apache TomEE projects. Attendees will learn to access the culture of open source projects, expected behavior and attitude toward new contributors; how to start small, take risks, ask lots of questions; and how to get started with common open source tools like Maven, Git, and JIRA. Students will leave this workshop the soft skills and the hard skills required to make meaningful contributions.
It is easy contributing to Open Source - ECLIPSE CON 2020César Hernández
The problem developers new to open source have is joining the community, starting to contribute, and using common open source tools. In this session, attendees will learn how to contribute and become valuable a part of any open source community. Attendees will learn soft and hard skills based on two case studies: Eclipse MicroProfile and Apache TomEE projects. Attendees will learn to access the culture of open source projects, expected behavior and attitude toward new contributors; how to start small, take risks, ask lots of questions; and how to get started with common open source tools like Maven, Git, and JIRA. Students will leave this workshop the soft skills and the hard skills required to make meaningful contributions.
Paving the way with Jakarta EE and apache TomEE at cloudconferencedayCésar Hernández
Jakarta EE 9 introduces the migration of the javax to jakarta package in the platform, impacting the ecosystem and, therefore, the end-users. This session covers background, recommendations and code driven strategies to help you navigate the migration of your Java Enterprise applications using Apache TomEE.
Pavimentando el Camino con Jakarta EE 9 y Apache TomEE 9.0.0César Hernández
Jakarta EE 9 introduce la migración del paquete javax a jakarta en la plataforma, lo que impacta en el ecosistema y, por lo tanto, en los usuarios finales. Esta sesión cubre antecedentes, recomendaciones y estrategias basadas en código para ayudarlo a navegar por la migración de sus aplicaciones Java Enterprise usando Apache TomEE.
Creando microservicios con java micro profile y tomee - CUNORI 2020César Hernández
En esta sesión los asistentes presenciaron la base teórica y práctica para la creación de micro servicios con Java, JakartaEE, MicroProfile utilizando TomEE como servidor de aplicaciones.
Paving the way with Jakarta EE and Apache TomEE - itkonekt 2020César Hernández
Jakarta EE 9 introduces the migration of the javax to jakarta package in the platform, impacting the ecosystem and, therefore, the end-users. This session covers background, recommendations and code driven strategies to help you navigate the migration of your Java Enterprise applications using Apache TomEE.
Creando microservicios con Java MicroProfile y TomEE - OGBTCésar Hernández
En esta sesión los asistentes presenciaron la base teórica y práctica para la creación de micro servicios con Java, JakartaEE, MicroProfile utilizando TomEE como servidor de aplicaciones.
Creando microservicios con Java, Microprofile y TomEE - Baranquilla JUGCésar Hernández
En esta sesión los asistentes presenciaron la base teórica y práctica para la creación de micro servicios con Java, JakartaEE, MicroProfile utilizando TomEE como servidor de aplicaciones.
Creando microservicios con Java y Microprofile - Nicaragua JUGCésar Hernández
En esta sesión los asistentes presenciaron la base teórica y práctica para la creación de micro servicios con Java, JakartaEE, MicroProfile utilizando TomEE como servidor de aplicaciones.
Keeping brazil's medical industry safe with Micro Profile and JakartaEE - Jak...César Hernández
Get to know this exceptional case of migration to the cloud with MicroProfile and Jakarta EE in the Brazilian medical industry. It involves several challenges such as the fifth-largest population and largest territory in the world; complexity; and diversity, both geographic and economic. We discuss how MicroProfile projects such as Health Check, JWT Authentication, Metrics, OpenAPI, Rest Client, and Config contributed to the success of the project; what benefits they saw; the challenges they faced; and how they solved them.
Es fácil contribuir al open source - Bolivia JUG 2020César Hernández
En esta sesión impartida el 18 de Abril de 2020 compartimos con el JUG de Bolivia lo fácil que es contribuir al Opensource. Utilizamos como ejemplo dos proyecto Java: Apache TomEE y Eclipse MicroProfile.
Its easy! contributing to open source - Devnexus 2020César Hernández
The problem developers new to open source have is joining the community, starting to contribute, and using common open source tools. In this session, attendees will learn how to contribute and become valuable a part of any open source community. Attendees will learn soft and hard skills based on two case studies: Eclipse MicroProfile and Apache TomEE projects. Attendees will learn to access the culture of open source projects, expected behavior and attitude toward new contributors; how to start small, take risks, ask lots of questions; and how to get started with common open source tools like Maven, Git, and JIRA. Students will leave this workshop the soft skills and the hard skills required to make meaningful contributions.
Catalogo Cajas Fuertes BTV Amado Salvador Distribuidor OficialAMADO SALVADOR
Explora el catálogo completo de cajas fuertes BTV, disponible a través de Amado Salvador, distribuidor oficial de BTV. Este catálogo presenta una amplia variedad de cajas fuertes, cada una diseñada con la más alta calidad para ofrecer la máxima seguridad y satisfacer las diversas necesidades de protección de nuestros clientes.
En Amado Salvador, como distribuidor oficial de BTV, ofrecemos productos que destacan por su innovación, durabilidad y robustez. Las cajas fuertes BTV son reconocidas por su eficiencia en la protección contra robos, incendios y otros riesgos, lo que las convierte en una opción ideal tanto para uso doméstico como comercial.
Amado Salvador, distribuidor oficial BTV, asegura que cada producto cumpla con los más estrictos estándares de calidad y seguridad. Al adquirir una caja fuerte a través de Amado Salvador, distribuidor oficial BTV, los clientes pueden tener la tranquilidad de que están obteniendo una solución confiable y duradera para la protección de sus pertenencias.
Este catálogo incluye detalles técnicos, características y opciones de personalización de cada modelo de caja fuerte BTV. Desde cajas fuertes empotrables hasta modelos de alta seguridad, Amado Salvador, como distribuidor oficial de BTV, tiene la solución perfecta para cualquier necesidad de seguridad. No pierdas la oportunidad de conocer todos los beneficios y características de las cajas fuertes BTV y protege lo que más valoras con la calidad y seguridad que solo BTV y Amado Salvador, distribuidor oficial BTV, pueden ofrecerte.
La inteligencia artificial sigue evolucionando rápidamente, prometiendo transformar múltiples aspectos de la sociedad mientras plantea importantes cuestiones que requieren una cuidadosa consideración y regulación.
Catalogo Refrigeracion Miele Distribuidor Oficial Amado Salvador ValenciaAMADO SALVADOR
Descubre el catálogo general de la gama de productos de refrigeración del fabricante de electrodomésticos Miele, presentado por Amado Salvador distribuidor oficial Miele en Valencia. Como distribuidor oficial de electrodomésticos Miele, Amado Salvador ofrece una amplia selección de refrigeradores, congeladores y soluciones de refrigeración de alta calidad, resistencia y diseño superior de esta marca.
La gama de productos de Miele se caracteriza por su innovación tecnológica y eficiencia energética, garantizando que cada electrodoméstico no solo cumpla con las expectativas, sino que las supere. Los refrigeradores Miele están diseñados para ofrecer un rendimiento óptimo y una conservación perfecta de los alimentos, con características avanzadas como la tecnología de enfriamiento Dynamic Cooling, sistemas de almacenamiento flexible y acabados premium.
En este catálogo, encontrarás detalles sobre los distintos modelos de refrigeradores y congeladores Miele, incluyendo sus especificaciones técnicas, características destacadas y beneficios para el usuario. Amado Salvador, como distribuidor oficial de electrodomésticos Miele, garantiza que todos los productos cumplen con los más altos estándares de calidad y durabilidad.
Explora el catálogo completo y encuentra el refrigerador Miele perfecto para tu hogar con Amado Salvador, el distribuidor oficial de electrodomésticos Miele.
HPE presenta una competició destinada a estudiants, que busca fomentar habilitats tecnològiques i promoure la innovació en un entorn STEAM (Ciència, Tecnologia, Enginyeria, Arts i Matemàtiques). A través de diverses fases, els equips han de resoldre reptes mensuals basats en àrees com algorísmica, desenvolupament de programari, infraestructures tecnològiques, intel·ligència artificial i altres tecnologies. Els millors equips tenen l'oportunitat de desenvolupar un projecte més gran en una fase presencial final, on han de crear una solució concreta per a un conflicte real relacionat amb la sostenibilitat. Aquesta competició promou la inclusió, la sostenibilitat i l'accessibilitat tecnològica, alineant-se amb els Objectius de Desenvolupament Sostenible de l'ONU.
Catalogo General Electrodomesticos Teka Distribuidor Oficial Amado Salvador V...AMADO SALVADOR
El catálogo general de electrodomésticos Teka presenta una amplia gama de productos de alta calidad y diseño innovador. Como distribuidor oficial Teka, Amado Salvador ofrece soluciones en electrodomésticos Teka que destacan por su tecnología avanzada y durabilidad. Este catálogo incluye una selección exhaustiva de productos Teka que cumplen con los más altos estándares del mercado, consolidando a Amado Salvador como el distribuidor oficial Teka.
Explora las diversas categorías de electrodomésticos Teka en este catálogo, cada una diseñada para satisfacer las necesidades de cualquier hogar. Amado Salvador, como distribuidor oficial Teka, garantiza que cada producto de Teka se distingue por su excelente calidad y diseño moderno.
Amado Salvador, distribuidor oficial Teka en Valencia. La calidad y el diseño de los electrodomésticos Teka se reflejan en cada página del catálogo, ofreciendo opciones que van desde hornos, placas de cocina, campanas extractoras hasta frigoríficos y lavavajillas. Este catálogo es una herramienta esencial para inspirarse y encontrar electrodomésticos de alta calidad que se adaptan a cualquier proyecto de diseño.
En Amado Salvador somos distribuidor oficial Teka en Valencia y ponemos atu disposición acceso directo a los mejores productos de Teka. Explora este catálogo y encuentra la inspiración y los electrodomésticos necesarios para equipar tu hogar con la garantía y calidad que solo un distribuidor oficial Teka puede ofrecer.
KAWARU CONSULTING presenta el projecte amb l'objectiu de permetre als ciutadans realitzar tràmits administratius de manera telemàtica, des de qualsevol lloc i dispositiu, amb seguretat jurídica. Aquesta plataforma redueix els desplaçaments físics i el temps invertit en tràmits, ja que es pot fer tot en línia. A més, proporciona evidències de la correcta realització dels tràmits, garantint-ne la validesa davant d'un jutge si cal. Inicialment concebuda per al Ministeri de Justícia, la plataforma s'ha expandit per adaptar-se a diverses organitzacions i països, oferint una solució flexible i fàcil de desplegar.
Administración de la calidad del software a través del análisis estático de código en java version otn 2013
1. Administración de la calidad del
software a través del análisis
estático de código
GuateJUG - OTN Tour Guatemala 2013
César Hernández
CesarHernandezGt
@CesarHgt
CesarHernandezGt/OTN2013
3. Análisis estático de código
● Es la detección sistemática y proactiva de bugs,
fugas de memória y código muerto e ineficiente
entre otros
● No necesita que el programa sea ejecutado para
detectar problemas
4. Beneficios
● Reducción del costo en proceso de QA
● Mejor productividad de desarrollo y calidad del
código fuente
● El análisis del código es automático y no requiere
ejecución del código
● Sencillez de uso por la integración con IDE´S
como Eclipse y Netbeans
6. "Porque hasta las personas más inteligentes
pueden cometer los errores más estúpidos"
-William Pugh-
7. FindBugs
● Identifica bugs bajo la especificación del lenguaje
Java operando a nivel de Bytecodes (.class files)
● No contempla análisis de formato del código fuente.
● Utilizado por empresas como Google, Oracle,
Eclipse, IBM.
9. ● Bad practice
● Correctness
● Malicious code vulnerability
● Multithreaded correctness
● Performance
● Security
● Dodgy code (dudoso)
Descripción de los más de 300 patrones:
http://findbugs.sourceforge.net/bugDescriptions.html
Categorías
10. "En un proyecto de software con diez personas,
probablemente tres de ellas introducen tantos
errores que podríamos considerar su productividad
como negativa."
- Gordon Schulmeyer-
11. PMD
● Permite optimizar nuestro código con la detección
de objetos innecesarios, variables sub utilizadas,
duplicación explícita entre otros.
● Se centra en código que puede ser Optimizado
● Personalización por reglas
13. ● Android
● Basic JSP
● Basic JSF
● Java Beans
● Optimization
● Naming
Descripción de las más de 450 reglas:
http://pmd.sourceforge.net/pmd-5.0.0/rules/index.html
Categorías de reglas
14. "Si el código y los comentarios no coinciden,
posiblemente ambos sean erróneos"
-Norm Schryer-
15. Checkstyle
● Verificador sintáctico de estándares de codificación
● Para el caso de Java, CheckStyle toma como base:
Code Conventions for the Java Programming
Language http://www.oracle.com/technetwork/java/javase/documentation/codeconvtoc-136057.html
● Provee flexibilidad en el grado de revisión del
código
17. Ejemplo de detecciones
Convenciones de nombrado
Anotaciones
Diseño de clases
Imports
Comentarios Javado
Modificadores de acceso
Naming Conventions
Expresiones regulares
Descripción de las más de 120 reglas:
http://checkstyle.sourceforge.net/availablechecks.html
18.
19. Retos
● Diversas herramientas
● Diversos lenguajes de programación
● Necesidad de personalización
● Distribución y estandarización
● Ecosistemas de diversas tecnologías y versiones
● Constante cambio de....
20. ● Plataforma para la administración de la calidad del
código fuente.
● Gran parte de su funcionamiento se base en el
Análisis Estático de Código.
ABAP
C/C++ C-Sharp (C#)
COBOL
Flex
GroovyJavaScript
Natural
Pacbase
PHP
PL/I
PL/SQL
Python
VB.NET
Visual Basic 6
Web (HTML, JSP)
XML
Java