Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Lo Que Necesitas Saber Sobre Qa PDF
Lo Que Necesitas Saber Sobre Qa PDF
SABER SOBRE QA
¿ES POSIBLE CALCULAR EL ROI DE UN SERVICIO DE TESTING?
¿CÓMO ELEGIR AL PROVEEDOR ADECUADO?
¿CÓMO ABORDAR LAS PRUEBAS DE LAS APLICACIONES MÓVILES?
¿NECESITO UNA OFICINA DE CALIDAD?
Introducción
Ante esas dudas, dos mensajes muy claros. El primero de ellos es que la clave es
la estrategia. Existen muchas variables que juegan un papel crucial a la hora de
seleccionar la metodología y tipología de las actividades de aseguramiento de la
calidad. Por ello, siempre resultará necesario diseñar una estrategia ajustada a la
realidad de cada proyecto. El segundo: Sí, es posible medir el ROI de las pruebas
de software y, por lo tanto, demostrar la rentabilidad de los servicios de calidad del
software para el negocio. En este eBook te mostramos cómo.
En lo que al TimeTo Market se refiere, es verdad que existen proyectos en los que se
logra cumplir los plazos establecidos, pero en la mayoría de ellos, especialmente si se
ha prescindido de las actividades de aseguramiento de la calidad durante el ciclo de
desarrollo del software, el resultado final es un producto que no cumple con las especifi-
caciones y requerimientos esperados por la organización. Es decir, se habrán cumplido
las fechas, pero no en las condiciones de calidad comprometidas. Se produce entonces
una fase de reworking, necesaria para depurar errores, que conlleva un alargamiento
del plazo de disponibilidad del producto y un incremento de los costes.
Todas las organizaciones dicen estar preocupadas por la calidad de sus aplicaciones, sin
embargo, un gran porcentaje de ellas sigue confiando en que los procesos de integración
arrojen buenos resultados y establecen ciclos de testing realizados sin las técnicas
adecuadas, algo que provoca que el filtro de detección de defectos sea muy bajo
y que acaba conduciendo a un incumplimiento de los plazos establecidos.
Para ese volumen, atendiendo a un ratio de detección de defectos por cada 1.000
mandays de desarrollo de 50 (dato promedio obtenido de los indicadores de los
servicios gestionados de aseguramiento de la calidad de MTP), tendríamos un filtro
de calidad de detección de 7.500 incidencias software anuales que no pasan a los
entornos productivos.
Hay incidencias muy graves que pueden colapsar los sistemas y afectar masivamente
a los usuarios, propiciando pérdidas millonarias a las organizaciones. Según los datos
que maneja MTP, el 90% de las incidencias detectadas son de severidad alta. En esos
casos, los defectos del software dan lugar a errores que provocan el bloqueo de una parte
funcional crítica de una aplicación o necesidad de negocio, impactando en un número
elevado de usuarios. Por tanto, si volvemos a nuestro ejemplo y
tasamos el coste económico de una incidencia con un valor mínimo de 10.000 €,
obtendríamos que el ahorro para la organización alcanzaría los 72 millones de euros,
una vez descontado el coste del servicio de QA.
Una de las primeras actividades que llevará a cabo la Oficina de Calidad, aparte de
analizar los procesos y procedimientos aplicados en la organización, será la de llevar
a cabo una revisión de la estrategia de pruebas en aras de la mejora de su eficacia.
Por último, otra de las tareas de esta primera fase operativa será la de presentar la
información con el mejor modelo de reporting para la organización, de manera que
facilite la adecuada toma de decisiones basada en datos analizados del proceso y de
los intervinientes en el mismo, así como la mejora de la política de pruebas.
Una TMO es sinónimo de gobierno global de todas aquellas actividades que aseguran
la sostenibilidad y mejora del negocio a través de su base software. En definitiva, la
estructuración real del anhelo de máxima calidad, tan necesaria para crecer.
La Operación del Servicio es el área principal donde se realizan las actividades del
alcance operativo, y está formada por una capa transversal de Gestión y Planificación
de releases, la automatización de procesos y pruebas y una capa de ejecución de
servicios. De forma adicional, se establecen dentro de esta área los servicios de
Aprovisionamiento de Datos, Análisis de Calidad de Código, Verificación y
trazabilidad de Requisitos, Pruebas de Rendimiento y Pruebas funcionales.
Solo los proveedores que dispongan de los equipos de Quality Assurance con la mayor
cualificación técnica, capacidad para desarrollar proyectos a nivel internacional y
conocimientos sobre las tendencias, tecnologías y herramientas disponibles en el
mercado, serán capaces de asumir este planteamiento y de aportar valor al desarrollo
de los procesos de Calidad del Software en el presente escenario de digitalización.
Uno de los desafíos fundamentales al que tienen que hacer frente las
organizaciones en la actualidad es el de la Movilidad. No en vano,
según afirma Gartner en su estudio Market Guide for Mobile Application
Testing Services, el 70% de las interacciones que se llevarán a cabo
en 2022 tendrán lugar sobre un dispositivo móvil, y en 2020 ya habrá
21.000 millones de dispositivos conectados.
Si esa previsión se cumple, gran parte del negocio de cualquier tipo de empresa
dependerá del correcto funcionamiento de sus aplicaciones móviles, por lo que
garantizar la calidad de las mismas se convierte en un factor prioritario a la hora de
asegurar la competitividad de la organización. La actividad de testing es uno de los
factores más relevantes dentro del proceso de desarrollo de software, sin embargo, la
actividad de pruebas en un entorno móvil presenta ciertas singularidades.
Las empresas han tenido que adaptar sus tecnologías a la realidad móvil en un corto
espacio de tiempo, lo que implica el uso de nuevas soluciones. La mayoría de ellas
avanza por el que parece el camino más lógico, comenzando por web mobile, usando
tecnologías como HTML5 y frameworks como Phonegap, que les permiten tener
presencia en el mercado a través de una aplicación de movilidad aunque sea con
funcionalidades básicas, en sistemas operativos y terminales específicos, para
poder, después, evolucionar hacia sus propias aplicaciones nativas y dar cobertura a
funcionalidades más complejas, así como a un mayor número de sistemas operativos
y terminales.
Muchos de los fallos funcionales de una aplicación móvil, así como sus costes
asociados, pueden ser evitados fácilmente mediante la puesta en marcha de acciones
de verificación y certificación de la calidad del software desde las primeras fases de
desarrollo de la aplicación. No olvidemos que si el usuario percibe que una App móvil
le resulta complicada de usar, le retrasa y no puede cubrir sus necesidades en el
tiempo y forma que espera, la abandonará por otra que sí lo haga.
Es necesario que las empresas controlen los posibles errores en sus aplicaciones
móviles para evitar que el cliente abandone la aplicación debido a caídas o a un
tiempo excesivo en su ejecución. Un alto consumo de batería, la velocidad a la que se
desarrolla dependiendo del navegador utilizado o las características de cada sistema
operativo, pueden ser factores que influyen de forma decisiva en este apartado, que
solucionamos mediante la ejecución de pruebas de rendimiento.
La conexión a Internet, los distintos puntos de acceso, redes móviles, Wifi, etc. así
como la recuperación de la aplicación si se produce una pérdida de conexión y
handover entre distintos tipos de redes, son también consideraciones a tener en
cuenta en lo que a pruebas de quality assurance se refiere.
En función del tipo de aplicación, la forma de abordar las pruebas de movilidad varía,
así como las herramientas que se usan para llevarlas a cabo, sobre todo desde el
punto de vista de la automatización de pruebas. De esta forma, cuando se trata de
una aplicación nativa, las pruebas de movilidad se inician en la instalación y ejecución
de la aplicación, resultando necesario disponer de acceso al dispositivo para llevarlas
a cabo.
A la hora de garantizar que las pruebas de calidad del software a ejecutar aseguran
el correcto funcionamiento de las aplicaciones en cualquier dispositivo móvil y bajo
cualquier sistema operativo, es posible llevarlas a cabo utilizando tanto emuladores/
simuladores como dispositivos reales, cada uno de ellos está indicado para diferentes
momentos del desarrollo de una aplicación.
Así, es conveniente utilizar emuladores en las fases iniciales del desarrollo, a fin de
poder llevar a cabo smoke-test rápidos con los que asegurar la funcionalidad básica
del software y comprobar cómo trabaja en los diferentes sistemas operativos. Existe
una gran variedad de emuladores para todos los sistemas operativos móviles del
mercado (Android, IOS, Symbian, etc.), pero estos difieren del comportamiento real de
un dispositivo físico. Cada fabricante posee su propio sistema operativo, de acuerdo
a su dispositivo y con sus propias particularidades, por lo que ajustarse a un compor-
tamiento real a través de un emulador aún no resulta del todo exacto. Por este motivo,
es necesario complementar estas pruebas de quality assurance en emuladores con
las realizadas en dispositivos reales, que pueden ser locales, es decir, ligadas al PC.
Estas pruebas son, generalmente, rápidas, de bajo coste y orientadas a la funcionali-
dad, accesibilidad y experiencia de usuario.
Con carácter general, puede afirmarse que es conveniente llevar a cabo las pruebas
unitarias y las pruebas de integración mediante emuladores, y el resto de pruebas: de
sistema, compatibilidad, GUI, rendimiento, seguridad y sincronización y pruebas de
regresión a través de dispositivos reales.
Otro punto importante es la forma en la que este nuevo set de herramientas se integra con
el ya existente en la organización. ¿Cómo se incorporan al ciclo de integración continua si
hablamos de metodologías ágiles? ¿Cómo se pueden integrar los informes generados
por esas herramientas con los de otras ya existentes en la organización, tipo HP ALM,
Microsoft Visual Studio o IBM Rational?
Es frecuente que las organizaciones, una vez finalizada la fase de pruebas de calidad
del software de sus aplicaciones y antes de llevarlas a producción, se planteen
qué más pueden hacer para optimizarlas. Aunque la aplicación cumpla con la
funcionalidad exigida y esté libre de defectos, la verdad es que, normalmente, es
posible introducir mejoras de cara a los usuarios.
En este punto, sería muy interesante conocer de forma rápida la opinión de los
usuarios, para saber si la aplicación les resulta atractiva y si es intuitiva y fácil de usar
por cualquier persona. Para ello, lo mejor sería poner a disposición de algunos ellos
la nueva versión y preguntarles directamente, algo que ayudaría a mejorar aspectos
de usabilidad de forma inmediata e, incluso, a identificar nuevos requisitos que
permitirían adelantarse a la competencia. Por desgracia, en la mayoría de los
casos esta práctica resulta complicada, ya que los usuarios representan una multitud
desconocida que, además, se encuentra dispersa por todo el mundo.
En ese caso los analistas de pruebas, que son los auténticos expertos en asegurar la
calidad, tendrán una tarea adicional, que consistirá en la selección de estos perfiles
en base a factores como la edad, sexo, idioma, cultura, ubicación geográfica y
dispositivos disponibles (PC, MAC, smartphones, tabletas, etc.) desde los que podrán
evaluar la aplicación en cuestión y emitir sus opiniones.
Además de las áreas más técnicas relacionadas con el Quality Assurance, existen
otros departamentos dentro de la empresa que pueden utilizar este tipo de métodos.
Un ejemplo de ello es el área de Marketing, que encuentra en el CrowdTesting una
herramienta efectiva para realizar estudios de mercado sobre un público objetivo.
Estrategia
La decisión de automatizar o no las pruebas debe ser consecuencia
del desarrollo de una estrategia adecuada. Elegir “qué, cómo,
cuándo, quién, dónde y con qué” probar el software es un pilar clave
para la obtención de resultados rentables. Como norma general, los
casos de prueba muy complejos y poco habituales deben quedar
fuera de la automatización. Sin embargo, las pruebas de regresión
y las comprobaciones técnicas del software, así como las pruebas
de nivel (unitarias, integración y sistema) suelen ser el foco principal
para la automatización de pruebas. Asimismo, es recomendable el
uso de herramientas de pruebas cuando hablamos de seguridad,
rendimiento, mantenibilidad, portabilidad y fiabilidad.
Las metodologías de desarrollo, tales como TDD, BDD y ATDD, así como Extreme
Programing o las propuestas de desarrollo Agile, fomentan el cumplimiento de los
tres aspectos descritos, aunque siempre viene bien que el equipo de desarrollo tenga
también un sólido conocimiento sobre todo lo relacionado con la actividad de testing.
La automatización de pruebas
puede aportar agilidad y
contención de costes
Por último, destaca el interés por los cursos en los que se aborda la formación como
un proyecto en el que se lleva a cabo un diseño en base a los requisitos y necesidades
de cada cliente o persona.
En el caso del iSQI podemos encontrar las certificaciones relacionadas con el ámbito
agile y de desarrollo en cursos como Agile Essentials, que ofrece un conocimiento
básico del entorno ágil; Certified Agile Tester, un paso superior al curso anterior, en
el que se comprende el papel de las pruebas dentro de un proyecto ágil y se obtiene
la capacidad de aplicar de forma efectiva las habilidades prácticas asociadas al
mismo y, por último, la certificación Test Driven Development (TDD), con la que los
desarrolladores aplican las mejores prácticas de desarrollo de software ágil.
Según el analista, a los proveedores más generalistas les está resultando más
complicado competir, sin embargo, los proveedores de pruebas Pure Play, entre los
que se encuentra MTP, están experimentando las tasas de crecimiento más elevadas.
Según el mencionado informe de Gartner, estos proveedores ganan cuota de
mercado al ofrecer precios competitivos, flexibilidad, Deep Testing y capacidades de
Mobile Testing, además de ofrecer agilidad y capacidad para centrarse en un área
concreta con tiempos de respuesta rápidos y flexibles.