BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Migrando testes para a nuvem com Cloud Testing

Migrando testes para a nuvem com Cloud Testing

O Cloud Testing é uma abordagem de testes que tira o máximo proveito das tecnologias de Cloud Computing. A técnica permite diminuir o tempo gasto na execução dos testes e simular um nível de tráfego realista para as aplicações. Além disso, possibilita que os próprios testes sejam escaláveis, a fim de atender às grandes demandas de aplicações web de alto tráfego.

Em seu blog, Matt Heusser menciona que laboratórios de testes já foram comuns no mercado:

Os laboratórios ocupavam centenas de metros quadrados e dezenas de computadores. Cada máquina tinha combinações diferentes de softwares; e era necessário instalar, testar, e depois reconfigurar a máquina para o próximo teste.

Hoje o cenário é completamente diferente. Com a ajuda de ferramentas como o VMwareFusion e muitas outras, é possível executar várias combinações de software na mesma máquina e dessa forma executar múltiplas instâncias do servidor no mesmo hardware. Com isso, a criação do ambiente de testes pode ser feita com a simples execução de uma linha de comando. A fim de reduzir o tempo necessário para a execução dos testes, Matt recomenda o uso da computação distribuída:

Imagine poder dividir sua suíte de testes em dezenas de testes e executá-los em dezenas de computadores, com cada um rodando um teste, retornando os resultados e seguindo para outro teste. Se for atingido o máximo suportado em uma ferramenta de virtualização, pode-se alugar o espaço de um provedor de cloud computing, pagando centavos por hora de processador. Assim, a execução da suíte inteira levaria apenas o tempo de execução do seu teste mais longo.

Utilizando abordagens como automação de testes orientada por modelos, seria possível executar vários cenários paralelamente em um curto período de tempo.

Jim Ensell escreveu que a a computação em nuvem tem exercido impacto positivo no desenvolvimento Ágil. De acordo com Jim:

Desenvolvedores e equipes de garantia de qualidade (QA) podem alocar continuamente recursos na nuvem para executar testes multiplataforma, testes unitários e testes funcionais em paralelo, bem como realizar testes de carga eficazes. Esses são tipos de carga que melhor se aproveitam da utilização de nuvens públicas, pois tendem a utilizar recursos computacionais em rajadas, ou seja, apresentam grande variação de demanda ​​ao longo do tempo. Além disso, o modelo de preços "pague pelo uso" funciona muito bem para esse tipo de uso dos recursos da nuvem.

Em um artigo no site DevCentral, foi mencionado que os requisitos atuais de escalabilidade de aplicações web precisam ser testados em uma infraestrutura de testes com tamanho semelhante e que, lançando mão do cloud computing, uma empresa pode evitar os custos proibitivos de criação desse tipo de infraestrutura: 

A escalabilidade automática para aplicações pode ser aproveitada também em testes na internet. Será necessário apenas um cliente gerador de carga capaz de ser executado na nuvem, alguns ambientes de computação em nuvem, e uma maneira de controlar esses clientes distribuídos de tal forma que sua aplicação e infraestrutura sejam levados aos limites pretendidos. 

A migração dos testes para a nuvem, no entanto, traz também algumas preocupações.

De acordo com Matt Heusser, profissionais de testes e a equipe de desenvolvimento precisam se questionar sobre o que acontecerá se a nuvem falhar. E devem se preocupar com outras questões importantes, incluindo estratégias de backup e de recuperação, além de planos para recuperar-se de uma eventual perda de dados de testes. 

Apesar de apresentar alguns desafios, a computação em nuvem oferece uma plataforma poderosa para a realização de testes. A questão principal é identificar as reais necessidades dos testes e desenvolver uma estratégia que faça uso eficiente dos recursos disponíveis na nuvem, aproveitando o baixo custo destas soluções.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT