O que é Cloud Testing? Tutorial de teste de SaaS

Índice:

Anonim

Teste de nuvem

Cloud Testing é um tipo de teste de software no qual o aplicativo de software é testado usando serviços de computação em nuvem. O objetivo do teste de nuvem é testar o software para requisitos funcionais e não funcionais usando computação em nuvem, o que garante disponibilidade mais rápida com escalabilidade e flexibilidade para economizar tempo e custo para teste de software.

A computação em nuvem é uma plataforma baseada na Internet que fornece vários serviços de computação como hardware, software e outros serviços relacionados a computadores remotamente.

Existem basicamente três modelos de computação em nuvem:

  • SaaS - Software como serviço
  • PaaS - plataforma como serviço
  • IaaS - Infraestrutura como serviço

No tutorial, vamos aprender-

  • Tipo de teste na nuvem
  • Como fazer testes de nuvem
  • Casos de teste de exemplo para teste de nuvem
  • Desafios em testes de nuvem
  • Teste de nuvem vs. teste convencional

Tipo de teste na nuvem

Todo o teste de nuvem é segmentado em quatro categorias principais

  • Teste de toda a nuvem : A nuvem é vista como uma entidade completa e com base em seus recursos são realizados testes. Fornecedores de nuvem e SaaS, bem como usuários finais, estão interessados ​​em realizar este tipo de teste
  • Teste dentro de uma nuvem : Ao verificar cada um de seus recursos internos, o teste é realizado. Apenas fornecedores de nuvem podem realizar este tipo de teste
  • Teste na nuvem : o teste é realizado em diferentes tipos de nuvens privadas, públicas e híbridas semelhantes à nuvem
  • Teste de SaaS na nuvem : o teste funcional e não funcional é realizado com base nos requisitos do aplicativo

Teste SaaS

O Teste SaaS é um processo de teste de software no qual o aplicativo de software construído em um modelo de Software como Serviço é testado quanto aos requisitos funcionais e não funcionais. O objetivo dos testes de SaaS é garantir a qualidade testando a segurança dos dados, integridade, desempenho, compatibilidade e escalabilidade do aplicativo de software.

O teste de nuvem se concentra nos componentes principais, como

  1. Aplicação: cobre o teste de funções, fluxos de trabalho de negócios ponta a ponta, segurança de dados, compatibilidade de navegador, etc.
  2. Rede : inclui o teste de várias larguras de banda de rede, protocolos e transferência bem-sucedida de dados por meio de redes.
  3. Infraestrutura : cobre o teste de recuperação de desastres, backups, conexão segura e políticas de armazenamento. A infraestrutura precisa ser validada para conformidade regulamentar

Outros tipos de teste na nuvem incluem

  • Desempenho
  • Disponibilidade
  • Conformidade
  • Segurança
  • Escalabilidade
  • Múltiplos inquilinos
  • Teste de atualização ao vivo

Como fazer testes de nuvem

Tipos de teste de nuvem Tarefa realizada
  • SaaS ou teste orientado à nuvem:
Esse tipo de teste geralmente é realizado por fornecedores de nuvem ou SaaS. O objetivo principal é garantir a qualidade das funções do serviço prestado em uma nuvem ou em um programa SaaS. Os testes realizados neste ambiente são de integração, funcionalidade, segurança, validação da unidade, função do sistema e teste de regressão, bem como avaliação de desempenho e escalabilidade.
  • Teste de aplicativo baseado online em uma nuvem :
Os fornecedores de aplicativos online realizam este teste que verifica o desempenho e o teste funcional dos serviços baseados em nuvem. Quando os aplicativos são conectados a sistemas legados, a qualidade da conectividade entre o sistema legado e o aplicativo em teste em uma nuvem é validada.
  • Teste de aplicativos baseados em nuvem sobre nuvens :
Para verificar a qualidade de um aplicativo baseado em nuvem em diferentes nuvens, esse tipo de teste é executado.

Casos de teste de exemplo para teste de nuvem

Cenários de teste Caso de teste
Teste de performance
  • A falha devido a uma ação do usuário na nuvem não deve afetar o desempenho de outros usuários
  • O escalonamento manual ou automático não deve causar qualquer interrupção
  • Em todos os tipos de dispositivos, o desempenho do aplicativo deve permanecer o mesmo
  • O overbooking na extremidade do fornecedor não deve prejudicar o desempenho do aplicativo
Teste de Segurança
  • Um único cliente autorizado deve ter acesso aos dados
  • Os dados devem ser bem criptografados
  • Os dados devem ser excluídos completamente se não estiverem em uso por um cliente
  • Os dados devem ser acessíveis com criptografia insuficiente
  • A administração por parte dos fornecedores não deve acessar os dados dos clientes
  • Verifique as várias configurações de segurança, como firewall, VPN, antivírus, etc.
Teste funcional
  • A entrada válida deve fornecer os resultados esperados
  • O serviço deve se integrar adequadamente com outros aplicativos
  • Um sistema deve exibir o tipo de conta do cliente ao fazer o login com sucesso na nuvem
  • Quando um cliente opta por mudar para outros serviços, o serviço em execução deve fechar automaticamente
Teste de interoperabilidade e compatibilidade
  • Valide os requisitos de compatibilidade do aplicativo em sistema de teste
  • Verifique a compatibilidade do navegador em um ambiente de nuvem
  • Identifique o defeito que pode surgir durante a conexão com uma nuvem
  • Quaisquer dados incompletos na nuvem não devem ser transferidos
  • Verifique se o aplicativo funciona em uma plataforma diferente de nuvem
  • Teste o aplicativo no ambiente interno e implante-o em um ambiente de nuvem
Teste de rede
  • Protocolo de teste responsável pela conectividade em nuvem
  • Verifique a integridade dos dados durante a transferência de dados
  • Verifique a conectividade de rede adequada
  • Verifique se os pacotes estão sendo descartados por um firewall em qualquer um dos lados
Teste de carga e estresse
  • Verifique se há serviços quando vários usuários acessam os serviços em nuvem
  • Identificar o defeito responsável pela falha de hardware ou ambiente
  • Verifique se o sistema falha sob carga específica crescente
  • Verifique como um sistema muda ao longo do tempo sob uma certa carga

Desafios em testes de nuvem

Desafio nº 1: Segurança e privacidade de dados

Sendo os aplicativos em nuvem de natureza multilocatária, o risco de roubo de dados permanece sempre. Como estratégia de teste de nuvem, os usuários devem receber uma garantia dos fornecedores sobre a segurança de seus dados.

Desafio 2: Período de aviso prévio

O provedor de nuvem dá um curto período de aviso de (1-2 semanas) para os clientes existentes sobre atualizações. Este é um grande problema ao validar manualmente as mudanças em seu aplicativo SaaS.

Desafio nº 3: Validando a compatibilidade da interface

Com uma atualização no provedor de serviços em nuvem, às vezes a interface externa também é atualizada, o que é um desafio para alguns assinantes que estão acostumados com a interface mais antiga. Os assinantes da nuvem (SaaS) precisam garantir que os usuários possam escolher a versão da interface com a qual desejam trabalhar

Desafio nº 4: migração de dados

A migração de dados de um provedor de nuvem para outro é um grande desafio, pois ambos os provedores podem ter esquemas de banco de dados diferentes e requer muito esforço para entender os campos de dados, relacionamentos e como eles são mapeados no aplicativo SaaS

Desafio nº 5 : Integração de Aplicativos Corporativos

A integração de aplicativos corporativos requer a validação de integração de dados de dados de entrada e saída, da rede do cliente para o aplicativo SaaS e vice-versa. A privacidade de dados exige uma validação completa para garantir aos assinantes de SaaS a segurança e a privacidade dos dados.

Desafio nº 6 : Simular testes de atualização ao vivo

O maior desafio do teste de nuvem é garantir que as atualizações em tempo real não afetem os usuários de SaaS conectados existentes

Teste de nuvem vs. teste convencional

Parâmetros de teste Teste Convencional Teste de nuvem
Objetivo de teste primário
  • Verifique a interoperabilidade, compatibilidade, usabilidade.
  • Verifica a qualidade da função e desempenho do sistema com base nas especificações fornecidas
  • Verifica a qualidade de desempenho e funções de SaaS, Nuvens e aplicativos, aproveitando um ambiente de nuvem
Custos de teste
  • O custo permanece alto devido aos requisitos de hardware e software
  • Só tem que pagar pelas despesas operacionais. Pague apenas o que você usa.
Simulação de Teste
  • Dados de tráfego online simulados
  • Acesso de usuário online simulado
  • Simulação de dados de tráfego online
  • Simulação de acesso de usuário online
Teste funcional
  • Validando funções (unidade e sistema), bem como suas características
  • Testando a função de aplicativo ponta a ponta no SaaS ou na nuvem
Ambiente de Teste
  • Um ambiente de teste pré-fixado e configurado em um laboratório de teste
  • Um ambiente de teste público aberto com diversos recursos de computação
Teste de integração
  • Teste baseado em componente, arquitetura e função
  • Teste de integração baseado em SaaS
Teste de Segurança
  • Testando recursos de segurança com base em processo, servidor e privacidade
  • Testando recursos de segurança baseados em nuvem, SaaS e testes em tempo real na nuvem de fornecedores
Teste de desempenho e escalabilidade
  • Realizou um ambiente de teste fixo
  • Aplicar dados de teste online em tempo real e virtual