Introducción al Testing: Pruebas de portabilidad


Hoy vamos a tratar un tipo de pruebas que no son de las más conocidas, las pruebas de portabilidad, que son las que se realizan para determinar la portabilidad de un software a otro software o de un hardware a otro.
 
 
Para la realización de este tipo de pruebas lo mejor es montar un laboratorio estanco e independiente donde probar todo con garantía. Este entorno de pruebas tendrá que tener varias posibilidades que hagan que se cumpla la normativa y que posibilitemos diferencias de hardware y nuevo software para facilitar la portabilidad del producto.




Este tipo de pruebas tendrán que cumplir la normativa escrita en  la ISO/IEE 9126-1, donde se describe la capacidad de un software a ser transferido de un ambiente a otro,





Dentro de la portabilidad y de la normativa anteriormente descrita, un producto tiene que ser capaz de ser adaptado a los ambientes especificados sin aplicar acciones o medios que aquellos suministrados con el propósito de que el software cumpla sus fines. También tiene que cumplir la Instalabilidad, que es la capacidad de dicho producto para ser instalado en un ambiente especificado y la reemplazabilidad la cual describe que el producto software tiene que ser capaz de ser usado en lugar de otro especificado para los mismos fines y en el mismo ambiente.





Por lo tanto para este tipo de pruebas hay que comprobar que el software sea Portable, Instalable, reemplazable y adaptable.





¿Como realizamos las pruebas de portabilidad?





Para ejecutar este tipo de pruebas hay que tener en cuenta el tipo de producto, ya que las que trabajan en escritorio o vía web son más sencillas de probar que el resto.





En primer lugar hay que tener en cuenta los requisitos previos de instalación (en el caso de que fuesen necesarios), hay comienza la complicación de las pruebas ya que se podrán sacar fallos de Instalabilidad y que no sea reemplazable en algún sistema por la falta de compatibilidad de algún pre-requisito.





Tras la instalación de los requisitos previos hay que valorar si este flujo es único o hay varias posibilidades, ya que en algunos casos, la instalación de estos tiene que ir enlazada y por pasos porque podría pasar que al instalar algún pre-requisito antes que otro, este no funcione correctamente. Al realizar todas estas pruebas tendremos el flujo de instalación ya realizado completamente.





El siguiente paso es verificar que la instalación ha sido correcta, habrá que ejecutar la aplicación y revisar que se "levanta" como se espera. Si esto es correcto, hemos completado el punto exitosamente.





Otra cuestión a revisar es la desinstalación del producto. Habrá que revisar como se desinstala, que componentes se pueden quedar, que archivos no se borran adecuadamente o que registros quedarán tras ello. Hay que comprobar todos los flujos que hemos ejecutado en la instalación y paso por paso ir eliminando todo lo que hemos instalado previamente.





Cuando hemos realizado todos los flujos, quedarán una serie de disconformidades que se convertirán en defectos que hay que solventar, tanto a nivel funcional como a nivel de código.
 
¿Qué atributos encontramos en este tipo de pruebas?
  • Adaptabilidad: Determina qué tan flexible es el sistema hacia el cambio ambiental. Comprueba las dependencias de hardware, software y sistema y la compatibilidad de idiomas. Varios diseños de sistemas facilitan una transición suave. Sin embargo, a veces son rígidos y difíciles de mover. Por lo tanto, es importante evaluar si cumplen con el nuevo entorno.
  • Instalabilidad: Determina si el sistema de software se instala fácilmente en nuevos entornos o requiere muchos esfuerzos y cambios. Verifica si el sistema de software se puede implementar en el nuevo sistema operativo, hardware y cantidad de memoria disponible. Además, verifica los requisitos previos y el procedimiento de instalación en la nueva configuración.
  • Reemplazabilidad: La reemplazabilidad implica la característica de intercambiar un sistema o componente de software con otro que realiza el mismo conjunto de operaciones sin alterar la salida. Como sabemos, las actualizaciones y los reemplazos ocurren de vez en cuando. La reemplazabilidad ayuda a sustituir un componente por otro mejor o más avanzado.
  • Coexistencia: Como su nombre lo indica la coexistencia, es la presencia de dos o más sistemas juntos en un mismo entorno sin que se afecten negativamente entre sí. Los sistemas del mundo real son complejos y muchos subsistemas trabajan en conjunto para realizar funciones. La coexistencia es un atributo importante de los sistemas de software que ayuda a mantener la cordura y el rendimiento óptimo con todos los demás sistemas coexistentes.





Este tipo de pruebas nos permitirán ver si nuestro software tiene una instalación rápida, sencilla, correcta y funciona como debe en todos los sistemas que probemos y queramos englobar.
Para ello el uso de laboratorios es
imprescindible, porque podremos "virtualizar" de una manera rápida, una
gran cantidad de versiones para nuestro producto.
El uso de este tipo de pruebas tiene las siguientes ventajas:
  • Cuando el producto tiene una base de usuarios versátil que utiliza varios tipos de entornos.
  • Identifican problemas en los grandes sistemas de software que tienen varios subsistemas.
  • Comprueban los errores de la aplicación para que no se trasladen a otros entornos.
  • Las pruebas de portabilidad determinan si la aplicación se instala y se ajusta en otros entornos.
  • También establecen si la aplicación se desinstala limpiamente en diferentes entornos de destino.

Las pruebas de portabilidad verifican la idoneidad del producto en
diferentes entornos. No solo determinan si el producto se puede instalar o
desinstalar en el nuevo sistema, sino que también si funciona a la par en
todos los entornos. Por lo tanto, requieren una gran cantidad de
configuración del entorno de prueba, lo que implica altos presupuestos.
Por lo tanto, es aconsejable solo cuando la audiencia y los usuarios del
producto pretenden utilizarlo en diferentes entornos.

0 Comentarios