Foco em cloud computing: O processo de testes de software para a migração das aplicações para a nuvem

Cloud Computing é uma tecnologia que já está muito bem consolidada, sua tendência é de uma adesão cada vez maior entre as empresas e de uma natural evolução. Além da pioneira Amazon, temos a Microsoft e a Google como nuvens concorrentes e com bastante destaque.

Junto a esse desenvolvimento, o número de migrações e a adoção da nuvem tem crescido de forma expressiva, essa tecnologia venceu as barreiras criada pelas empresas para utilizar todo o potencial apresentado pelas empresas fornecedoras de Cloud Computing. A segurança, por exemplo, era uma delas.

Associada a computação em nuvem e as soluções em software criadas em função desta nova arquitetura, os testes de software passaram a ter uma importância ainda maior no processo de desenvolvimento. Novas prioridades e estratégias passaram a ser adotadas para garantir a qualidade dos produtos desenvolvidos e hospedados nessa imensidão de nuvens de tecnologia.   

Técnicas de teste aplicadas ao Cloud Computing

Durante muito tempo o carro chefe que justificava a adoção da computação em nuvem era a redução de custos, ainda hoje tem um grande destaque, mas o potencial estratégico e tecnológico tem se tornado fundamental para as empresas. A realidade mostra que novos negócios têm sido lançados já adotando o Cloud Computing como parte da arquitetura de tecnologia.

E para o processo de testes de software, o que muda com o uso desta nova arquitetura? Que tipo de técnicas serão aplicadas para garantir a qualidade dos softwares, aplicativos e até mesmo as novas tecnologias que têm surgido a partir da nuvem?

Dois pontos são destacados e que são prioritários no que se refere aos testes de software: integração e segurança. Junto com a nuvem, as empresas como a AWS, tem fornecido um grande número de recursos relacionado a infraestrutura e ferramentas que garantem a alta disponibilidade das soluções que estão ali hospedadas. 

Por isso realizar testes de integração, em especial entre soluções e infraestrutura, são fundamentais dentro da estratégia de testes, um bom estudo sobre a arquitetura utilizada na nuvem vai ser determinante para definir como serão realizados os testes.

Um bom exemplo desta integração, consiste em mesclar técnicas de testes diferentes, como vimos anteriormente, a alta disponibilidade é um dos objetivos do Cloud Computing, por isso, muitas vezes serão necessários utilizar testes de performance ou de stress para verificar se recursos como balanceamento de carga, escalabilidade de servidores e recuperação de desastres estão sendo aplicados corretamente e se a solução hospedada tem o comportamento adequado.

Perceba que neste momento o objetivo não é verificar a capacidade do software em relação a performance e número de acessos, claro que isso também fará parte da estratégia de testes, mas o objetivo será verificar a integração entre nuvem e solução.

Segurança tem bastante destaque quando falamos em nuvem, durante muito tempo as empresas tinham bastante preocupação com este quesito, antes de decidir por migrar ou adotar a tecnologia. Mas um excelente trabalho foi feito, com ferramentas, processos e adoção de normas de segurança, os provedores têm feito a parte deles em garantir a segurança do dados. Ma é preciso fazer a mesma coisa do lado das soluções.

Testes de segurança e conformidade devem ser realizados constantemente, o uso da Internet como canal de comunicação entre as empresa e tecnologia da nuvem, a busca por brechas de segurança se tornou alvo de hackers e curiosos, e portanto, prioridade na aplicação desta estratégia.   

Performance e stress devem fazer parte da estratégia de testes, com bastante prioridade, e além das demais técnicas que sempre utilizamos para validar uma solução.        

Quais são as ferramentas de testes a serem usadas?

Ferramentas de automação e performance se tornam cada vez mais necessárias neste processo de testes, o lado bom que atualmente temos a disposição um bom número de recursos gratuitos como Selenium, JMeter, entre outra opções que ajudam bastante em desenvolver os testes necessários para validar a nuvem.

Vale destacar também, o conhecimento das ferramentas que fazem parte das soluções de Cloud Computing, elas servem para verificarmos as integrações, performance, log de erros, falhas de segurança, etc. Aliada a isso temos a capacidade analítica a ser desenvolvida pelos testadores quanto ao resultado dos testes executados.   

Aplicativos & APIs

Por final, mas de forma bem superficial, porque vale um artigo dedicado a este assunto, a preocupação em realizar testes de software quando são desenvolvidos aplicativos mobile ou com relação a IoT, Big Data, alto desempenho, mídia digital, etc.

E também, ressaltando a importância dos testes, quando estamos realizando a integração entre softwares (terceiros), e entre a infraestrutura de nuvem via API. Estratégias e cenários de testes precisam ser dedicados para garantir esta associação de tecnologias.

Em relação aos testes, muita coisa precisa ser pensada e desenvolvida, a nuvem levou a disciplina de testes a uma evolução que acompanha constantemente essa tecnologia e que precisa ser integrada a equipe de testes.

Continue nos seguindo em nosso blog e na redes sociais, até a próxima.   

 

About Contentools