Seguramente habremos leído sobre el Cloud Testing pero, probablemente, muchos de nosotros no lo estemos poniendo en práctica, ya que es una decisión de la empresa contar con este tipo de infraestructura habiendo entendido y evaluado antes, los pro y los contra relacionados. En este artículo y en los próximos que escribiré, trataré de ir acercando contenido que sirva para comprender de qué se trata todo ésto, y estar así actualizados.
La mayor parte del contenido aquí expuesto, fue extraído y traducido del sitio web software testing help, agregándole algunas presentaciones que entendí servirían para comprender aún más el tema.
Para comprender el concepto del «cloud testing», necesitaremos conocer primero el concepto del «cloud computing», y así comenzar a hacernos una idea del alcance que tienen las «pruebas en la nube» y los desafíos que ésto representa.
Para quienes están alejados del tema, seguramente que tendrán muchas preguntas. Vayamos analizando el tema de a poco entonces.
Introducción al «Cloud Computing» ¿Computación en la Nube?
Hace algunos años conocimos el término «virtualización», y así fue como entendimos el concepto de compartir los recursos informáticos a través de múltiples sistemas operativos para reducir los costos de capital, aumentar la escalabilidad y permitir una fácil administración de la infraestructura de IT, convirtiéndose de esta manera en la columna vertebral de varias empresas.
Con el avance tecnológico, el concepto de «virtualización» ha evolucionado y llevado al concepto de «cloud computing» (computación en la nube), imaginándonos como un modelo en donde se lo considera «como un servicio», es decir, una solución total e integral que se entrega en forma de servicio. O sea, que este servicio intercambia recursos mediante la asignación y disponibilidad a partir de las demandas que se van recibiendo.
Un ejemplo de la vida real para explicar el Cloud Computing
Se puede entender conceptual al tema, tomando como ejemplo una comida en un restaurante.
Consideremos el siguiente planteo: Cuál es la diferencia de tener una comida en casa frente a tenerla en un restaurante?
Considerando el momento del día en el que leas este artículo 🙂 la realidad indicará que nuestra respuesta estará por el lado de consumirla, sin embargo el enfoque o modelo en ambos casos puede variar mucho. Dependiendo del punto de vista, …. como todo!
Vayamos al punto.
Si estamos en nuestra casa, nos debemos asegurar de varias cuestiones: saber cuáles son los ingredientes necesarios para hacer la comida, contar con dichos ingredientes, saber el momento en el que debemos ir a comprar alguno de ellos para reponerlos y seguir teniendo la cantidad mínima necesaria para las próximas comidas que pudiera hacer y que requieran de los mismos, saber cómo preparar la comida, saber cómo cocinarla, y luego, tener la responsabilidad de conservarla adecuadamente, ya sea que se consuma inmediatamente o más tarde por uno mismo o que lo hagan otros.
Si estamos en un restaurante, tener una comida se puede entender como tener / ofrecer un servicio. En este caso, si actuáramos como clientes, nuestra única preocupación/obligación es pagar por el servicio de atención, que me den de comer y me sirvan bien. No somos responsables de nada más. Diferente es para el restaurante, donde su responsabilidad es la de contar con los ingredientes, preparar y cocinar el plato, presentarlo y servirlo, además de la limpieza y administración del área de comida y de la cocina, con todo lo que eso conlleva: gestión de recursos (humanos y no humanos), gestión de proveedores, gestión de los productos, y otros.
Diferentes puntos de vista, no les parece?
Este ejemplo nos lleva a comprender el concepto del «cloud computing», pudiendo entender ahora mejor los siguientes puntos:
- On demand availability
- As a service
- Pay for the usage
es decir,
Disponibilidad de la demanda
Como un servicio
Pagar por el uso
Modelos de prestación de la nube
SaaS
Software as a Service
- CRM
- Collaborative
- ERP
> Consume
PaaS
Platform as a Service
- Application Development
- Decision Support
- Web
- Streaming
> Build on it
IaaS
Infrastructure as a Service
- Caching
- Legacy
- File
- Networking
- Technical
- Security
- System Mgmt
> Migrate to it
La nube tiene principalmente tres tipos de modelos de entrega que proporcionan capacidades de ofrecerse «como un servicio»:
Infraestructura como Servicio (IaaS):
Esta es la capa más importante que constituye la piedra angular de la nube.
Se compone principalmente de los recursos físicos, tales como almacenamiento, dispositivos de red, servidores de cómputo, etc. Por el uso de todos estos recursos
informáticos disponibles, el usuario paga.
Plataforma como servicio (PaaS):
La capa central en la nube es la plataforma.
Aquí no hay control sobre la infraestructura subyacente, pero se puede acceder a las aplicaciones implementadas.
Por lo tanto esto proporciona todo el entorno necesario para las ejecuciones que se demanden, desde entornos de desarrollo o de prueba.
Software como servicio (SaaS):
La capa superior es aquí la capa de aplicación, que generalmente es visible para cualquier usuario.
Aquí, tanto aplicaciones como productos están disponibles para la demanda del usuario.
Por lo tanto, en lugar de tener que adquirir licencias, con este servicio nos aseguramos de que la licencia está siempre en uso.
Nos despreocupamos del tema. Solo pagamos!
Cloud Testing – Nuestra necesidad
Las pruebas en la nube refieren a las pruebas haciendo uso de los recursos tales como hardware , software, etc. que están disponibles bajo demanda.
Incluso las pruebas aquí se pueden ver bajo el modelo «como un servicio» .
Aquí es necesario asegurarse que el servicio (producto ) no sólo cumpla con sus requisitos funcionales, sino también con los requisitos no funcionales.
Tipos de nube
Tenemos las denominadas:
- públicas
- privadas
- híbridas
Las nubes públicas están disponibles para todo el mundo, y por medio de las cuales se asignan y se aprovisionan de forma dinámica los recursos para dar servicios y
atender las demandas.
Las nubes privadas son administrados generalmente dentro de las reglas del firewall de una organización en particular y sólo están disponibles para los usuarios que
pertenezcan a la misma.
Las nubes híbridas son una mezcla de nubes públicas y privadas. Las organizaciones pueden decidir cuáles son los servicios que quieren exponer a todo el mundo.
Cloud Testing
Agenda
- Cloud Basics
- Testing Cloud based applications
- Test Approach
- Test Automation
- Test Environments
¿Podrías darme tu opinión respecto al artículo? ¿Tienes experiencia sobre el tema?
Fuente de inspiración: http://www.softwaretestinghelp.com/