Teste De Escalabilidade: 7 Etapas Para O Sucesso
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: