Las pruebas de compatibilidad son un componente integral de muchas estrategias de aseguramiento de la calidad, que permiten a las empresas comprobar si su software funciona correctamente en distintas plataformas. Incluso para un programa exclusivo para ordenadores de sobremesa, hay que tener en cuenta varios sistemas operativos importantes y cientos -si no miles- de diferencias de hardware que podrían afectar a la estabilidad. Comprender el proceso de prueba de compatibilidad y sus ventajas habituales puede ayudar a garantizar un lanzamiento eficaz del producto, capaz de llegar al mayor número posible de usuarios.
Aunque las pruebas de compatibilidad pueden ofrecer una serie de ventajas, también existen numerosos retos importantes que un equipo de pruebas de software debe superar para maximizar el potencial de esta técnica. También hay prácticas específicas que estos departamentos deben emplear para obtener los mejores resultados y garantizar una cobertura global completa de las pruebas.
En este artículo, examinamos de cerca las pruebas de compatibilidad, incluidos los pasos esenciales que deben seguir los equipos, así como las herramientas de prueba más útiles disponibles en la actualidad.
Qué es la prueba de compatibilidad en
¿pruebas e ingeniería de software?
Las pruebas de compatibilidad examinan el software en distintos dispositivos, hardware y firmware para asegurarse de que cumple las expectativas del equipo. Es posible que cada usuario utilice su programa en un dispositivo nuevo, por lo que es importante que la empresa pueda garantizar que todos tengan una experiencia similar. Las pruebas de compatibilidad, por ejemplo, pueden consistir en comprobar cada característica de una aplicación para asegurarse de que funciona en todos los principales sistemas operativos.
Sin pruebas exhaustivas de compatibilidad, es muy posible que una empresa lance una aplicación que no funcione en determinados dispositivos populares. Estas comprobaciones deben ser exhaustivas, ya que un problema puede surgir de muchas maneras: por ejemplo, puede que esta aplicación no funcione con un tipo muy específico de tarjeta gráfica. Cuando se combinan con otras formas de pruebas de software, los equipos de control de calidad pueden asegurarse de que su programa está listo para el lanzamiento.
1. ¿Cuándo y por qué es necesario realizar pruebas de compatibilidad para aplicaciones móviles, sitios web, sistemas y navegadores?
Las empresas realizan pruebas de compatibilidad en su fase de pruebas de software, concretamente cuando disponen de una versión «estable» del programa que refleja fielmente cómo se comportará para los clientes. Esto continúa después de las pruebas alfa, de aceptación y otras formas de pruebas que suelen buscar la estabilidad general y problemas relacionados con las características. Si una aplicación se enfrenta a problemas durante la fase de pruebas de compatibilidad, normalmente se deberá a cuestiones específicas relacionadas con la compatibilidad. Efectuar estas comprobaciones demasiado pronto puede hacerlas redundantes, ya que pequeños cambios posteriores en el ciclo de desarrollo del programa pueden afectar radicalmente a la compatibilidad.
Las pruebas de compatibilidad de navegadores y software son importantes porque ayudan a las empresas a lanzar una aplicación que saben que funcionará adecuadamente en prácticamente todos los dispositivos posibles. Por ejemplo, las pruebas de compatibilidad entre navegadores ayudan a garantizar que los usuarios de Opera tengan la misma experiencia que los de Firefox y otros navegadores importantes. El equipo suele probar tantas variantes de hardware y software como su tiempo y presupuesto se lo permiten. Esto significa que deben dar prioridad de forma inteligente a los sistemas o navegadores que es más probable que utilicen sus clientes, lo que les permitirá garantizar una amplia cobertura de las pruebas y un producto viable.
2. Cuando no es necesario realizar pruebas de compatibilidad de software
Las empresas pueden crear una aplicación a medida para un sistema operativo o modelo específico, lo que limita enormemente el número de comprobaciones necesarias. Las pruebas de compatibilidad entre navegadores en las pruebas de software podrían ser redundantes si este programa no requiere un navegador, por ejemplo. El tiempo también podría ser un factor importante en la capacidad de una empresa para realizar estas pruebas, aunque los equipos de pruebas deben seguir trabajando para garantizar que los principales sistemas y navegadores sean compatibles con el software. También hay ciertos proyectos que no pueden beneficiarse de las pruebas básicas de compatibilidad.
3. ¿Quién participa en las pruebas de compatibilidad?
Estos son los principales responsables de las pruebas de compatibilidad en las pruebas de software:
1. Desarrolladores
El equipo de desarrollo comprueba el rendimiento de la aplicación en una plataforma durante el desarrollo y puede que éste sea incluso el único dispositivo en el que la empresa pretende lanzar el programa.
2. Probadores
Los equipos de control de calidad, ya sean internos de la empresa o contratados externamente, comprueban muchas configuraciones posibles como parte de la fase de pruebas de compatibilidad de la aplicación, incluidos los principales sistemas operativos y navegadores.
3. Clientes
Es posible que los clientes de la empresa tengan hardware o configuraciones que el equipo no haya podido probar a fondo, lo que podría convertir su experiencia de usuario en la primera comprobación real de esa configuración específica.
Ventajas de las pruebas de compatibilidad
Entre las ventajas habituales de las pruebas de compatibilidad de software se incluyen:
1. Un público más amplio
Cuanto más a fondo pruebe un equipo su software, mayor será el número de dispositivos para los que pueda lanzarlo con confianza, garantizando así que un amplio público de muchas plataformas pueda disfrutar de su aplicación. Esto permite a las empresas obtener más ventas de productos en el programa y también puede mejorar el número de críticas positivas que este software recibe de los usuarios.
2. Mejora la estabilidad
Las pruebas de compatibilidad en las pruebas de software son esenciales para poner de relieve los problemas de estabilidad y rendimiento, que a menudo pueden ser más pronunciados en diferentes dispositivos, especialmente si los desarrolladores sólo diseñaron esta aplicación para una plataforma. Una prueba de compatibilidad del sistema muestra a la empresa lo que los usuarios (de una amplia gama de dispositivos) pueden esperar del rendimiento general del software.
3. Perfecciona el desarrollo
Estas pruebas también tienen importantes repercusiones a largo plazo en un equipo de desarrollo. Por ejemplo, las pruebas de compatibilidad móvil pueden proporcionar información valiosa sobre el desarrollo de aplicaciones que las empresas podrían tener en cuenta a la hora de crear programas adicionales. Esto puede reducir significativamente los gastos de las pruebas de compatibilidad para futuros proyectos, permitiéndoles reutilizar las lecciones que aprendan de este proceso.
4. Verifica otras pruebas
La mayoría de las pruebas realizadas hasta ahora tienen un alcance limitado y no prueban todas las combinaciones posibles de hardware o software. Las pruebas de compatibilidad entre navegadores, por ejemplo, validan las etapas previas de garantía de calidad al demostrar que los resultados son los mismos cuando el usuario tiene un navegador diferente.
5. Reduce costes
Las pruebas de compatibilidad también pueden reducir los costes del programa actual, ya que ayudan a los equipos a detectar problemas antes de que una aplicación se lance al público. Cuanto más variadas sean las pruebas de un equipo (y cuanto mayor sea su índice de cobertura de pruebas), más barato resultará eliminar cualquier error a medida que surja.
Retos de las pruebas de compatibilidad
Estos son los retos habituales a los que pueden enfrentarse las empresas cuando implantan pruebas de compatibilidad en las pruebas de software:
1. Tiempo limitado
Aunque las herramientas de automatización y otras soluciones pueden acelerar considerablemente las pruebas de compatibilidad al simular una serie de dispositivos, este proceso debe ajustarse al calendario de desarrollo de la empresa. Esto significa que el equipo de pruebas tiene que dar prioridad a los dispositivos y navegadores más comunes para garantizar que reciben la audiencia más amplia (y poblada).
2. Falta de dispositivos reales
Estas comprobaciones suelen realizarse en máquinas virtuales que simulan los componentes y las condiciones de los dispositivos reales; esto es mucho más barato (y rápido) que adquirir de forma independiente las piezas y plataformas pertinentes. Sin embargo, esto puede afectar a la exactitud de estos resultados, sobre todo porque el rendimiento depende a menudo de cómo manejen los usuarios un dispositivo real.
3. Difícil de preparar para el futuro
Las pruebas de compatibilidad sólo pueden comprometerse con plataformas que ya existen; esto significa que no pueden garantizar que la aplicación funcione como se espera en futuras versiones de Windows y Google Chrome. Las organizaciones sólo pueden solucionar esto después del lanzamiento, lo que suele ser más caro, y la aplicación puede quedar obsoleta como resultado.
4. 4. Mantenimiento de las infraestructuras
Si un equipo decide comprobar una cantidad significativa de plataformas internamente, esto puede dar lugar a elevadas tarifas de infraestructura. Las pruebas de compatibilidad de aplicaciones móviles, por ejemplo, podrían implicar el uso de varios dispositivos móviles reales. Aunque esto es más preciso que las pruebas simuladas de compatibilidad de hardware, es caro y suele implicar un mantenimiento regular.
5. Elevado número de combinaciones
Las pruebas de compatibilidad tienen en cuenta muchos factores que se entrecruzan, como el sistema operativo, el navegador, el hardware, el firmware e incluso la resolución de pantalla. Aunque el equipo de pruebas disponga de mucho tiempo, sería efectivamente imposible dar cabida a todas y cada una de las posibilidades. Las pruebas de configuración y compatibilidad deben priorizar de nuevo las combinaciones de dispositivos más probables.
Características de las pruebas de compatibilidad
Las principales características de las pruebas de compatibilidad son
1. A fondo
Estas comprobaciones deben ser capaces de aislar cualquier posible problema de compatibilidad que surja entre dispositivos, o el equipo podría acabar lanzando un programa defectuoso. Por ejemplo, estas comprobaciones deben garantizar que todas y cada una de las funciones de la aplicación se representen como se espera, independientemente de la resolución de pantalla del usuario.
2. Expansivo
Las pruebas deben mantener un equilibrio entre profundidad y amplitud, ayudando a los equipos a investigar una serie de problemas en muchas configuraciones de dispositivos. Las pruebas de compatibilidad entre navegadores examinan una amplia gama de combinaciones de sistemas operativos y navegadores, garantizando un alto nivel de cobertura, a veces con la ayuda de una solución automatizada.
3. Bidireccional
Este proceso implica pruebas de compatibilidad hacia delante y hacia atrás; las primeras permiten al equipo ver cómo funcionará su aplicación en hardware antiguo. Esto último permite al equipo acceder a plataformas de vanguardia, ayudándoles a garantizar un rendimiento satisfactorio a largo plazo, aunque sus capacidades de cara al futuro sean bastante limitadas.
4. Repetible
Los problemas que descubran estas comprobaciones deben ser fáciles de repetir para otros probadores y departamentos, demostrando que reflejan errores con los que probablemente se encuentren los usuarios. Si una prueba de compatibilidad de un sitio web indica que determinadas funciones no funcionan en un determinado navegador, la repetibilidad ayuda a los desarrolladores a solucionar el problema.
Tipos de pruebas de compatibilidad
Los principales tipos de pruebas de compatibilidad son los siguientes:
1. Pruebas de compatibilidad con versiones anteriores
Las pruebas de compatibilidad con versiones anteriores consisten en comprobar la aplicación con versiones anteriores del hardware actual. Esto es esencial porque restringir estas comprobaciones a los dispositivos modernos puede limitar considerablemente el número de usuarios. Muchas personas siguen utilizando sistemas operativos antiguos, como Windows 8, por ejemplo.
2. Pruebas de compatibilidad
Las pruebas de compatibilidad con el futuro son similares, pero se centran en las tecnologías modernas o futuras para comprobar si la aplicación puede seguir funcionando durante años a pesar de los avances y actualizaciones. Sin estas pruebas, el software podría incluso dejar de funcionar con la próxima actualización del navegador, por ejemplo.
3. Pruebas de compatibilidad de navegadores
Las pruebas de compatibilidad de navegadores garantizan que una aplicación o sitio web funcione en varios navegadores, lo cual es vital porque utilizan motores de diseño distintos. Los equipos de control de calidad prueban incluso la compatibilidad entre navegadores, es decir, comprueban que cada navegador pueda manejar la aplicación en distintos sistemas operativos.
4. Pruebas de compatibilidad móvil
Probar aplicaciones móviles es un proceso similar al de las aplicaciones web y de escritorio, sobre todo porque el sistema operativo del teléfono es otra consideración clave. Las aplicaciones para Android e iOS, por ejemplo, se presentan en formatos totalmente distintos y requieren un proceso de desarrollo y pruebas totalmente diferente para adaptarse a ambos.
5. Pruebas de compatibilidad de hardware
Estas comprobaciones examinan los componentes específicos que integran la máquina y cómo pueden afectar a un programa; esto es fundamental para prácticamente cualquier tipo de dispositivo. Por ejemplo, un ordenador puede tener una tarjeta gráfica que no pueda renderizar correctamente la interfaz de una aplicación web.
6. Pruebas de compatibilidad de dispositivos
Algunas aplicaciones se conectan con dispositivos externos a través de Bluetooth, banda ancha o una conexión por cable. Una aplicación puede necesitar conectarse a una impresora, por ejemplo. El objetivo de estas pruebas es asegurarse de que el programa interactúa con las conexiones propias de la plataforma y con los dispositivos a los que puede acceder.
7. Pruebas de compatibilidad de redes
Si una aplicación requiere funcionalidad de red para funcionar -por ejemplo, conectándose con una base de datos en línea a través del servidor de la empresa-, esto exige numerosas comprobaciones de compatibilidad. Esto garantiza que el programa pueda ejecutarse a una velocidad adecuada con una conexión de red Wi-Fi, 4G o 3G.
¿Qué comprobamos en las pruebas de compatibilidad?
Los probadores de compatibilidad suelen comprobar lo siguiente:
1. Rendimiento
Uno de los principales objetivos de las pruebas de compatibilidad es garantizar la estabilidad, ya que algunos aspectos de la aplicación pueden ser totalmente incompatibles con plataformas comunes. Al examinar la capacidad de respuesta general de este programa, el equipo de pruebas se asegura de que no se produzcan fallos graves en determinados dispositivos.
2. Funcionalidad
Las pruebas de compatibilidad también comprueban las características y funciones generales de una aplicación para garantizar que el software es capaz de ofrecer los resultados correctos. Por ejemplo, un sistema de gestión de relaciones con los clientes podría ser incapaz de ofrecer datos de ventas o análisis generales a usuarios con un sistema operativo obsoleto.
3. Gráficos
Algunos navegadores o dispositivos pueden tener problemas para representar determinados elementos gráficos por diversas razones, y las comprobaciones de compatibilidad pueden ayudar en este sentido. Es posible que un programa sólo pueda funcionar con resoluciones de pantalla específicas, a menos que los desarrolladores cambien la forma en que el programa muestra su contenido.
4. Conectividad
Las pruebas de compatibilidad también examinan cómo el programa se integra específicamente tanto con el dispositivo del usuario como con su propia base de datos, lo que le permite detectar dispositivos como impresoras. Estas comprobaciones podrían revelar, por ejemplo, que la aplicación es incapaz de conectarse con su propia base de datos en redes 3G.
5. Versatilidad
Estas comprobaciones aseguran que la aplicación de la empresa es lo suficientemente versátil como para funcionar en versiones antiguas y nuevas del mismo sistema operativo mediante pruebas de compatibilidad hacia atrás y hacia delante. Esto garantiza que los usuarios no queden excluidos del programa si su software tiene algunos años de antigüedad.
Tipos de resultados de las pruebas de compatibilidad
Los tres resultados principales de las pruebas de compatibilidad son:
1. 1. Resultados de las pruebas
La salida más común para estas comprobaciones son los propios resultados, que pueden adoptar muchas formas. Por ejemplo, las pruebas de compatibilidad de navegadores pueden revelar que una aplicación web provoca una fuga de memoria en Microsoft Edge, mientras que la misma aplicación no tiene efectos negativos en los navegadores basados en Chrome. Otra posibilidad es que la aplicación funcione exactamente como el equipo espera en las plataformas correspondientes.
2. Registros de pruebas
Los resultados de las pruebas también se manifiestan en forma de los propios registros de la aplicación, que destacan cualquier problema de software descubierto a través de mensajes de error. Estos registros pueden incluso identificar la parte específica de un programa que está causando este error. Para las pruebas de compatibilidad en particular, los probadores deben estar familiarizados con la forma en que estos registros se manifiestan y presentan estos problemas en las distintas plataformas.
3. Casos de prueba
Los casos de pruebas de compatibilidad establecen qué pruebas realizará el equipo, y ofrece un espacio para que registren los resultados en un formato sencillo. Los probadores deben utilizar su conocimiento del software, junto con los resultados y los registros, para identificar la causa de un problema. Cuanta más información proporcionen, más rápido podrán empezar los desarrolladores a corregir errores.
Tipos de defectos detectados
mediante pruebas de compatibilidad
Estos son los errores más comunes que pueden identificar las pruebas de compatibilidad:
1. Escalado del diseño
Una prueba de compatibilidad de sitios web puede mostrar si los elementos que componen una aplicación web, o incluso las páginas web, se adaptan al dispositivo del usuario, concretamente a la resolución y el tamaño de su pantalla. Como resultado, algunos gráficos pueden ser difíciles de ver en navegadores específicos.
2. Caídas del software
Las pruebas de compatibilidad facilitan saber si una aplicación puede ejecutarse en algunas plataformas. Por ejemplo, un desarrollador de juegos podría descubrir los requisitos mínimos del sistema de su producto comprobando qué dispositivos se bloquean por falta de RAM y velocidad del procesador cuando los probadores lo ponen en marcha.
3. Problemas de validación HTML/CSS
Los distintos navegadores y dispositivos leen el código de maneras diferentes: algunos corrigen automáticamente errores de codificación sencillos, como no cerrar correctamente una etiqueta HTML. Las pruebas de compatibilidad de navegadores pueden identificar casos de CSS no válido que impiden que la aplicación genere su contenido e incluso funciones básicas.
4. Errores de reproducción de vídeo
Muchos reproductores de vídeo modernos utilizan HTML5 para transmitir vídeos en línea, lo que puede convertirse en un elemento clave de la aplicación web de una empresa. Sin embargo, los equipos que comprueban la compatibilidad de los navegadores web podrían descubrir que las funciones de vídeo de su aplicación no son compatibles con navegadores obsoletos.
5. Seguridad de los ficheros
Las pruebas de compatibilidad en ingeniería de software también pueden detectar problemas con la seguridad de los archivos y su variación entre dispositivos. Por ejemplo, las nuevas versiones de Windows tienen una seguridad de entrada/salida más robusta. Esto puede provocar que la aplicación (como el software antivirus) tenga problemas para acceder a los archivos del dispositivo.
Proceso de pruebas de compatibilidad
Los pasos habituales de las pruebas de compatibilidad son:
1. Elaborar un plan de pruebas
Un plan de pruebas exhaustivo es fundamental para las pruebas de compatibilidad; el equipo de control de calidad puede consultarlo cuando sea necesario durante sus comprobaciones. Por ejemplo, se detallan los dispositivos que van a probar y los criterios para aprobar o suspender; también deben establecer si van a utilizar la automatización robótica de procesos.
2. Configurar casos de prueba
Los casos de prueba son igualmente importantes, ya que detallan las comprobaciones específicas de compatibilidad que realizan los equipos y los dispositivos concretos con los que trabajan. También contiene los pasos exactos que seguirán los probadores y un amplio espacio para que anoten el resultado y cualquier información que ayude a los desarrolladores a reforzar la compatibilidad.
3. Establecer el entorno de pruebas
Un entorno de pruebas aislado e independiente, libre de influencias externas, es necesario para garantizar la precisión de las pruebas, además de permitir al equipo de control de calidad identificar de dónde proceden los problemas que descubren. Además, los probadores pueden realizar sus comprobaciones en la aplicación sin comprometer en modo alguno la versión «real».
4. Ejecutar las pruebas
Con los casos de prueba y el entorno totalmente preparados, el equipo puede empezar las pruebas de compatibilidad; incluso con una solución automatizada, sólo disponen de un tiempo limitado. Los responsables de las pruebas tendrán que dar prioridad a los sistemas operativos y configuraciones de dispositivos más comunes para tener esto en cuenta, y garantizar una amplia cobertura de las pruebas a pesar de estas limitaciones.
5. Vuelva a probar
Una vez finalizadas las pruebas y cuando los desarrolladores reciban los casos de prueba, modificarán la aplicación de forma que mejore su compatibilidad, aunque puede que esto no sea posible para todos los dispositivos. A continuación, los probadores vuelven a comprobar la aplicación y verifican que los problemas que habían detectado anteriormente ya no están presentes y que no hay nuevos errores importantes.
Métricas comunes de las pruebas de compatibilidad
Estas son algunas métricas comunes utilizadas para las pruebas de compatibilidad:
1. Ancho de banda
Las pruebas de compatibilidad con la red miden cómo interactúa la aplicación con varias redes, incluidas las de banda ancha y datos móviles. El ancho de banda mínimo necesario para que el programa realice sus funciones habituales y se conecte a la base de datos de la empresa puede ser demasiado elevado para una conexión 3G media, por ejemplo.
2. Uso de la CPU
Una de las formas en que se manifiestan los problemas de rendimiento es a través de un uso desproporcionadamente alto de la CPU, lo que puede significar que el dispositivo simplemente no cumple los requisitos mínimos del programa. Los problemas de CPU también pueden afectar al tiempo de respuesta de la aplicación, limitando su funcionalidad y provocando un retardo suficiente para desconectar a los usuarios.
3. Escala de usabilidad del sistema
La Escala de Usabilidad del Sistema es una forma habitual de medir detalles subjetivos de un programa, y consta de diez preguntas básicas sobre la usabilidad de una aplicación. La puntuación SUS resultante es sobre 100 y puede variar de una plataforma a otra debido a errores gráficos.
4. Número total de defectos
Esta métrica es una constante en la mayoría de los tipos de pruebas, lo que permite a los evaluadores conocer el estado actual del programa. También es posible que el equipo compare los totales de defectos entre varias plataformas. De este modo, los encargados de las pruebas podrán señalar los errores debidos a la incompatibilidad.
5. Puntuación SUPRQ
Similar a la puntuación SUS de una aplicación, el Cuestionario estandarizado de rango percentil de experiencia de usuario es una forma de que los evaluadores valoren una aplicación en función de varios factores clave, como la usabilidad y la apariencia. Esto les ayuda a identificar las dificultades que pueden tener los clientes para utilizar la aplicación en determinados dispositivos.
7 errores y trampas en la realización de pruebas de compatibilidad
He aquí siete errores importantes que hay que evitar al realizar pruebas de compatibilidad:
1. Falta de dispositivos reales
Aunque sería imposible realizar pruebas en todas las combinaciones posibles de dispositivos, un equipo de pruebas puede beneficiarse del uso de tantos dispositivos reales como pueda conseguir. Varias plataformas ofrecen dispositivos «reales» a través de soluciones en la nube para facilitar las pruebas de compatibilidad entre navegadores de forma que puedan reflejar el rendimiento nativo.
2. Evitar dispositivos antiguos
Muchos usuarios siguen accediendo a sus aplicaciones en versiones anteriores de Windows o iOS; centrarse exclusivamente en las nuevas ediciones de dispositivos y sistemas operativos populares podría limitar el alcance de un producto. Si el equipo no amplía sus pruebas a dispositivos «anticuados», una parte importante de su público podría tener dificultades para utilizar el programa.
3. Mala gestión del tiempo
A menudo hay un gran volumen de dispositivos y configuraciones que requerirán una prueba de compatibilidad, lo que significa que el equipo debe gestionar su tiempo para comprobar el mayor número posible de ellos. Esto es importante, ya que las pruebas suelen estar aún en curso cerca del final del desarrollo; una mala gestión podría limitar masivamente el número de comprobaciones.
4. Programación inadecuada
Asimismo, es fundamental que los equipos se aseguren de realizar estas pruebas en una fase razonable del desarrollo del programa, preferiblemente después de las pruebas alfa y de la mayoría de las pruebas funcionales. Esto facilita ver si un problema es un defecto general o específico de los dispositivos que el equipo está examinando.
5. No tiene en cuenta la resolución de la pantalla
La resolución de pantalla puede ser un factor de compatibilidad mucho más importante de lo que muchos equipos de pruebas reconocen, sobre todo porque es personalizable e influye en la forma en que un dispositivo muestra los elementos gráficos. Incluso con una fecha límite cada vez más cercana para las pruebas de compatibilidad, es vital que los equipos de pruebas sigan trabajando para tener esto en cuenta en su estrategia.
Falta de experiencia
Los probadores deben estar altamente cualificados para comprobar la compatibilidad del sitio web, el navegador y el software, entre otras muchas formas que pueden adoptar estas pruebas. Si un jefe de pruebas asigna a uno de los miembros de su equipo la realización de comprobaciones de compatibilidad y éste no tiene suficiente experiencia, podría ralentizar las pruebas y limitar su precisión.
6. Sin debate previo
Dado que las pruebas de compatibilidad suelen llevar mucho tiempo (y pueden requerir una amplia gama de dispositivos), los equipos deben establecer plenamente el alcance de sus comprobaciones en una fase temprana de la garantía de calidad. Por ejemplo, deben tener una idea clara de los dispositivos o configuraciones específicos que pretenden probar antes incluso de empezar sus comprobaciones.
Buenas prácticas para las pruebas de compatibilidad
Las mejores formas de garantizar pruebas de compatibilidad de alta calidad incluyen:
1. Pruebas durante todo el desarrollo
Dado que el software cambia considerablemente de una semana a otra, esto puede afectar a la compatibilidad del programa con los dispositivos previstos. Los equipos deben realizar pruebas de compatibilidad de software y entre navegadores repetidamente para asegurarse de que la aplicación sigue funcionando bien en estas plataformas tras los cambios de desarrollo.
2. Utilizar dispositivos reales
Algunas herramientas de pruebas de compatibilidad ofrecen acceso a dispositivos simulados «reales» que pueden asemejarse mucho a la experiencia del usuario para esa plataforma. Esto le permite garantizar la compatibilidad en más dispositivos, manteniendo al mismo tiempo un alto nivel de precisión que no está presente en ciertas soluciones automatizadas.
3. Priorizar las pruebas
Con un tiempo limitado para llevar a cabo estas comprobaciones, es posible que los encargados de las pruebas de compatibilidad tengan que dar prioridad a los dispositivos, navegadores y sistemas operativos más comunes. Del mismo modo, el equipo de pruebas debe inspeccionar primero las características más críticas del software para garantizar la funcionalidad básica en estos dispositivos.
4. Integrar técnicas ágiles
Algunas empresas optan por adoptar un enfoque basado en sprints para sus pruebas de compatibilidad, lo que les permite alcanzar fácilmente los hitos de las pruebas, como comprobar un número específico de dispositivos. El enfoque ágil fomenta la comunicación entre departamentos y, al mismo tiempo, proporciona una estructura de pruebas establecida que puede garantizar una mejora rápida y constante.
5. Limitar el alcance de las pruebas
Los equipos de control de calidad deben saber cuándo poner fin a sus pruebas e incluso aceptar un caso de incompatibilidad. En este caso, el desarrollador podría no cambiar el software, y en su lugar podría cambiar los requisitos mínimos si esto fuera demasiado difícil de eludir mediante correcciones de errores.
Ejemplos de casos y escenarios de pruebas de compatibilidad
Los casos de pruebas de compatibilidad establecen las entradas del equipo de pruebas, la estrategia de pruebas y los resultados esperados; estos últimos los comparan con los resultados reales. Como las comprobaciones abarcan muchos dispositivos y configuraciones, suele ser un proceso largo.
Estos casos suelen incluir:
– Comprueba que el HTML de la aplicación web se muestra correctamente.
– Compruebe que el código JavaScript del programa es utilizable.
– Comprueba si la aplicación funciona en diferentes resoluciones.
– Compruebe que el programa puede acceder al directorio de archivos.
– Asegúrate de que la aplicación se conecta a todas las redes viables.
He aquí ejemplos concretos de pruebas de compatibilidad en pruebas de software para distintos programas:
1. Aplicación de redes sociales
Las redes sociales suelen adoptar la forma de aplicaciones web en navegadores y aplicaciones móviles para los dispositivos correspondientes; ambos tipos requieren pruebas igual de minuciosas. Por ejemplo, esta aplicación móvil debe ser plenamente operativa en dispositivos iOS y Android como mínimo, y el equipo debe comprobar los dispositivos antiguos y nuevos en cada sistema operativo. Si un modelo concreto de iPhone no puede reproducir archivos GIF animados, por ejemplo, el equipo debe identificar la causa para garantizar una experiencia de usuario coherente.
2. Videojuego
Los videojuegos suelen ofrecer opciones gráficas personalizables que los usuarios pueden cambiar para adaptarlas a su máquina; esto incluye controlar la resolución de la pantalla y asegurarse de que la interfaz de usuario se escala adecuadamente. Pueden surgir ciertos problemas dependiendo del hardware específico del jugador, con errores de antialiasing que provocan gráficos granulados. Esto podría deberse a una tarjeta gráfica común que es incompatible con el renderizado de texturas de la empresa. Dependiendo del problema exacto, esto podría incluso manifestarse como un bloqueo del sistema cuando ciertos dispositivos inician el juego.
3. Sistema CRM en la nube
Las soluciones de gestión de las relaciones con los clientes hacen un uso intensivo de las bases de datos para recuperar información sobre sus transacciones, proveedores y otras facetas importantes del negocio, principalmente con la ayuda del almacenamiento en la nube. Los encargados de las pruebas deben asegurarse de que esta base de datos y sus servicios en la nube funcionan en diferentes redes, incluidas 3G y 4G si un usuario necesita acceder a ella sin conexión a Internet. El equipo también debe inspeccionar una amplia gama de sistemas operativos, ya que algunos fallos pueden aparecer sólo en dispositivos Linux, por ejemplo.
¿Pruebas de compatibilidad manuales o automatizadas?
La automatización puede ser muy útil para las pruebas de compatibilidad, ya que permite a los equipos comprobar un gran número de dispositivos mucho más rápidamente que un enfoque manual. Sin embargo, las pruebas manuales pueden ser más apropiadas cuando se realizan comprobaciones en un número limitado de navegadores y dispositivos; por ejemplo, un videojuego sólo disponible en dos plataformas. La usabilidad del software suele ser un factor fundamental en las pruebas de compatibilidad y normalmente requiere una perspectiva humana que pueda identificar mejor los problemas de representación gráfica. La automatización de procesos robóticos puede ayudar en este sentido mediante la implementación de robots de software que puedan imitar más fácilmente el enfoque de un usuario humano en las pruebas de compatibilidad.
En el caso de programas diseñados para una amplia gama de dispositivos, como aplicaciones móviles y web, la automatización permite al equipo garantizar una cobertura de pruebas más amplia. Podrían incluso utilizar la hiperautomatización para externalizar de forma inteligente estas comprobaciones de forma que los probadores humanos inspeccionen estas plataformas para comprobar la funcionalidad específica del usuario. Las pruebas de compatibilidad en las pruebas manuales siguen siendo obligatorias para algunas tareas, como comprobar que la interfaz de usuario se muestra correctamente en todos los dispositivos. Esto significa que el mejor enfoque podría ser una estrategia combinada que permita probar más dispositivos en general mediante la automatización, aumentando su ritmo sin dejar de tener en cuenta la importancia de la usabilidad.
¿Qué necesita para empezar a realizar pruebas de compatibilidad?
Los principales requisitos previos para las pruebas de compatibilidad suelen ser:
1. Personal cualificado
Los probadores de compatibilidad suelen tener mayores requisitos de cualificación que otras formas de garantía de calidad, debido a que comprueban una gama más amplia de dispositivos y suelen encontrarse con más errores. Esto puede incluir la resolución de problemas, la comunicación y la atención al detalle. Los jefes de equipo deben asignar probadores que tengan experiencia en examinar la misma aplicación en muchas plataformas.
2. Fuerte emulación de dispositivos
Puede resultar difícil obtener y probar todos los dispositivos físicos dentro del alcance del equipo, por lo que la emulación es esencial para ver cómo responden varias plataformas al mismo programa. Este proceso rara vez es perfecto y los probadores deben buscar entre los muchos emuladores y herramientas de pruebas automatizadas disponibles cuál ofrece la mayor precisión.
3. Alcance claro de las pruebas
El equipo debe conocer su alcance antes de empezar las comprobaciones, sobre todo porque esto podría decidir el ritmo de trabajo. Aunque el programa pretenda abarcar muchas plataformas, los responsables de las pruebas deben identificar un punto de corte adecuado. Por ejemplo, probar sistemas operativos lanzados antes de Windows 7 podría dar lugar a rendimientos decrecientes.
4. 4. Gestión del tiempo
Las pruebas de compatibilidad pueden realizarse en cualquier momento de la fase de aseguramiento de la calidad, pero suelen reservarse para el final del desarrollo, cuando el programa es estable y está completo. Sin embargo, los encargados de las pruebas deben considerar la compatibilidad mucho antes, ya que suele llevar mucho tiempo. Una sólida planificación previa ayuda al equipo a disponer de tiempo suficiente para cada control.
Pruebas de compatibilidad
lista de control, consejos y trucos
Estos son otros consejos que los equipos de control de calidad deben tener en cuenta a la hora de realizar pruebas de compatibilidad:
1. No tenga como objetivo la cobertura absoluta
Aunque todas las estrategias de pruebas tienen como objetivo maximizar la cobertura de las pruebas, normalmente se detienen antes de alcanzar el 100% debido a los rendimientos decrecientes con sólo pequeñas mejoras para muy pocos usuarios. En el contexto de la compatibilidad, los equipos deben entender cuándo muy pocos de sus clientes utilizarían un dispositivo para que estas comprobaciones merezcan la pena.
2. Priorizar las combinaciones entre navegadores
Las pruebas de compatibilidad entre navegadores consisten en comprobar cada navegador con varios sistemas operativos. Los responsables de las pruebas deben utilizar análisis exhaustivos sobre su público para determinar cuál es el más popular de ambos y utilizarlo para orientar su enfoque. Incluso podrían elaborar una matriz de compatibilidad de navegadores, que establezca el alcance de estas comprobaciones y sus diversas configuraciones.
3. Verificar el diseño
Garantizar una experiencia coherente es el núcleo de las pruebas de compatibilidad, y estas comprobaciones deben ir más allá de identificar si las funciones del programa funcionan en distintos dispositivos. Los equipos también deben verificar el diseño general del software, incluida la alineación de cualquier formulario o tabla, así como la integridad del CSS y HTML del programa.
4. Comprobar API
Las interfaces de programación de aplicaciones son un componente esencial del modo en que los navegadores leen las aplicaciones, por lo que son vitales para las pruebas de compatibilidad entre navegadores de un equipo. Los distintos navegadores web tienen sus propias llamadas a la API, y sus actualizaciones a lo largo del tiempo podrían afectar a la compatibilidad. Los encargados de las pruebas deben comprobarlas con regularidad, aunque la empresa utilice una API similar para cada programa.
5. Examinar el certificado SSL
Los certificados SSL aumentan la seguridad de un navegador, cifrando el tráfico web y permitiendo a los usuarios beneficiarse de los protocolos HTTPS. Un sitio o aplicación web puede tener un certificado incompatible con determinados navegadores. Esto significa que los probadores deben validar el certificado en las principales plataformas para asegurarse de que los usuarios se sienten seguros en su sitio web.
6. Validar reproductores de vídeo
Los programas que muestran vídeos, como los servicios de streaming o los juegos freemium para móviles con anuncios, deben someterse a pruebas para garantizar que estos vídeos se visualizan en todos los dispositivos previstos. Para muchas de las aplicaciones, estas comprobaciones incluirán tanto los dispositivos de sobremesa como los móviles y podrían examinar la calidad, la velocidad y la frecuencia de imagen del vídeo.
Las 5 mejores herramientas y software para pruebas de compatibilidad
Entre las herramientas gratuitas y de pago más eficaces para comprobar la compatibilidad figuran:
1. ZAPTEST Edición Gratuita y Empresarial
ZAPTEST ofrece una excelente funcionalidad tanto en su edición gratuita como en la Enterprise (de pago), ayudando a empresas de cualquier tamaño (o presupuesto) con sus comprobaciones de compatibilidad. Las empresas que eligen la versión Enterprise de ZAPTEST pueden incluso disfrutar de una rentabilidad de hasta 10 veces su inversión original. La función 1SCRIPT de la solución se adapta específicamente a las necesidades de los probadores de compatibilidad, permitiéndoles ejecutar exactamente las mismas pruebas en varias plataformas sin modificar el código para que coincida. Añada funcionalidad RPA de última generación sin coste adicional y dispondrá de una solución integral de automatización de cualquier tarea.
2. LambdaTest
LambdaTest utiliza un enfoque basado en la nube para ofrecer 3.000 dispositivos automatizados, aunque con un enfoque significativo en los navegadores web, lo que podría limitar la eficacia de esta solución para determinados programas. La plataforma se especializa en pruebas continuas, integrando más estrechamente el proceso de garantía de calidad con el desarrollo. Las comprobaciones de esta aplicación también permiten a los usuarios establecer su resolución, lo que facilita mucho las pruebas de compatibilidad entre navegadores. Esta solución ofrece un modelo freemium, aunque incluye pruebas limitadas sin actualización y sin dispositivos reales.
3. BrowserStack
Al igual que LambdaTest, BrowserStack proporciona acceso a 3.000 dispositivos reales; su catálogo también incluye opciones heredadas y beta para navegadores. Aunque es más probable que la gente actualice su navegador que su sistema operativo, es posible que todavía haya muchas personas que utilicen versiones anteriores: BrowserStack lo tiene en cuenta. Los usuarios también pueden realizar pruebas de geolocalización para ver cómo se ven los sitios web y las aplicaciones web en distintos países. Sin embargo, no hay opciones gratuitas ni freemium, y las pruebas en dispositivos reales pueden ser lentas.
4. TestGrid
TestGrid permite realizar pruebas en paralelo, lo que permite a los equipos comprobar varias combinaciones al mismo tiempo para acelerar el proceso. Esta solución también se integra bien con el flujo de trabajo de pruebas y desarrollo, facilitando posiblemente un enfoque ágil al formar parte clave de los sprints del departamento. Sin embargo, TestGrid a veces tiene problemas para conectarse a dispositivos y navegadores en la nube. Además, el programa es bastante limitado en términos de pruebas de carga, documentación y adición de nuevos dispositivos a la configuración de la empresa.
5. Browsera
Browsera se centra principalmente en probar sitios web para garantizar que se muestran correctamente en distintos dispositivos, navegadores y sistemas operativos. Al tratarse de un enfoque basado en la nube, los equipos de control de calidad no necesitan instalar este laboratorio de pruebas virtual en sus dispositivos. Browsera también puede comparar los resultados para detectar de forma inteligente problemas de diseño y errores de JavaScript que incluso un evaluador humano podría pasar por alto. Sin embargo, Browsera no es compatible con varios navegadores comunes, incluido Opera, y sólo ofrece funciones básicas de prueba de forma gratuita.
Conclusión
Las pruebas de compatibilidad son fundamentales para el éxito de una estrategia de garantía de calidad, ya que permiten a los equipos validar sus aplicaciones en una amplia gama de dispositivos. Si no adoptan esta técnica, las empresas pueden ignorar que su software no funcionará para gran parte de su público objetivo hasta después del lanzamiento. Esto cuesta mucho tiempo y dinero en comparación con las pruebas previas al lanzamiento y aplicaciones como ZAPTEST pueden agilizar aún más este proceso. Con 1SCRIPT y muchas otras funciones disponibles de forma gratuita, como las pruebas paralelas, elegir ZAPTEST como herramienta de pruebas podría transformar cualquier proyecto y ofrecer a los equipos una confianza total en su aplicación.