Facebook Twitter
alltechbites.com

Teste De Escalabilidade: 7 Etapas Para O Sucesso

Publicado em Dezembro 5, 2022 por Grant Tafreshi

Os sistemas que funcionam muito bem durante o desenvolvimento, implantados em pouca escala, podem deixar de atender às metas de desempenho quando a implantação for escalada em torno dos graus reais de uso.

Um caso exemplário apropriado disso se origina de uma empresa significativa de chips azuis que recentemente terceirizou o desenvolvimento de uma plataforma de alta tecnologia com visão de futuro. Embora o desenvolvimento estivesse atrasado, isso é considerado aceitável. A máquina passou gradualmente pelos componentes funcionais de um teste de aceitação individual e, finalmente, parecia que uma data de implantação poderia ser definida. Mas o fornecedor iniciou testes de carga e escalabilidade. Seguiu -se uma quantidade prolongada e dispendiosa de alterações e mudanças arquitetônicas nos requisitos da máquina. O fornecedor lutou heroicamente para fornecer um sistema satisfatório, até que finalmente o projeto foi marthball.

Este não é um caso isolado. O folclore é abundante com histórias semelhantes. Desde sistemas de despacho de ambulância a sites para o envio eletrônico de declarações de impostos, os sistemas falham porque escalam e experimentam picos de demandas. Todos esses projetos parecem nunca ter identificado e ordenado os principais riscos que enfrentaram. Este pode ser um estágio fundamental de teste baseado em risco e se aplica igualmente a testes de escalabilidade ou teste de carga, pois é o teste de funcionalidade ou o teste de continuidade de negócios. Sem avaliação de risco, eles não reconheceram que a escala era entre os maiores riscos, muito mais para que entregasse toda a funcionalidade

As tendências recentes em direção à arquitetura orientada a serviços (SOA) tentam abordar o problema da escalabilidade, mas também introduz novos problemas. A incorporação de serviços fornecidos externamente em sua solução atual implica que sua capacidade de escalar agora depende desses sistemas externos operando sob carga. Garantir que isso pode ser uma tarefa exigente e, infelizmente, o teste de tensão e o teste de estresse aqui é frequentemente esquecido.

A melhor prática seria iniciar o desenvolvimento de um sistema de software em grande escala usando seu desempenho claramente no coração, principalmente testes de escalabilidade, teste de volume e teste de carga. Para gerar esse foco de teste de desempenho:

  • Pesquise e quantifique os volumes de informações e os volumes de transações que o mercado de Mark implica. Alguns desses números podem ser abridores de olhos e ajudar os usuários de empresas a perceber toda a escala da máquina. Isso por si só pode resultar na reavaliação da prioridade de vários recursos.
  • Determine como os recursos poderiam ser apresentados aos usuários e à máquina estruturada para facilitar a escala da máquina. Normalmente, não tenta ter exatamente a mesma funcionalidade que você terá para uma solução individual de desktop do usuário, oferece uma alternativa escalável apropriada.
  • Reconheça uma área intrínseca do processo de desenvolvimento é o teste de carga em escala representativa em cada liberação incremental de software. Isso é um teste contínuo, concentrando -se no maior risco para o projeto: a oportunidade de operar em escala total.
  • Verifique se o teste de carga é adequado tanto no escopo quanto no rigor. O teste de carga não se trata apenas de medir os tempos de resposta com um teste de desempenho. O programa de teste de tensão deve incluir outros estilos de teste de carga, incluindo testes de tensão, teste de confiabilidade e teste de resistência.
  • Não se esqueça que as falhas ocorrerão. Os sistemas em grande escala geralmente incluem clusters de servidor com comportamento de falha. Teste de falha, teste de falha e teste de recuperação concluídos em sistemas de escala representativa que operam sob carga devem ser incluídos.
  • Não se esqueça de falha catastrófica. Para problemas em larga escala, o teste de desastres e os testes de recuperação de desastres devem ser concluídos em escala e cargas representativas. Essas atividades podem ser vistas como as camadas técnicas dos testes de continuidade de negócios.
  • Reconheça os serviços externos se você os estiver usando. O que sua localização está adotando uma abordagem de SOA e, portanto, são influenciados por serviços externos. Uma boa arquitetura do sistema inclui uma resposta graciosa e uma operação de queda se o comportamento externo do serviço se deteriorar ou falhar.
  • .