Post on 20-Dec-2014
description
transcript
Scrum es una metodología ágil que se basa en un método holístico de aproximación a la solución mediante entregas parciales, totalmente funcionales y que dotan al proceso de una mayor flexibilidad permitiendo al cliente un mejor control sobre el resultado final. La integración continua es una metodología informática que consiste en realizar de forma automatizada (sin mayor intervención humana) distintas pruebas, ya sean unitarias o funcionales, lo antes posible y lo más seguido posible, con el fin de detectar fallos o bugs cuanto antes.
La automatización de pruebas de QA consiste en el uso de software especial (casi siempre separado del software que se prueba) para controlar la ejecución de pruebas y la comparación entre los resultados obtenidos y los resultados esperados.
SCRUM: QA e Integración Continua
SCRUM: Herramientas Integración Continua
ProductBacklog
Sprint Backlog Backlog 30 Days
24 hours
New Functionality
Gestión de la demanda y requerimientos
• Control de Versiones • Subversion (SVN) • GIT
• Servidor de IC • Jenkins • Hudson
• Bug Tracker • Mantis BT • Bugzilla • Jira
• Pruebas Unitarias • JUnit
• Construcción de Proyectos • Maven • Ant
• Repositorio de Librerías • Nexus
• Métricas de Calidad • Sonar
Preparation Release
SCRUM: Herramientas QA
SCRUM Process
Sprint Planning Meeting
Sprint Review
Sprint Retrospective
Update Product Backlog
Daily Cycle
Product Increment
Product Owner
SCRUM Roles
Scrum Master Product Owner
Team Members
User Stake- holder
SCRUM Artefact
Product Backlog Burndown
Sprint Backlog
Product Backlog delta report
Impediment List
• Daily scrum • Daily work
Pruebas Unitarias • Junit
Pruebas Funcionales • Selenium • TestBech • SoapUI
Pruebas de Carga • JMeter
Otras • TestLink
SCRUM: Roles
1 2 3 4 5
SCRUM MASTER TEAM USER STAKE-HOLDER
Representante de los accionistas y clientes que usan el software. Se focaliza en la parte de negocio y el es responsable del ROI del proyecto (entregar un valor superior al dinero invertido). Traslada la visión del proyecto al equipo, formaliza las prestaciones en historias a incorporar en el Product Backlog y las reprioriza de forma regular.
Persona que lidera al equipo guiándolo para que cumpla las reglas y procesos de la metodología. Gestiona la reducción de impedimentos del proyecto y trabaja con el Product Owner para maximizar el ROI.
Grupo de profesionales con los conocimientos técnicos necesarios y que desarrollan el proyecto de manera conjunta llevando a cabo las historias a las que se comprometen al inicio de cada sprint.
Destinatario final del producto. Como bien lo dice la paradoja, El árbol cae en el bosque cuando no hay nadie ¿Hace ruido? Aquí la definición sería Si el software no es usado ¿fue alguna vez escrito?.
Grupo de gente que hace posible el proyecto y para quienes el proyecto producirá el beneficio acordado que justifica su producción. Sólo participan directamente durante las revisiones del sprint.
PRODUCT OWNER (PO)
• Subversion (SVN) es un sistema de control de versiones diseñado
específicamente para reemplazar al popular CVS. Es software libre bajo una
licencia de tipo Apache/BSD y se le conoce también como svn por ser el nombre
de la herramienta utilizada en la línea de comando.
• Subversion puede acceder al repositorio a través de redes, lo que le permite ser
usado por personas que se encuentran en distintas computadoras.
Herramientas: Subversion
• Maven es una herramienta de software para la gestión y construcción de
proyectos Java creada por Jason van Zyl, de Sonatype, en 2002. Es similar en
funcionalidad a Apache Ant, pero tiene un modelo de configuración de
construcción más simple, basado en un formato XML.
• Maven utiliza un Project Object Model (POM) para describir el proyecto de
software a construir, sus dependencias de otros módulos y componentes
externos, y el orden de construcción de los elementos. Viene con objetivos
predefinidos para realizar ciertas tareas claramente definidas, como la
compilación del código y su empaquetado.
Herramientas: Maven
• Nexus es una herramienta de software para la gestión de repositorios
empresariales, es un producto de la misma firma que produce Maven.
• Almacenará las librerías propias de la organización, de manera que se puedan
crear fácilmente dependencias a otros proyectos internos.
• Almacenará las librerías que necesitemos y que hayamos descargado de manera
manual.
• Servirá de proxy a otros repositorios.
• Proporciona herramientas de control de acceso, gestión de usuarios, envío de
correos, etc, que ayudan a definir y coordinar los equipos de desarrollo.
Herramientas: Nexus
• Jenkins es un software de Integración continua open source escrito en Java.
• Jenkins proporciona integración continua para el desarrollo de software. Es un
sistema corriendo en un servidor que es un contenedor de servlets,
como Apache Tomcat. Soporta herramientas de control de
versiones como CVS, Subversion, Git, Mercurial, Perforce y Clearcase y puede
ejecutar proyectos basados en Apache Ant y Apache Maven, así como scripts de
shell y programas batch de Windows.
Herramientas: Jenkins
• SonarQube (conocido anteriormente como "Sonar") es una plataforma para
evaluar código fuente.
• Es software libre y usa diversas herramientas de análisis estático de código
fuente como Checkstyle, PMD o FindBugs para obtener métricas que pueden
ayudar a mejorar la calidad del código de un programa.
Herramientas: Sonar
• Mantis Bug Tracker es un software que constituye una solución muy completa
para gestionar tareas en un equipo de trabajo.
• Esta aplicación se utiliza para testear soluciones, hacer un registro histórico de
alteraciones y gestionar equipos remotamente.
• Permitir configurar la transición de estados (abierto, encaminado, testeado,
devuelto, cerrado, reabierto).
• Puede especificar un número indeterminado de estados para cada tarea
(abierta, encaminada, testeada, devuelta, cerrada, reabierta).
• Permite introducir diferentes perfiles (programador, tester, coordinador,
visualizador).
Herramientas: MantisBT
• JUnit es un conjunto de bibliotecas que son utilizadas en programación para
hacer pruebas unitarias de aplicaciones Java.
• JUnit es un conjunto de clases (framework) que permite realizar la ejecución
de clases Java de manera controlada, para poder evaluar si el funcionamiento
de cada uno de los métodos de la clase se comporta como se espera.
• JUnit es también un medio de controlar las pruebas de regresión, necesarias
cuando una parte del código ha sido modificado y se desea ver que el nuevo
código cumple con los requerimientos anteriores y que no se ha alterado su
funcionalidad después de la nueva modificación.
Herramientas: JUnit
• JMeter es un proyecto de Apache que puede ser utilizado como una
herramienta de prueba de carga para analizar y medir el desempeño de una
variedad de servicios, con énfasis en aplicaciones web.
• JMeter puede ser usado como una herramienta de pruebas unitarias
para conexiones de bases de datos con JDBC , FTP , LDAP , Servicios
web , JMS , HTTP y conexiones TCP genéricas. JMeter puede también ser
configurado como un monitor , aunque es comúnmente considerado una
solución ad-hoc respecto de soluciones avanzadas de monitoreo.
• Mientras que JMeter es clasificado como una herramienta de "generación de
carga", no es una descripción completa de la herramienta. JMeter soporta
aserciones para asegurarse que los datos recibidos son correctos, por cookies de
hilos, configuración de variables y una variedad de reportes.
Herramientas: JMeter
• Selenium es un entorno de pruebas de software para aplicaciones basadas en la
web. Selenium provee una herramienta de grabar/reproducir para crear
pruebas sin usar un lenguaje de scripting para pruebas (Selenium IDE).
• Incluye también un lenguaje específico de dominio para pruebas (Selanese)
para escribir pruebas en un amplio número de lenguajes de programación
populares incluyendo Java, C#, Ruby, Groovy, Perl, Php yPython.
• Las pruebas pueden ejecutarse entonces usando la mayoría de los navegadores
web modernos en diferentes sistemas operativos como Windows, Linux y OSX.
Herramientas: Selenium
• TestBench es un entorno de pruebas de software para aplicaciones basadas en
vaadin. Se fundamenta en el framework Selenium provee una herramienta de
grabar/reproducir para crear pruebas sin usar un lenguaje de scripting para
pruebas.
• Las pruebas pueden ejecutarse entonces usando la mayoría de los navegadores
web modernos en diferentes sistemas operativos comoWindows, Linux y OSX.
Herramientas: TestBench - Vaadin
• TestLink es una herramienta gratuita que permite crear y gestionar casos de
pruebas y organizarlos en planes de prueba.
• Estos planes permiten a los miembros del equipo ejecutar casos de test y registrar los resultados dinámicamente, generar informes, mantener la trazabilidad con los requerimientos, así como priorizar y asignar tareas.
• En el área de Verificación de Entrega Software, esta herramienta nos va a permitir desarrollar las siguientes actividades:
• Hacer el seguimiento y la traza al conjunto de planes de pruebas y casos de pruebas definidos sobre los proyectos.
• Publicar el estado de la ejecución de los planes de prueba, del plan de testing aplicado en cada entrega, y los resultados que se están obteniendo.
Herramientas: TestLink
• SoapUI es una aplicación muy versátil que nos permite probar, simular y
generar código de servicios web de forma ágil, partiendo del contrato de los
mismos en formato WSDL y con vínculo SOAP sobre HTTP.
• soapUI tiene dos distribuciones: soapUI freeware (GNU LGPL y opensource java)
y soapUIPro (comercial), en versión de escritorio, online y plugin para varios
IDE.
• Esta es una de las mejores maneras de probar nuestro WebService antes de
pasar a la producción o liberación.
Herramientas: SoapUI
Acerca de INTELLEGO
MISIÓN
Potenciar las capacidades de ejecución de nuestros clientes a través de la correcta aplicación de la tecnología.
HISTORIA
Somos una empresa de origen mexicano con 11 años de exitosa trayectoria y presencia en 7 países.
CAPACIDAD
Más de 1.800 consultores capacitados en diversas metodologías y tecnologías líderes en el mercado
LIDERAZGO
Número 1 en servicios de Information Management y Business Intelligence en México - IDC. México IT Services Tracker, Intellego Markets 2009 y 2010.
OBJETIVIDAD
Intellego es agnóstico a la tecnología. Ayudamos las empresas a obtener el mejor retorno de sus inversiones en Tecnologías de la Información.
EXPERIENCIA
Hemos trabajado en más de 400 proyectos con más de 200 clientes.