Post

1 Star2 Stars3 Stars4 Stars5 Stars

By Cintia Armesto
Recentemente, passamos por um problemão aqui com as nossas aplicações. Houve uma mudança na arquitetura e falhamente não efetuamos testes de stress antes de subir a versão. É obvio que assim que o site começou a ter muitos acessos ele começou a cair. Resultado: tivemos que fazer rollback de tudo, e como foi uma mudança de arquitetura isso implicou em substituição de servidores, que embora sejam virtualizados, ainda não é rapida assim a sua substuição, deixando o site por algumas horas fora.Isso gerou um grande stress para o negócio e sabemos claramente que houveram falhas tanto na área de dev como na área de infra. O importante é o que aprendemos com erros e o que fazemos para que eles não se repitam. Nesse caso fizemos um acerto com a infra, e ao invés de fazer várias mudanças na arquitetura fizemos apenas uma das alterações e aplicamos a versão para minimizar os locais de erro.Após estudamos uma estratégia de testes de stress e junto com a equipe de Web Analitcs verificamos qual seria a quantidade de acessos simultâneos para testar a estabilidade. Como responsável pelos testes preparei scripts no Jmetter para testar isso, e após scripts e usuários configurados no Jmetter colocamos a rodar. Resultado: derrubamos os sites(em homologação é claro). Após vários ajustes de arquitetura, conseguimos estabilizar o ambiente e só com uma grande quantidade de acessos é que derrubamos o site, quantidade essa que não se replica em número de acessos em produção. Se você está pensando em verificar a estabilidade do seu software vamos as seguintes dicas:1) Conheça bem a arquitetura do seu sistema, isso vai ajudar muito a você determinar o quanto seu teste é válido. Por exemplo aqui nós temos balanceamento e um stick, ou seja sempre que eu realizava testes com o Jmetter na minha máquina estava sobrecarregando somente um dos servers, pois quando eu caia no balancer ele reconhecia meu IP e me mandava sempre para o mesmo server. Para resolver isso forçamos junto com a infra que a minha máquina caisse em um servidor e a máquina de outro colega caisse em outro server, e dividimos as conexões.2) Se você não é o gerenciador do ambiente, mantenha contato com eles para juntos avaliarem a melhor forma de stressar seu ambiente.3) Escolha a ferramenta certa para testar seu software.4) Estude a ferramente e como você irá conseguir tirar melhor proveito dela para seu teste.5) Não esqueça de incluir este tempo na sua preparação do teste e que para que esse teste tenha sucesso, você deve garantir que os outros atributos de qualidade sejam garantidos: * Seu software precisa estar funcional!* Seu software precisa ser confiavel! * Seu software precisa ser usável! * Seu software precisa ser eficaz!* Seu software precisa ser manutenivel!* Seu software precisa ser portável!6) Use os principios da agilidade e sempre entregue valor ao seu cliente!Quer saber mais sobre Jmetter? Acompanhe meu próximo post.

Source: http://guriatech.blogspot.com/2013/04/provando-estabilidade-do-seu-software.html

Category: automação;TESTES AUTOMATIZADOS; testes de stress;Guts; guts-rs; testes; testes de software;, Testes funcionais

Você também pode querer ler

Comments are off for this post.