Factores que intervienen en la Administración por Valores.pdf
DevOps Cap 5: Test
1. CAPÍTULO 5 : TEST
Juan Pablo Giraldo Gómez
Gestión de la calidad del Software
2. AUTOTRADER.COM
Autotrader es una empresa dedicada al mercado en línea para los
compradores y vendedores de automóviles.
Esta compañía realiza semanalmente actualizaciones tanto a su
página web como a sus aplicaciones para que el cliente viva la misma
experiencia de usuario cada vez mejor. Sus actualizaciones
principalmente lo que buscan es mantenerse al día con los cambios
en los sistemas operativos y dispositivos actuales
3. AUTOTRADER Y DEVOPS
"Tuvimos que configurar enormes entornos de emulación, comprar las licencias y
asegurarse de que todos los servicios estaban hablando entre sí “, Mills (Senior
Manager de desarrollo de aplicaciones en la empresa)
Debido a los problemas de testing que se presentaban en la empresa, Autotrader
buscó el enfoque de DevOps para reunir sus distintos equipos de desarrollo, y así
pudo darse cuenta de que la virtualización de servicios permitiría aun mayor unidad.
Con DevOps, Autotrader pudo:
- Recortar el tiempo de integración de tres días a tres horas
- Ahorrar en promedio 567 horas-hombre por lanzamiento
- Evitar $ 300,000 en costos de hardware y software de prueba
- Disminuir los defectos del software en un 25%
4. TIEMPOS DE PRUEBA
La automatización es clave para que las pruebas se establezcan dentro de
los procesos de integración continua y entrega continua.
El rol de testing se convierte ahora en algo más consultivo que ayuda a
generar mejores pruebas y mejora los enfoques de escaneo de calidad.
5. HABILIDADES PARA TESTING
Pensar más allá de pasar o no : ayudar al negocio a entender lo que el cliente
realmente experimenta y cómo se pueden simular mejor durante la prueba.
Conocimiento íntimo : entender todas las complejidades, esto significa ver todas
las dependencias y poder eliminar restricciones.
Aseguramiento de la analítica –QA : documentar defectos e informar al desarrollo.
Con esto se busca cambiar la recolección y los datos de pruebas automatizadas
para determinar la causa real de los defectos.
Pruebas tempranas y exhaustivas:. En esta etapa cualquier progresión en el sprint
debe ser dependiente en las revisiones que implican el control de calidad (QA),
pero también la seguridad y las operaciones de TI.
6. … MÁS HABILIDADES
Ambigüedad y claridad : Los equipos deben buscar métodos para asignar
los requisitos cambiantes a los modelos visuales y eliminar requisitos
ambiguos.
Calidad sobre la cantidad: Los equipos de control de calidad y pruebas
deben considerar métodos de automatización avanzados que generen el
número más pequeño de casos de prueba necesarios para una cobertura
funcional del 100%
8. TEST AUTOMATION
(AUTOMATIZACIÓN DE PRUEBAS)
El uso de las herramientas de desarrollo adecuadas al inicio ayudará a
asegurar que la fundación del software esté debidamente definida,
construida y probada, manteniendo la calidad y los objetivos del usuario
final en mente.
9. SOFTWARE DEFECTUOSO
Muchos problemas de calidad se dan por la presencia de software
defectuoso, el cual se da principalmente por :
Fallas en la fase de diseño de los requisitos. Esto se debe a que los
requisitos de software son típicamente ambiguos, incompletos y
almacenados en muchos formatos diferentes por numerosas personas
dentro de la organización
La definición manual de casos de prueba es un proceso lento y poco
sistemático que conduce a tal vez un 10-20 por ciento de cobertura de
pruebas funcionales.
10. AUTOMATIZADO Y ÁGIL
Si las pruebas van a seguir el ritmo de los objetivos de entrega continua, debe ser
mucho más automatizado y ágil. La adopción de un enfoque basado en los requisitos
(o centrado en el cliente) es el primer paso y puede requerir soluciones de software
para forzar el cambio.
Con las herramientas avanzadas, los probadores pueden generar los casos de prueba
adecuados necesarios para una cobertura máxima. Además con un diagrama de flujo
activo se ayuda a eliminar la ambigüedad de los requisitos y se reduce los defectos a
principios de la fase de diseño.
11. COBERTURA DE LA PRUEBA
Se requiere un grado mucho mayor de automatización de pruebas y colaboración
entre las partes interesadas. A medida que la eficiencia y eficacia de la prueba se
vuelven primordiales, un nuevo modelo de pruebas continuas apoyado por
tecnologías avanzadas de automatización debería ser la meta. Sólo a través de este
enfoque coordinado las organizaciones pueden construir la escala necesaria para
satisfacer las demandas futuras.
Esto implica proporcionar una cobertura de prueba completa con la capacidad de
invocar y verificar el comportamiento de cada componente, singularmente o como un
servicio de extremo a extremo.
12. MOBILE TESTING
El código debe ser probado en las mismas condiciones que va a tener la aplicación
cuando sea ejecutada por el usuario. Esto implica ejecutar pruebas contra
dispositivos móviles reales conectados localmente o desde la nube.
13. TEST DATA MANAGER
(GESTIÓN DE DATOS DE PRUEBA)
Se necesita datos de prueba rápidos y de calidad. El desafío es obtener
los datos adecuados para que coincida con sus pruebas cuando lo
necesiten y que estos datos de prueba aseguren el cumplimiento de los
requisitos legales y regulatorios
14. REGLAMENTO GENERAL DE
PROTECCIÓN DE DATOS (GDPR)
El GDPR introduce muchas nuevas obligaciones en áreas como anonimización de
datos, notificación de infracción y transferencias de datos transfronterizas.
Si los clientes afirman que no quieren que sus datos sean utilizados (incluso si están
enmascarados), los probadores tendrán que adquirir subconjuntos de datos y aplicar
reglas de filtrado.
15. SOLUCIÓN ESTÁNDAR DE ORO
Para abordar las complejas cuestiones relacionadas con la adquisición de datos de
calidad y el cumplimiento normativo, las modernas soluciones de gestión de datos de
prueba proporcionarán:
Generación de datos de prueba sintética
Plataforma escalable de extremo a extremo: las herramientas deben clonar
subconjuntos de datos en entornos de destino y ser capaces de asegurar millones
de filas de datos.
Asignación de datos de prueba: las herramientas deben facilitar el descubrimiento
automatizado de datos para que los probadores reciban conjuntos de datos
exactos, vinculados a sus casos de prueba.
Almacén de datos de prueba: almacenar agrupaciones de datos de prueba como
activos reutilizables en un repositorio central.
16. COMBINANDO CON TEST AUTOMATION
Se realiza una integración bidireccional entre la gestión de datos de prueba y la
definición de requisitos ágiles. Aquí, la funcionalidad de prueba de coincidencia debe
estar disponible para localizar o crear los datos necesarios para ejecutar la prueba
optimizada que se ha construido directamente de los requisitos. Los propios datos de
prueba se almacenarían en un almacén central de datos de prueba, donde se podría
aprovisionar a petición y utilizarse en paralelo con los esfuerzos de desarrollo.
18. PROBLEMAS ACTUALES
En un reciente informe de Voke Market Snapshot Report sobre la virtualización de
servicios (enero de 2015), más de 500 empresas validaron que las limitaciones son un
obstáculo importante para la innovación en el ciclo de vida del desarrollo de software.
El informe menciona que:
• El 80 por ciento de los equipos experimenta retrasos en el desarrollo debido a
restricciones en todas partes del SDLC.
• El 56 por ciento de las dependencias críticas no están disponibles cuando el
desarrollo y la prueba las necesitan.
• El 70 por ciento de los equipos enfrentan restricciones prohibitivas (retrasos, tiempo
y tarifas) cuando necesitan acceder a sistemas de terceros.
19. SOLUCIONES DE VIRTUALIZACIÓN
Las soluciones de virtualización de servicios pueden solucionar estos problemas de
restricción capturando y modelando sistemas dependientes. Como versiones virtuales
de lo real, estos servicios simulan los componentes restringidos en cualquier entorno,
proporcionando modelos disponibles a bajo costo y disponibles las 24 horas del día
los 7 días de la semana.
Algunos problemas que resuelve la virtualización:
• Desplazar hacia la izquierda : activar el desarrollo, la prueba y la validación de
software paralelo para un tiempo de valoración más rápido con una resolución de
defectos más temprana.
• Disponibilidad de infraestructura: eliminando gran parte de la demanda concurrente
de entornos y hardware que crea un desarrollo ágil.
• Escenario y gestión de datos: a menudo eliminando la necesidad de una
administración compleja de datos de prueba, configuración del sistema y otras
complejidades.
20. … MÁS SOLUCIONES
Mejora la integración de los equipos.
Acorta los tiempos del ciclo de vida del desarrollo (trabajo efectivo en paralelo)
Mejoras en el área de ingeniería de rendimiento.
Automatización – procesos continuos
Con la virtualización de servicios, los datos de prueba y los escenarios son
fácilmente versionados y cambiados para cada nuevo requisito.