Está en la página 1de 26

LO QUE NECESITAS

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

En el nuevo entorno digital, las organizaciones comparten tres preocupaciones


fundamentales: el cumplimiento del Time to Market, garantizar que las aplicaciones
funcionen correctamente y la optimización de los costes. Como consecuencia, los
servicios de Quality Assurance (QA) se han convertido en parte básica del proceso de
digitalización del negocio de organizaciones de todos los tamaños y sectores de
actividad.

A pesar de ser conscientes de su necesidad, los responsables de TI de empresas y


organismos públicos se siguen mostrando inseguros con respecto a múltiples
aspectos relacionados con este tipo de servicios, que tienen que ver,
fundamentalmente, con el alcance de la automatización de pruebas, las
particularidades de las pruebas de movilidad, las oportunidades de nuevas
tendencias como el Cloud Testing o el CrowdTesting, o la necesidad de
abordar la implantación de una Oficina de Calidad.

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.

Lo que necesitas saber sobre el QA PÁG. 2


Índice

1. ¿Son rentables los servicios de QA? Ejemplo práctico para


calcular el ROI de las pruebas de software Pág. 4

2. ¿Cómo funciona una Oficina de Calidad? Razones para


implantarla Pág. 7

3. Estructuración de un Servicio Gestionado


de QA Pág. 10

4. La particular calidad de las aplicaciones móviles Pág. 11

5. Nuevas tendencias del Quality Assurance: Cloud Testing y


CrowdTesting Pág. 16

6. Los pilares de la Automatización de Pruebas Pág. 20

7. Formación en Calidad del Software, personal experto y


prestigio corporativo Pág. 22

8. Factores a tener en cuenta a la hora de elegir a un


proveedor de pruebas Pág. 24

Lo que necesitas saber sobre el QA PÁG. 3


1. ¿Son rentables los servicios de QA?
Ejemplo práctico para calcular el ROI
de las pruebas de software

El Quality Assurance (QA) mantiene a salvo a las organizaciones de


sus tres preocupaciones más importantes: el incumplimiento de los
plazos, los errores del software y las desviaciones en los presupuestos
comprometidos. Por todo ello, cada vez más empresas consideran
las actividades de QA y testing como servicios clave, sin embargo, lo
normal es que todavía se siga cuestionando el ROI de los mismos.

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.

En esa situación, la clave es la estrategia. Siempre resulta necesario disponer de una


estrategia para las actividades de aseguramiento de la calidad ajustada a la realidad
de cada producto software. Asimismo, 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 que deben plantearse. Por otra parte, la especialización
es un grado. No es lo mismo establecer pruebas para comprobar el desarrollo del
software, que diseñar un conjunto de pruebas estáticas y dinámicas orientadas a
comprobar el cumplimiento de los requisitos de negocio especificados, con la
profundidad y cobertura adecuada y realizadas por personal cualificado y
experimentado.

Además, la capacidad de medir objetivamente mediante indicadores resultará de gran


ayuda en los procesos de toma de decisiones y del establecimiento de las acciones
correctivas necesarias.

Lo que necesitas saber sobre el QA PÁG. 4


Por todo ello, si se pretende conseguir calidad, lo más recomendable es encargársela
a un especialista, y aquí entramos en el tercer factor, en el de la optimización de
costes. Al hablar de calidad del software, contar con un equipo independiente,
especializado, con profesionales cualificados y utilizando estrategias, metodologías,
procesos y herramientas que lograrán un producto de calidad cumpliendo el time to
market puede resultar muy caro... o no.

El ROI de las pruebas de software

Partiendo de la base de que los servicios profesionales tienen su valía, durante


muchos años se ha trabajado en compatibilizar la calidad de los servicios con la
contención de costes. La productividad, la búsqueda de sinergias, la automatización
no sólo del testing, si no de los procesos que rodean las actividades de Quality
Assurance, van continuamente de la mano de la búsqueda del ahorro de costes.

La justificación del ROI del Quality Assurance es compleja de calcular,


pero podemos realizar alguna aproximación que nos ayudará a verlo de una forma
más clara.

Pongamos el caso de una gran organización que presenta un volumen de


desarrollo, tanto evolutivo como adaptativo, de alrededor de 150.000 mandays de
esfuerzo de desarrollo software anual. Esta organización puede tener contratado un
Servicio de QA externo valorado en 3 millones de euros, con un músculo de testing
especializado de aproximadamente un 10% de esfuerzo sobre los 150.000 mandays
de esfuerzo de desarrollo y sobre el que pasa todo el volumen de evolutivos y
adaptativos.

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.

Si tasamos el coste de resolución de una incidencia en un valor mínimo, por


ejemplo, en 1.000 euros, y si utilizamos la siguiente fórmula para calcular el ROI:
Coste Económico = Coste de Resolución de Incidencia + Coste en impacto en
negocio, esa gran organización conseguiría un ahorro de 7,5 millones de euros
(4,5 si descontamos el coste del servicio de QA), y eso sin tener en cuenta el coste del
impacto en el negocio.

Lo que necesitas saber sobre el QA PÁG. 5


Ahora bien, si tenemos en cuenta el coste del impacto en el negocio estaríamos
hablando de importes sustancialmente mayores, ya que cualquier incidencia en
producción puede llegar a ocasionar la inactividad de los sistemas, su mal
funcionamiento y la insatisfacción del cliente, con la consiguiente pérdida de
reputación de la compañía.

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.

Como vemos, calcular el ROI en las inversiones de QA y testing es perfectamente


posible.

Es necesario disponer de una


estrategia para las actividades de
QA ajustada a la realidad de cada
producto software

Lo que necesitas saber sobre el QA PÁG. 6


2. ¿Cómo funciona una Oficina de
Calidad? Razones para implantarla

Una Oficina de Calidad, también conocida como Testing Management


Office (TMO), tiene como misión principal certificar la calidad del
software de una organización mediante el cumplimiento de la
estrategia y la política de calidad de pruebas. Es la clave del
Software Quality Assurance, pues mantiene y mejora el control de
todas las actividades de validación y verificación de la calidad del
software, desde las fases de identificación de requisitos hasta la puesta
en producción, analizando, incluso, desde el punto de vista de la
calidad, la postproducción de lo desarrollado.

En todo este “management” se incluye también la calidad de los intervinientes en el


proceso, desde el punto de vista de los resultados, su mejora y el seguimiento de los
procesos de la organización. Es decir, con la implantación de una TMO no solo se
asegura la calidad del software, sino también el uso adecuado de los recursos y la
proporcionalidad de las pruebas y demás actividades de verificación.

De esta manera, se logra incrementar el ROI de estas actividades y mejora tangible-


mente el Time To Market, al impedir todas las idas y venidas que sufre el software
incorrectamente gestionado y, lo que es más importante, la eliminación de los errores
de los aplicativos en producción, que conllevan enormes desembolsos económicos
y/o pérdidas de liderazgo o posición de mercado.

La Oficina de Calidad se convierte, de esta manera, en una de las piezas


fundamentales del Aseguramiento del Negocio Digital, al crear una base sólida de
sostenibilidad, optimización y mejora sobre la que apoyar todas las actividades de
Gobierno que necesita cualquier negocio.

Lo que necesitas saber sobre el QA PÁG. 7


Los objetivos que debe plantearse toda TMO son los siguientes:

Máxima calidad del software

Identificación, análisis y tratamiento inteligente del riesgo, incluido


el riesgo para el negocio

Máxima eficiencia y eficacia de los planes de prueba

Seguimiento y control para la identificación temprana de


incumplimientos y asesoramiento en la puesta en marcha de
soluciones

Estimación y conocimiento de los defectos latentes en los


aplicativos

Control y optimización de los costes de consecución de la calidad y


eliminación de los costes de la no-calidad

Mejora efectiva del Time to Market

Operativa de la Oficina de Calidad

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.

Posteriormente, se encargará de diseñar la operativa de seguimiento y monitorización


del cumplimiento de la política de pruebas a través de la definición de KPIs, Quality
Gates, roles y responsabilidades. La oficina TMO perseguirá mediante la moni-
torización analizada (Cuadro de Mando de la TMO) no solo el cumplimiento de las
políticas de pruebas, sino también la detección temprana de riesgos y la aportación
de soluciones efectivas.

En tercer lugar, la TMO se encarga de definir modelos estimativos y de productividad


a través del análisis de código y catas. Así, será capaz de detectar los defectos
latentes que pueden existir antes de que las aplicaciones de la organización pasen a
producción e, incluso, después, siempre basándose en una metodología de procesos
de pruebas adecuada.

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.

Lo que necesitas saber sobre el QA PÁG. 8


Una de las misiones sobresalientes de la TMO es ser el catalizador, para la
mejora de la calidad del software y de sus resultados, de todos los intervinientes
en el proceso del software, algo que consigue mediante los siguientes puntos:

Un equipo independiente de gestión y operación que mide, analiza y


mejora el proceso de calidad, principalmente a través de la gestión
global del riesgo

La mejora de las herramientas de gestión, desde el punto de vista de:

La optimización en la gestión de datos

La eficiencia en los procesos de validación y verificación de


calidad del software

La eficacia del análisis y prevención de defectos

La gestión de los riesgos

El reporting analítico en forma de cuadros de mando para la


correcta toma de decisiones

La monitorización de la calidad de los productos y los


procesos seguidos por los proveedores en base a un modelo
de métricas homogéneo y maduro para todo los servicios

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 Oficina de Calidad es una de


las piezas fundamentales del
Aseguramiento del Negocio Digital

Lo que necesitas saber sobre el QA PÁG. 9


3. Estructuración de un Servicio
Gestionado de QA

Durante los últimos años, los servicios de Aseguramiento de la


Calidad han evolucionado claramente hacia actividades más globales,
que abarcan todo el ciclo de vida de software, desde las fases más
tempranas de desarrollo hasta la puesta en producción del software,
evitando limitarse al testing dinámico en fase de pruebas.

En esta realidad, un Servicio Gestionado de Quality Assurance de máxima


madurez del proceso de pruebas y capaz de alinearse con las necesidades
reales de cada organización, debe presentar una estructura organizativa
compuesta de cuatro áreas fundamentales:

• Gestión del Servicio • Soporte a la Operación


• Operación del Servicio • Soporte al Servicio y Mejora Continua

Dentro de la Gestión del Servicio se realizan las actividades de Gestión de la


Demanda y Capacidad, el Seguimiento y Control, la Gestión de Riesgos y la Gestión
del ANS mediante un Cuadro de Mando dinámico.

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.

En el área de Soporte a la Operación se gestionan aspectos clave como RRHH, el


Conocimiento y las Herramientas e Infraestructuras.

Finalmente, se establece el Soporte al Servicio y Mejora Continua, asegurando que


se están realizando las actividades mediante las mejores prácticas (destacando TMMi
nivel 5 e ISO 20.000 entre otras certificaciones de calidad).

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.

Lo que necesitas saber sobre el QA PÁG. 10


4. La particular calidad de las
aplicaciones móviles

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.

A la hora de desarrollar una aplicación, los objetivos siempre deben orientarse


hacia la conversión en ventas, mejorar la reputación de marca, cumplir las
expectativas de los usuarios y minimizar el tiempo de aprobación de la aplicación en los
diferentes market stores. Por ello, es fundamental asegurarse de que está perfectamente
construida. Si no es así, el esfuerzo destinado a su desarrollo no habrá servido de
nada.

Podemos decir que la complejidad del aseguramiento de la calidad del software


en aplicaciones móviles radica en la existencia de diferentes sistemas operativos
y multitud de modelos de dispositivos. De esta forma, una aplicación debidamente
construida y de calidad será aquella que funcione correctamente en todos los
dispositivos móviles y bajo todos los sistemas operativos existentes en el mercado.

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.

Lo que necesitas saber sobre el QA PÁG. 11


Este nuevo escenario incide directamente en la actividad de la calidad del software,
ya que, desde el inicio de su construcción o desarrollo, es necesario probar las
aplicaciones móviles teniendo en cuenta su propio contexto y considerar el
cumplimiento de sus características mediante el desarrollo de pruebas de movilidad,
pruebas funcionales y pruebas de rendimiento, además de garantizar la usabilidad
y seguridad de las mismas. De esta forma, a la hora de abordar la estrategia de
desarrollo de aplicaciones de movilidad es importante analizar la arquitectura de la
aplicación existente. También es necesario asegurar la coherencia entre el desarrollo
de la web clásica y la parte de movilidad con el fin de facilitar y ahorrar costes en las
pruebas.

¿Cómo se asocia la tipología de pruebas de calidad del software al


uso de las aplicaciones móviles?

Los servicios de pruebas en entornos móviles son substancialmente diferentes a


los servicios de testing de aplicaciones tradicionales, al aparecer una complejidad
añadida en cuanto a múltiples plataformas, redes, sistemas operativos, así como por
la variedad de dispositivos y sensores.

Si hablamos de software quality assurance en el ámbito de las aplicaciones móviles,


en primer lugar tendríamos que tener en cuenta que las pruebas funcionales deben
llevarse a cabo considerando las características propias de los dispositivos. Así,
resulta diferente el uso que se hace y la presentación de la información en un
smartphone respecto a una tablet o un ordenador. Además, la aplicación debe ser
capaz de guardar tanto de forma efectiva como selectiva la información, dejando
en el servidor aquellos datos que precisen de recursos adicionales. Finalmente, es
necesario observar el comportamiento y fallos de la aplicación cuando pueda verse
afectada por una situación de batería baja, entrada de llamadas o mensajes mientras
realizamos una operación con la misma.

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.

También existen otros factores que influyen en el control de calidad de las


aplicaciones móviles. Por un lado, aparece el concepto de usabilidad de la aplicación.
Aquí es necesario poner especial atención en el desarrollo de pruebas que permitan
asegurar que el diseño e interfaz resultan sencillos e intuitivos, así como que el flujo de
comunicación entre la App y el usuario se establece de forma natural y lógica.

Lo que necesitas saber sobre el QA PÁG. 12


Por otra parte, el comportamiento de una App móvil también preocupa al usuario
desde el punto de vista de la seguridad, ya que están disponibles en dispositivos
que pueden ser susceptibles de robo o de uso fraudulento. En este sentido, resulta
imprescindible asegurar, entre otros factores, que la App mantenga la
confidencialidad de los datos privados facilitados, la verificación de que el usuario
es quien dice ser, los diferentes perfiles que puede tener un usuario dentro de la
misma aplicación o el autoguardado de un histórico de operaciones o actividades
realizadas.

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.

Finalmente, es necesario prestar atención a los caracteres especiales de escritura


de los diferentes idiomas, las monedas de cada país, los formatos de códigos
postales, fechas, direcciones, números de teléfono, entre otros, que deberían
visualizarse dependiendo de la zona geográfica en la que se encuentre el usuario.

Garantizar la calidad de las apps


móviles es un factor prioritario para
asegurar la competitividad de la
organización

Lo que necesitas saber sobre el QA PÁG. 13


Factores claves en la ejecución de pruebas de movilidad

A la hora de comenzar a ejecutar pruebas de movilidad resulta imprescindible


conocer la naturaleza de la aplicación a probar. Las aplicaciones móviles pueden ser
nativas, presentando un mayor coste y la necesidad de un mayor desarrollo, al tener
que adaptarse a cada dispositivo. Por el contrario, aparecen aplicaciones con
naturaleza Web, que son más baratas y más fáciles de crear y mantener,
funcionando correctamente en todos los dispositivos móviles y dependiendo
únicamente de la conexión a internet. Finalmente, pueden tener naturaleza híbrida,
que reúnen las ventajas de las dos anteriores: reducción de mantenimiento, mayor
contenido, construida para cada sistema operativo y conexión web para ampliar
información.

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.

Las pruebas de funcionalidad y de usabilidad de la aplicación tienen que ejecutarse


en los diferentes dispositivos y, ya que las aplicaciones nativas tienen acceso al API,
es conveniente probar también estas conexiones. En las aplicaciones web no es
necesaria la instalación, pero por su propia condición deben probarse en los
diferentes navegadores, prestando especial atención al tiempo de carga.

Finalmente, en las aplicaciones híbridas, además de tener en cuenta todo lo anterior,


es necesario considerar las pruebas de rendimiento y las pruebas de integración de
sistemas de la parte web con el resto de la aplicación.

Lo que necesitas saber sobre el QA PÁG. 14


Automatización de pruebas vs pruebas manuales

En cada caso habrá que plantearse la conveniencia de ejecutar pruebas manuales


u optar por la automatización de pruebas. A veces, la única alternativa posible será
llevarlas a cabo de forma manual. Otras, aunque se requiera definir una estrategia
de pruebas para aplicaciones multiplataforma en múltiples dispositivos y con una
mayor complejidad técnica, lo más interesante será acudir a la utomatización. Hay
que tener en cuenta que la mayor parte de desarrollos de movilidad se producen bajo
metodologías ágiles, en las que la automatización de pruebas es una premisa básica.

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.

Para las pruebas en dispositivos reales ligados al PC existen distintas soluciones en


el mercado que dan cobertura a la mayor parte de sistemas operativos. Por otro lado,
aparecen las pruebas llevadas a cabo en dispositivos reales pero ejecutadas de forma
remota a través de la nube (Cloud Testing), que permiten llevar a cabo pruebas con
varios operadores, terminales o sistemas operativos. Son herramientas que van más
allá de las pruebas funcionales y permiten hacer tanto monitorización como pruebas
de carga en los terminales, pruebas de roaming en una localización determinada y
posibilidad de programar y lanzar las pruebas de forma remota.

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?

En definitiva, la garantía de la calidad y correcto funcionamiento de las aplicaciones


móviles radica en la combinación de ambas plataformas de pruebas, emuladores
y dispositivos reales, así como en incorporar estrategias de automatización que
permitan ahorrar costes y ganar eficiencia en el propio proceso de pruebas.

Lo que necesitas saber sobre el QA PÁG. 15


5. Nuevas tendencias del Quality Assurance:
Cloud Testing y CrowdTesting

Los departamentos de TI se encuentran inmersos en un proceso


de transformación que intenta dar respuesta a nuevos modelos de
negocio, en los que la agilidad y la innovación son aspectos clave.

En este escenario, la nube actúa como un nuevo paradigma, aportando la flexibilidad


necesaria para aprovisionar los servicios que la empresa necesita en cada momento,
en función de su nivel de carga de trabajo y según sus necesidades de computación.

En este contexto, al testing se le está considerando un candidato ideal para subirse


a la nube sin que el negocio sufra ningún impacto por ello. Esto es así porque esta
actividad siempre ha sido considerada como una labor importante pero no crítica para
el negocio. Además, siempre ha sido un consumidor importante de recursos, tanto
humanos como de infraestructura, a la hora de lograr mantener unos entornos que, en
ocasiones, se utilizan solo de manera esporádica.

De esta forma, el Cloud Testing va ganando posiciones, al ser capaz de llevar a


cabo las pruebas sin necesidad de realizar inversiones iniciales en infraestructura,
herramientas, licencias, mantenimiento y gestión de entornos, ya que en la nube solo
se paga por lo estrictamente necesario.

El CrowdTesting puede convertirse


en una herramienta efectiva para
realizar estudios de mercado sobre
un público objetivo

Lo que necesitas saber sobre el QA PÁG. 16


Otra ventaja es que con esta modalidad es posible aumentar la eficacia de
las pruebas, al alcanzarse un mayor y más rápido control en la creación de
entornos. En definitiva, podemos enumerar los siguientes beneficios que la
aplicación del Cloud Testing puede aportar a todo tipo de organizaciones:

Disminución de la inversión en la creación y adquisición de


activos TI.

Pago por uso, en lugar de adquirir la infraestructura con posibles


capacidades por encima de las necesarias.

Mejora en costes de recursos, incrementando la capacidad en


situaciones de picos de trabajo y la eficiencia en el uso de los
sistemas.

Agilidad y respuesta al cambio. Mayor elasticidad, al permitir que


una organización pueda escalar o contraer sus capacidades según
las necesidades del negocio en cada momento.

Aumento de la calidad y Time-to-Market, al reducir de manera


notable los errores derivados de la infraestructura.

Servicios de infraestructura siempre actualizados.

Mayor eficiencia en la gestión y operación de la infraestructura.

Mayor movilidad. Elimina las barreras geográficas al permitir el


acceso desde múltiples ubicaciones.

CrowdTesting, una vía para optimizar las aplicaciones a través de


las opiniones de los usuarios.

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.

Lo que necesitas saber sobre el QA PÁG. 17


Una posible solución consiste en suplantar los perfiles de usuario de las aplicaciones
recurriendo a las “Comunidades de Usuarios Freelance” existentes en internet y
constituidas por personas que, sin tener ningún tipo de especialización, se dedican a
probar aplicaciones de manera desinteresada, con el único propósito de aparecer en
los primeros puestos del ranking de valoración de las pruebas que realizan.

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.

De esta manera se logra disponer de equipos de “usuarios” de forma ágil, que


constituyen una muestra representativa del público objetivo que utilizará la aplicación
una vez puesta en producción. Otra solución, que además añade un cierto grado de
confidencialidad frente a la competencia, consiste en recurrir a los propios empleados
de la empresa propietaria del software para constituir los equipos de “usuarios”. En
ambos casos, los analistas de pruebas se encargarán de evaluar los resultados de las
mismas con el fin de establecer un plan de acción para incorporar las mejoras que se
identifiquen.

En respuesta a estas cuestiones surge el CrowdTesting como una modalidad


complementaria de pruebas de testing software rápida y masiva, enfocada en las
pruebas de Usabilidad y pruebas de Movilidad, realizada por “Comunidades de
Usuarios Freelance” desde distintas ubicaciones geográficas empleando múltiples
dispositivos.

Parece lógico pensar que si existen recursos en internet dispuestos a probar


aplicaciones sin cobrar por ello, los propietarios del software deberían optar por el
CrowdTesting como la alternativa más rápida y barata para realizar las pruebas de
calidad del software de sus aplicaciones. Sin embargo, este planteamiento es
totalmente erróneo, es necesario aclarar que el CrowdTesting debe
considerarse, exclusivamente, como un complemento de mejora de las
aplicaciones, enfocado a las pruebas de usabilidad y pruebas de movilidad, que no
puede sustituir en ningún caso a los servicios de pruebas profesionales que tienen
como objetivo principal la detección y corrección de los defectos del software antes
de su puesta en producción. Dichos defectos son los que realmente producen las
enormes pérdidas económicas que generan los errores software cuando llegan a
producción.

Lo que necesitas saber sobre el QA PÁG. 18


Anticipar las Pruebas de Usabilidad

Durante la ejecución de las pruebas es frecuente que aparezcan defectos


relacionados con los requisitos de usabilidad. Por esta razón, en algunas
organizaciones se plantea la necesidad de realizar pruebas de usabilidad sin esperar
a tener totalmente construido el software.

En este punto, resulta especialmente relevante la colaboración de los


consultores de UX desde el principio del proyecto, a fin de poder validar los
requisitos mínimos y garantizar el cumplimiento de los principios UX mediante el
diseño de prototipos que serán validados anticipando las pruebas de usabilidad a las
primeras fases de desarrollo, donde además se podrá obtener el máximo ROI.

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.

De esta manera, se podrá averiguar si lo que ofrece una nueva aplicación o si el


diseño del producto es del gusto de los usuarios a los que se dirige, hasta el punto
de aceptarlo o adquirirlo y, en ese caso, el precio que estarían dispuestos a pagar
para poder utilizarlo; qué otras características desearían que incorporara o, por el
contrario, si existe alguna funcionalidad que no les aporta nada.

En conclusión, el CrowdTesting es un complemento inestimable a la hora de valorar


la idoneidad de la puesta en producción desde el punto de vista de la experiencia
de usuario, sobre todo si el lanzamiento del producto es globalizado y
multidispositivo o en circunstancias donde no se hayan aplicado las técnicas UX
en fases tempranas del ciclo de vida. Cada vez más organizaciones parecen
entenderlo así. No en vano, en el informe de Gartner Competitive Landscape:
Mobile Application Testing Services, publicado en agosto de 2017, se afirma que
en 2020 el CrowdTesting estará presente en el 60% de los proyectos relacionados
con los servicios de pruebas de aplicaciones móviles.

El CrowdTesting permite conocer de


forma rápida si la aplicación resulta
atractiva, intuitiva y fácil de usar
para los usuarios

Lo que necesitas saber sobre el QA PÁG. 19


6. Los pilares de la Automatización
de Pruebas

En las labores relacionadas con el aseguramiento de la calidad


del software, la automatización de pruebas puede llegar a
ser una opción muy recomendable debido los beneficios que
aporta en cuanto a agilidad y contención de costes. Sin
embargo, existe una cierta confusión en torno a esta práctica.
Así, es habitual encontrarse con organizaciones que piensan
que la automatización de pruebas consiste en que un programa
realiza las mismas comprobaciones que un tester, algo que en
la mayor parte de las ocasiones no es cierto. Es más, sigue siendo
recomendable que las pruebas de aspectos críticos del
software sean diseñadas y ejecutadas por un tester experto de forma
manual.

En esta situación, y con el fin de asegurar el éxito de un desarrollo de


software en el que se incluyan proyectos de automatización de pruebas, las
organizaciones deberían tener en cuenta estos tres factores fundamentales:

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.

Lo que necesitas saber sobre el QA PÁG. 20


Enfoque a proyecto de desarrollo
Una automatización consiste en que un programa ejecuta varios
miles de casos de prueba. Si no se aplican las buenas prácticas
de codificación y arquitectura software, dicha automatización
se volverá imposible de mantener y el proyecto de
automatización de pruebas crecerá en deuda técnica hasta que
el coste de mantenimiento de la automatización no compense los
defectos que identifica sobre el software a probar. Un desarrollador
experto debe tener el conocimiento necesario para realizar el diseño
y la arquitectura de la automatización.

Software fácil de probar


Una característica del software habitualmente descuidada es la
“testability” o facilidad de ser probado, es decir, lo barato o lo caro
que puede llegar a resultar probar un determinado software, tanto
manualmente como con automatizaciones. Las soluciones técnicas
elegidas por los equipos de desarrollo pueden elevar significativa-
mente el coste de las pruebas y, obviamente, de la automatización.

En definitiva, un proyecto de automatización de pruebas debe planificarse


adecuadamente, ser realizado por profesionales expertos y estar integrado con el
software a probar. Si no es así, se producirán incumplimientos de las expectativas y
elevación de costes de desarrollo.

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

Lo que necesitas saber sobre el QA PÁG. 21


7. Formación en Calidad del Software,
personal experto y prestigio corporativo

Un creciente número de compañías se muestran cada vez más


interesadas en contratar formación específica o certificada en Calidad
del Software, con el objetivo de impulsar el desarrollo y actualizar
las habilidades de sus profesionales, pero también para alcanzar el
reconocimiento del mercado a través de la certificación obtenida.

Estas empresas centran la formación de sus equipos, fundamentalmente, en tres


grandes tendencias: automatización de pruebas, pruebas en entornos ágiles y
proyectos formativos.

Formación en Herramientas específicas

Las herramientas de desarrollo han aumentado la productividad de los


programadores, pero también la presión sobre los equipos y roles de testing. De
ahí la preocupación por conocer los conceptos de automatización de pruebas y la
implantación de una metodología concreta de automatización, llevándola a la
práctica a través de las herramientas para cada caso, como son, por ejemplo,
Selenium o QTP/UFT de HP.

Certificaciones de Calidad del Software oficiales

En segundo lugar, las certificaciones oficiales de Agile Tester resultan interesantes


para aquellos profesionales que tienen implicación en proyectos ágiles y que desean
familiarizarse con el entorno ágil. En este caso, el ISTQB, dentro de su programa
de certificaciones de calidad del software, ha incluido la de Agile Tester Extension
Foundation Level, que se une a certificaciones anteriores como iSQI CAT.

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.

Lo que necesitas saber sobre el QA PÁG. 22


Las empresas valoran, cada vez más, que sus empleados obtengan certificaciones
oficiales, ya que son otorgadas por organismos internacionales que cuentan con el
reconocimiento de todo el sector de la Calidad del Software. En este sentido, MTP
es una empresa homologada y certificada como formadora del iSQI (International
Software Quality Institute) y del ISTQB (International Software Qualifications Board).

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.

En lo que respecta al ISTQB, es posible desarrollar un proyecto de formación


completo, desde la certificación de Tester en el Foundation Level hasta el Advanced
Level, con las especializaciones en Test Manager, Test Analyst y Technical Test
Analyst. Por último, señalar la reciente certificación ISTQB Agile Tester Extension –
Foundation Level, desarrollada por este organismo para cubrir el área agile.

Las empresas valoran cada vez más


que sus empleados obtengan
certificaciones oficiales

Lo que necesitas saber sobre el QA PÁG. 23


8. Factores a tener en cuenta a la hora de
elegir a un proveedor de pruebas

El uso masivo de aplicaciones móviles está incrementando la demanda


de los servicios ofrecidos por los proveedores de pruebas. Así se afirma
en el informe de Gartner Competitive Landscape: Mobile Application
Testing Services, publicado en 2017.

En esta realidad, los responsables de TI de las organizaciones necesitan


identificar dónde se están produciendo avances en un mercado con tanta oferta
y con unos proveedores que desean mantener su competitividad y hacerse con
una parte importante del pastel. Así, según Gartner, actualmente es posible
clasificar a los proveedores de pruebas en distintas categorías:

• Proveedores de servicios globales • Proveedores de servicios de pruebas


Pure Play
• Midtier, proveedores de servicios de TI
completos o semicompletos • Proveedores de servicios CrowdTesting

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.

Lo que necesitas saber sobre el QA PÁG. 24


Consideraciones para asegurar el éxito

Cada compañía deberá evaluar las distintas opciones disponibles en el mercado


dependiendo de sus necesidades específicas, sin embargo, existen una serie de
consideraciones generales que deben tenerse en cuenta a la hora de elegir al
proveedor de quality assurance más apropiado:

Capacidad para abarcar actividades que engloben todo el ciclo


de vida de software, desde las fases más tempranas de desarrollo
hasta su puesta en producción.

Capacidad para adoptar aproximaciones Agile y DevOps para


impulsar la colaboración, la automatización y nuevas formas de
trabajo, incrementando la flexibilidad y permitiendo ciclos de
entrega más rápidos.

Disponibilidad de personal formado y especializado en las últimas


tendencias relacionadas con las pruebas de aplicaciones móviles,
capaces de impulsar la innovación en el desarrollo de sus proyectos.

Proveedores de servicios que ofrezcan una amplia variedad de


métodos y soluciones: Cloud Testing, CrowdTesting, Testing as a
Service, pruebas manuales, automatizadas…

Disponer de certificaciones en los niveles más altos de modelos


de madurez de procesos de pruebas, tales como TMMi, algo
fundamental para aumentar la productividad de los diseñadores y
ejecutores de pruebas, así como para poder incrementar el ratio de
detección y prevención de defectos.

Según Gartner, los proveedores de


pruebas Pure Play ofrecen precios
competitivos, flexibilidad y tiempos
de respuesta rápidos

Lo que necesitas saber sobre el QA PÁG. 25


MTP España MTP Brasil MTP México
C/Santa Leonor 65, Edificio C Planta 4ª Av. Doutor Cardoso de Melo, 1.460 Av. de los Insurgentes 826 Piso 7 Ala
28037 Madrid conjunto 101 Vila Olímpia Sur
Teléfono: +34 91 144 06 00 04548-002 São Paulo Colonia del Valle
e-mail: info@mtp.es Teléfone: +55 11 4193 4579 C.P. 03100, México D.F.
www.mtp.es e-mail: contato@mtpi.com.br Teléfono: +52 55 5286 1461

Lo que necesitas saber sobre el QA


www.mtp.com.br e-mail: info_mx@mtpinternational.com
www.mtpintertational.com.mx PÁG. 26

También podría gustarte