SERVICIOS DE CONTROL DE CALIDAD Y TESTING DE SOFTWARE Áreas con falta de Calidad y Testing La falta de control de calidad orgánico en una empresa tiene impactos que van más allá de la aparición de errores graves en un producto con alta exposición a terceros y su consecuente daño a la imagen de la empresa. Un control de calidad de software organizado impacta en las siguientes áreas: Satisfacción de las necesidades del cliente. Tanto en el cumplimiento de requerimientos funcionales y no funcionales. Mantenimiento a largo plazo. Cuando se trata de grandes sistemas o aplicaciones, se deben prever mecanismos de mantenimiento dado que las múltiples interdependencias lo hacen más frágil. Desarrollar un proyecto es fácil. Lo difícil es hacerlo dentro de presupuesto, alcance y cumpliendo los requerimientos. Un adecuado control de calidad del proyecto permite anticipar problemas cuando todavía se pueden implementar las correcciones necesarias en el mismo. 2
TESTING Por qué tener un área de control de calidad? Independencia de criterio Que el área de sistemas cuente con un área independiente del área de desarrollo permite que se genere una dialéctica de intereses, la cual facilita a quienes conducen el proyecto, tener una idea contrastada por un tercero del estado del mismo antes de salir a producción. Reduce exposición a terceros Se minimiza la posibilidad de que se escapen bugs críticos al área de producción. Y los que se acepta que estén en producción son conocidos y aprobados con anterioridad. Interviene en todo el ciclo de desarrollo No es sólo probar una aplicación antes de lanzarla en producción. Es una visión del producto que interviene en distintos momentos del proyecto previendo actividades para su control durante el ciclo de vida, antes y después de su puesta en marcha. www.bairesqa.com 3
AUTOMATIZACIÓN Anticipa problemas La revisión de requerimientos con el objeto de diseñar casos de prueba genera preguntas sobre casos especiales al desarrollador en un punto temprano antes de llegar a ciclos finales de desarrollo. Acuerdo en el comportamiento del producto El diseñar casos de prueba y su posterior aprobación por parte del desarrollador genera un acuerdo de comportamiento del producto en detalle que sin QA no existiría sino hasta que el desarrollo esté terminado. Mantenimiento a largo plazo Si funciona, sigue funcionando. La automatización de pruebas alerta sobre la aparición de nuevos bugs en áreas que se consideran estables, pero resultan afectadas ante cambios en otras áreas. Base de Documentación Genera información útil para el equipo de documentación, nutriéndola de casos de uso. Servicios que ofrecemos Buscamos proveer servicios sobre todos los aspectos relacionados con el control de calidad de software desde la tercerización completa de las tareas de control de calidad, hasta la provisión de horas de técnicos para incorporarse como fuerza suplementaria de apoyo a un departamento de QA ya existente. Management de QA Nos podemos acoplar a un proyecto en marcha o a punto de lanzarse para proveer el asesoramiento necesario, generando un plan de trabajo, su control y seguimiento durante los ciclos de desarrollo. Elaboración de plan de trabajo Durante un periodo fijo de tiempo se realiza un relevamiento del volumen del proyecto, y se elabora un plan de trabajo que incluye las actividades usuales de un departamento de QA en función de las necesidades relevadas. Elaboración de casos de prueba Identificación de funcionalidades críticas y armado de casos de prueba. 4
ENTREGABLE DESCRIPCIÓN DONDE SE USA Test Specification Esquema de prueba de alto nivel por cada característica desarrollada que es validado por el área de desarrollo. Durante el diseño de cada módulo nuevo a incorporar a un sistema. Sanity cases Funcionalidades mínimas que deben mantenerse funcionando. Son casos básicos de funcionalidades críticas. Ciclos internos del departamento de desarrollo. Regression Cases Buscan asegurar que lo que funcionaba en ciclos anteriores siga funcionando en el ciclo actual. Son más numerosos que los sanity cases, incluyen pruebas de casos negativos. Ciclos de desarrollo donde se expone el producto al cliente. Set de tests automáticos que pueden ser ejecutados cuando el cliente lo requiera. Ciclos de desarrollo donde se expone el producto al cliente. Diariamente como una herramienta de diagnóstico de funcionamiento de la aplicación Automated Tests www.bairesqa.com 5
Ejecución de casos de prueba Con cada ciclo de prueba se decide el grupo de casos de pruebas a correr y se efectúa la corrida en forma manual, con los siguientes resultados: Informe de resultado de tests (# éxitos/# fallos/ # casos a revisar x cambios de producto) Alta de bugs en sistema de bug tracking Clasificación de impacto de los bugs (Triage), previo a su paso a la gente de desarrollo. Verificación de la corrección de los mismos. Automatización de casos de prueba Se seleccionan casos de prueba a automatizar para aquellas áreas del producto que se encuentran estables desde el punto de vista de desarrollo. El objetivo es automatizarlos desde una perspectiva de usuario final para asegurar la continuidad del funcionamiento del producto ante cambios en el mismo. Estos se corren en forma automática al final de cada ciclo de desarrollo y en función de su resultado se evalúa el cierre del ciclo o la corrección de los bugs hallados. Bug Hunting Búsqueda y detección de bugs sin seguir un patrón de pruebas específico, dejando a los testers la libertad de buscar los errores dentro de una pauta de alcance de la prueba.
Release Sign Off System Testing Client Acceptance Client Testing Bu gc or NO YES Development & Implementation Agile Development Methodology Next Iteration Start Initial Planning Initial Testing st Te Ca se De ve lop me nt Higher Level Planning al rov p p Test Specification A www.bairesqa.com 7 S st le e T gh p Development & Implementation Define Requirements ve eci l t fic es at t d ion es ign ) rection Verification Record & Incorporate Changes i (H
COACHING Muchas veces las empresas reconocen la necesidad de contar con actividades de control de calidad y testing, aunque la dinámica diaria de la compañía dificulta la implementación de las mismas. Para estos casos, ofrecemos un servicio de coaching que le permitirá integrar estos procesos dentro de su ciclo de desarrollo de software con el apoyo de profesionales que conocen la problemática y ayudarán a evitar los errores más frecuentes en la implementación de éstas prácticas. Recursos Técnicos Nos especializamos en automatización de pruebas sobre tecnologías Cloud con una herramienta propia desarrollada sobre Selenium Webdriver. contamos con una amplia gama de dispositivos con las últimas versiones de sistemas operativos. Asimismo contamos con recursos especializados en la realización de pruebas sobre sistemas on-premise tradicionales, tales como ERP (Oracle Financials, SAP,etc.), CRM (Siebel), BPM Suites, entre otros. Respecto al seguimiento del proceso de QA, contamos con herramientas probadas para realizar una adecuada integración de estos procesos conjuntamente con el ciclo de desarrollo tales como: Herramienta web para registro de casos de prueba. Workflow de corridas de casos de prueba. Herramienta web para creación de tickets de error y su posterior seguimiento. Asimismo realizamos pruebas en dispositivos móviles sobre plataformas Android e ios. Para éste propósito 8
www.bairesqa.com (+54 911) 4034 2904 3616 4400 info@bairesqa.com