portability testing guide with practical examples
Introducción a las pruebas de portabilidad:
La prueba de portabilidad es una metodología de prueba no funcional que determina la facilidad o dificultad con la que un componente de software o una aplicación se puede mover de un entorno a otro.
Los resultados de las pruebas obtenidos de las pruebas de portabilidad ayudan a descubrir con qué facilidad se puede utilizar un componente de software de un entorno en otro entorno.
El término 'entorno' se refiere a pasar de un sistema operativo a otro, de un navegador a otro o de una versión de base de datos a otra versión de base de datos.
Una de las principales reglas de las pruebas de portabilidad es que se debe usar solo si el componente de software se va a mover de un entorno a otro.
Una medida de portabilidad es el esfuerzo que se requiere para mover el componente de software de un entorno a otro. Una unidad de medida de la portabilidad es el costo de adoptar un software en el nuevo entorno en comparación con el costo de re-desarrollo del software.
Este tutorial le brinda una descripción completa del significado, objetivos, atributos, lista de verificación, ventajas y desventajas de las pruebas de portabilidad junto con algunos ejemplos prácticos en términos simples para su fácil comprensión.
Lo que vas a aprender:
- Diferencia entre pruebas de portabilidad y compatibilidad
- Objetivos
- Atributos
- Lista de verificación de pruebas de portabilidad
- Pros y contras
- Ejemplos de pruebas de portabilidad
- Conclusión
- Lectura recomendada
Diferencia entre pruebas de portabilidad y compatibilidad
Los puntos que se indican a continuación distinguirán brevemente las diferencias entre portabilidad y compatibilidad.
=> La compatibilidad se refiere a si dos o más componentes se pueden ejecutar en el mismo entorno al mismo tiempo sin afectar negativamente el comportamiento de cada uno.
Ejemplo: Se puede decir que un procesador de texto y una calculadora que se ejecutan en el mismo sistema operativo, como Windows 10, son compatibles entre sí, ya que la ejecución de una aplicación no afectará el comportamiento de la otra aplicación.
=> La portabilidad trata de mover el componente de un entorno a otro.
Ejemplo: Se dice que un juego que se ejecuta en Windows XP es portátil si el mismo juego se puede ejecutar en Windows 7 sin ningún cambio en el comportamiento del juego.
=> En resumen, la prueba de portabilidad se ocupa de los componentes de software en múltiples entornos, mientras que la prueba de compatibilidad se ocupa de probar dos aplicaciones diferentes en el mismo entorno.
abrir la tabla hash de direccionamiento c ++
Objetivos
Los siguientes son los objetivos de esta prueba:
- Determine si un sistema se puede migrar a cada una de las características ambientales, como la velocidad del procesador, el espacio en disco y la RAM, la resolución del monitor, el sistema operativo y las versiones del navegador.
- Determine si la apariencia de la aplicación con respecto a la interfaz de usuario y las características funcionales son similares a múltiples sistemas operativos y múltiples navegadores.
- Esta prueba ayuda a determinar si el sistema puede estar listo para su lanzamiento, especialmente cuando se sabe que los clientes del producto utilizarán varios sistemas operativos con varias versiones de navegador.
- Esta prueba generalmente se realiza contra un conjunto predefinido de requisitos de portabilidad, que ayudan a encontrar los defectos que se pasan por alto como parte de la unidad y las pruebas de integración de la aplicación.
- Los desarrolladores deben corregir y entregar los defectos encontrados en esta prueba como parte del lanzamiento del producto.
- Esta prueba generalmente se realiza de manera incremental a lo largo del ciclo de vida del desarrollo de software.
Atributos
La placa de prueba de software ha definido ciertos atributos importantes de esta prueba.
Son:
- Instalabilidad
- Adaptabilidad
- Reemplazabilidad
- Compatibilidad o convivencia
# 1) Instalabilidad:
La instalación se realiza en un software que debe instalarse en un entorno de destino.
Las siguientes características se validan como parte de las pruebas de instalación:
- Requisitos del sistema operativo para la instalación.
- Requisitos del navegador para el uso de una aplicación.
- Requisitos de memoria o RAM.
- Procedimiento de instalación.
- Procedimiento de desinstalación.
- Excepciones de interrupción de la instalación.
- Requisitos previos para la instalación del software.
# 2) Adaptabilidad:
La prueba de adaptabilidad es el proceso de validar si el sistema es adaptable a cada uno de los entornos de destino. El uso de estándares de comunicación comunes entre múltiples sistemas puede ayudar a mejorar la adaptabilidad del sistema en su conjunto.
Las pruebas de adaptabilidad incluyen las siguientes características:
- Dependencia de hardware.
- Dependencia de software.
- Idioma estándar.
- Comunicación del sistema con cada uno de los entornos objetivo.
- Encapsulación de dependencia.
- Representación de dependencias en múltiples sistemas.
# 3) Reemplazabilidad:
La reemplazabilidad es la capacidad de reemplazar un componente de software por otro. El componente que reemplaza al componente anterior debe producir los mismos resultados que el componente anterior en todos los entornos de destino. Idealmente, debería tener el mismo propósito que el componente que se reemplaza.
Los productos competitivos del mismo dominio serán los candidatos ideales para la reemplazabilidad, ya que el producto que se está reemplazando puede ser mucho más barato que el producto existente de un competidor.
# 4) Compatibilidad o convivencia:
La compatibilidad es la capacidad de dos o más componentes con el existente en el mismo entorno sin afectar negativamente el comportamiento de cada uno. Esta prueba es especialmente útil en sistemas grandes que incluyen múltiples subsistemas como parte de ella.
Idealmente, los subsistemas comparten un área de pila y una memoria comunes. Como resultado, se produjo una excepción en un subsistema que puede propagarse fácilmente al otro subsistema provocando que toda la aplicación se bloquee.
Cambiar el componente existente, actualizar a un nuevo componente, adaptar la nueva interfaz al componente existente son todos los problemas que enfrentan los sistemas de software a medida que pasa el tiempo.
Componentes que fallan pruebas de compatibilidad Los requisitos tienen un efecto profundo en todo el sistema y, por lo tanto, cada componente debe probarse minuciosamente para determinar su efecto sobre los recursos comunes.
Pocos otros en la lista:
Además de estos atributos principales, las pruebas de portabilidad también pueden incluir varios otros atributos, como las pruebas de interoperabilidad y las pruebas de localización.
(i) Interoperabilidad: Las pruebas de interoperabilidad ayudan a determinar si dos o más componentes pueden interactuar entre sí sin ningún problema de comunicación.
Por ejemplo , La transferencia de datos a través de Bluetooth entre una PC con Windows 10 y un teléfono inteligente con Android se puede utilizar para las pruebas de interoperabilidad.
(ii) Localización: Las pruebas de localización se realizan para garantizar que el software desarrollado se pueda entender en el idioma local donde se está utilizando. Este tipo de prueba también se conoce como prueba de internalización.
Por ejemplo , El software debe probarse en varios idiomas internacionales, como chino, italiano, ruso, etc.
Lista de verificación de pruebas de portabilidad
La lista de verificación incluye los requisitos que se probarán como parte de la prueba de portabilidad.
Antes de continuar con la preparación de una lista de verificación, es imperativo asegurarse de que todos los componentes individuales del sistema se prueben a fondo y se integren entre sí para formar un sistema grande.
¿Qué son las pruebas entre navegadores?
Todos los objetivos de las pruebas de portabilidad deben tenerse en cuenta para que la lista de verificación sea efectiva y eficiente.
- Esta prueba debe cumplir con todos los requisitos de portabilidad.
- Se debe realizar la prueba de la aplicación en varios sistemas operativos.
- Se debe realizar una prueba de la aplicación en varias versiones de navegador.
- Esta prueba se puede automatizar para pruebas de regresión continua.
- Esta prueba debe realizarse de manera incremental e iterativa a lo largo del ciclo de vida del desarrollo de software.
Pros y contras
Las pruebas de portabilidad tienen sus propios méritos y deméritos como cualquier otra prueba. Echemos un vistazo a ellos.
Pros:
- Ayuda a identificar las dependencias entre múltiples componentes.
- Esta prueba es especialmente útil en sistemas grandes, que tienen varios subsistemas que interactúan entre sí.
- Se prefiere esta prueba cuando los clientes de un producto utilizan varios sistemas operativos con varias versiones de navegador.
- Los errores que se pasan por alto durante las pruebas unitarias y de integración se pueden descubrir con esta prueba.
- La instalación y desinstalación de software también se puede probar como parte de esta prueba.
- La capacidad de respuesta y el rendimiento de una aplicación se pueden probar en varios navegadores y sistemas operativos.
- La apariencia de la aplicación en múltiples navegadores y múltiples sistemas operativos se puede validar usando esta prueba.
- Esta prueba ayuda a determinar si la funcionalidad de la aplicación es la esperada en múltiples sistemas operativos y múltiples navegadores.
- También ayuda a eliminar la propagación de errores entre múltiples sistemas.
Contras:
- Por lo general, no se prefiere esta prueba cuando hay una limitación de tiempo en el ciclo de prueba del software.
- Esta prueba requiere mucho presupuesto por parte de la organización, ya que requiere múltiples configuraciones para realizar pruebas, como múltiples sistemas operativos y múltiples navegadores.
- Todas las configuraciones de hardware de instalación deben estar disponibles para que se realicen las pruebas de portabilidad. Esto significa que una organización debe pagar para brindar soporte para el mantenimiento de las configuraciones de hardware de instalación.
- Las pruebas de portabilidad son un proceso repetitivo, lo que significa que los evaluadores pueden perder el enfoque durante las pruebas.
- La automatización de las pruebas de portabilidad es una tarea tediosa y requiere habilidad y paciencia de los probadores para implementarse con éxito.
- La ejecución de pruebas de portabilidad en un entorno multiusuario puede resultar muy complicada. Además, requiere una gran cantidad de trabajo de datos para que la prueba sea exitosa.
- El espacio de almacenamiento para entornos de alojamiento puede resultar costoso para una organización.
Ejemplos de pruebas de portabilidad
A continuación se presentan algunos ejemplos clásicos:
- Software diseñado para ejecutarse en los sistemas operativos Windows 7 y Macintosh.
- Aplicaciones diseñadas para ejecutarse en dispositivos Apple iOS y Google Android.
- Software diseñado para ser compatible con el navegador Microsoft Edge y el navegador Google Chrome.
- Videojuegos diseñados para ejecutarse en sistemas operativos Windows 10 y Apple Macintosh.
- Software diseñado para ejecutarse en el servidor MySQL de Windows 7 y la base de datos Oracle de Macintosh.
- Instalación de software en sistemas operativos Windows 10 y Windows XP.
- Desinstalación de software en sistemas operativos Macintosh y Linux.
Conclusión
Las pruebas de portabilidad generalmente se prefieren cuando existe un requisito para que el componente de software se mueva de un entorno a otro. Esta prueba ayuda a descubrir los defectos que no se identifican como parte de las pruebas unitarias y las pruebas de integración del sistema.
Una de las principales desventajas de las pruebas de portabilidad es la cantidad de presupuesto que se asignará a estas pruebas, ya que exige el uso de múltiples configuraciones de hardware. El mantenimiento y la prestación de asistencia para estas configuraciones de hardware puede ser una tarea muy tediosa y que requiere mucho tiempo.
Por lo tanto, las pruebas de portabilidad se prefieren generalmente cuando los beneficios superan a las desventajas.
Espero que haya entendido claramente el concepto de prueba de portabilidad a través de este excelente tutorial.
Lectura recomendada
- Mejores herramientas de prueba de software 2021 (Herramientas de automatización de pruebas de control de calidad)
- Tipos de pruebas de software: diferentes tipos de pruebas con detalles
- Pruebas funcionales versus pruebas no funcionales
- Trabajo de asistente de control de calidad de pruebas de software
- Pruebas prácticas de software: nuevo libro electrónico GRATUITO (Descargar)
- ¿Qué son las pruebas de resistencia en las pruebas de software (ejemplos)?
- Pruebas alfa y beta (una guía completa)
- ¡Pensando fuera de la caja mientras prueba el software!