volume testing tutorial
Visão geral do teste de volume:
A imagem abaixo se correlaciona com nossos aplicativos de uma forma ou de outra? Sim, é exatamente isso que acontece quando sobrecarregamos nossos servidores, bancos de dados, serviços da web, etc.
Todos nós devemos estar cientes dos testes funcionais e não funcionais, mas você está ciente do fato de que os testes não funcionais são tão importantes quanto os testes funcionais? Às vezes, em versões de curta duração, tendemos a ignorar esse teste não funcional, o que idealmente não deveríamos.
Não deve importar para nós se o product owner deu esse requisito ou não. Devemos considerar este teste como parte de nosso processo de teste completo, mesmo para pequenas versões.
Este tutorial sobre Teste de Volume oferece uma visão geral completa de seu significado, necessidade, importância, lista de verificação e algumas de suas ferramentas para permitir que você entenda melhor.
O que você aprenderá:
- O que é teste de volume?
- Quando este teste é obrigatório?
- Por que devo buscar o teste de volume?
- Qual é a minha lista de verificação para este teste?
- Teste de volume versus teste de carga
- Como realizar este teste?
- Ferramentas de teste de volume
- Conclusão
- Leitura recomendada
O que é teste de volume?
O Teste de Volume é um tipo de teste não funcional. Esse teste é feito para verificar o volume de dados manipulado pelo banco de dados. O teste de volume, também chamado de teste de inundação, é um teste não funcional que é feito para verificar o software ou aplicativo quanto ao seu desempenho em relação aos dados enormes do banco de dados.
O banco de dados é estendido até um ponto limite, adicionando uma grande quantidade de dados a ele e, em seguida, o sistema é testado para sua resposta.
Esta foi a parte teórica, deixe-me explicar alguns exemplos práticos para ajudá-lo a entender o 'quando' parte do teste de volume.
Quando este teste é obrigatório?
O ideal é que todo software ou aplicativo seja testado quanto ao volume de dados, mas em alguns casos em que os dados não são pesados, tendemos a evitar esse teste. Mas, em alguns casos em que os dados são tratados em MBs ou GBs diariamente, então, definitivamente, o teste de volume deve ser executado.
A seguir estão alguns exemplos de minha própria experiência de 8 anos que explicam a parte 'quando':
Exemplo 1:
Um dos meus empreendimentos foi um grande sistema composto por um aplicativo da web e um aplicativo móvel. Mas o aplicativo da web em si tinha 3 módulos gerenciados por 3 equipes diferentes.
Às vezes, mesmo conosco, o banco de dados costumava ficar lento quando todos 'juntos' adicionávamos dados para nossos testes. Era irritante e o trabalho costumava ser dificultado por causa do grande volume de dados e para facilitar o trabalho tínhamos que limpar o banco de dados com bastante frequência.
Os dados que o sistema 'ao vivo' manipulava eram em torno de um GB, portanto, quando comparado ao aplicativo móvel, o aplicativo da web era testado com muita frequência quanto ao volume de dados. As equipes de QA do aplicativo da web tinham seus próprios scripts de automação que eram executados à noite e realizavam esse teste.
Exemplo 2:
Outro exemplo do meu empreendimento foi um ecossistema que não só tinha um aplicativo da web, mas também um aplicativo do SharePoint e até um instalador. Todos esses sistemas estavam se comunicando com o mesmo banco de dados para transferência de dados. Os dados tratados por aquele sistema também eram muito grandes e se por algum motivo o DB ficar lento até o instalador pararia de funcionar.
Conseqüentemente, o teste de volume foi feito regularmente e o desempenho do DB foi observado minuciosamente para quaisquer problemas.
Similarmente, nós podemos pegarExemplosde alguns aplicativos que usamos diariamente para fazer compras, reservar passagens, transações financeiras, etc. que lidam com transações de dados pesadas e, portanto, precisam de um teste de volume.
Do lado da inversão, um teste de volume ideal nem sempre pode ser alcançado, pois tem suas próprias limitações e desafios.
Algumas de suas limitações e desafios incluem:
- É difícil criar a fragmentação exata da memória.
- A geração dinâmica de chaves é complicada.
- Criar um ambiente real ideal, ou seja, a réplica do servidor ativo pode ser complicado.
- Ferramentas de automação, rede, etc., também afetam os resultados do teste.
Agora, nós entendemos quando precisamos fazer esse tipo de teste. Vamos entender também 'porque' devemos fazer esse teste como no objetivo ou objetivo de realizar esse teste.
Por que devo buscar o teste de volume?
O teste de volume pode ajudá-lo a entender como o seu sistema se adapta ao mundo real e também ajuda a economizar seu dinheiro, que mais tarde será gasto para fins de manutenção.
A seguir estão alguns motivos possíveis para realizar este teste:
- A necessidade mais básica é analisar o desempenho do seu sistema em relação ao aumento de dados. Criar um grande volume de dados o ajudará a entender o desempenho do seu sistema em termos de tempo de resposta, perda de dados, etc.
- Identifique os problemas que ocorrerão com dados enormes e o ponto limite.
- Além do ponto de limiar ou sustentável, o comportamento do sistema, ou seja, se o banco de dados travar, torna-se irresponsivo ou atinge o tempo limite.
- Implementando soluções para sobrecarga de BD e até mesmo verificando-as.
- Descobrir o ponto extremo do seu banco de dados (que não pode ser corrigido) além do qual o sistema irá falhar e, portanto, é necessário tomar precauções.
- No caso de mais de um servidor de banco de dados, descobrir os problemas de comunicação do banco de dados, ou seja, os mais propensos a falhas deles, etc.
Agora sabemos a importância e o motivo para realizar esse teste.
OU Uma experiência que gostaria de compartilhar aqui é que em termos de aplicativos móveis, o teste de volume pode não ser necessário porque apenas uma pessoa usa o aplicativo por vez e os aplicativos móveis são projetados para serem simples .
Portanto, a menos que você tenha um aplicativo muito complexo com muito envolvimento de dados, o teste de volume pode ser ignorado.
Depois de saber o que deve ser verificado para seu sistema ou aplicativo, a próxima coisa a fazer é fazer uma lista de verificação para seu aplicativo definir 'o que' precisa ser testado.
Qual é a minha lista de verificação para este teste?
Antes de entrar em alguns exemplos para a criação de uma lista de verificação para seu aplicativo ou sistema, vamos primeiro entender algumas dicas para manter em mente ao criar uma lista de verificação para teste de volume ou a abordagem antes de iniciar o teste.
Pontos a serem lembrados:
- Mantenha os desenvolvedores informados sobre seu plano de teste, porque eles sabem muito sobre o sistema e podem fornecer informações e até mesmo gargalos.
- Entenda bem o aspecto físico, como as configurações do servidor, RAM, processador, etc., antes de formular estratégias para o teste.
- Compreenda as complexidades do banco de dados, os procedimentos, os scripts do banco de dados, etc, na medida do possível, para que você possa descrever a complexidade do seu sistema como um todo.
- Prepare informática, ou seja, gráficos, folha de dados, etc., se possível para o volume normal de dados e quão bem está o sistema, isso o ajudará a se certificar de que antes de estressar o banco de dados, o desempenho está bom para o carregamento normal de dados. Isso também o ajudará a garantir, antes de passar para a parte estressante, que não haja problemas que exijam uma correção para o seu teste de volume.
A seguir estão alguns exemplos que você pode adicionar ou usar em sua lista de verificação:
- Verifique a exatidão dos métodos de armazenamento de dados.
- Verifique se o sistema possui os recursos de memória necessários ou não.
- Verifique se há risco de volume de dados maior que um limite especificado.
- Verifique e observe a resposta do sistema ao volume de dados.
- Verifique se os dados estão sendo perdidos durante o teste de volume.
- Verifique se se os dados forem sobrescritos, isso é feito com informações anteriores.
- Identifique as áreas que se estendem além da faixa normal, como muitos atributos (pesquisáveis), enorme não. de tabelas de pesquisa, muitos mapeamentos de localização, etc.
- Conforme mencionado anteriormente, crie uma linha de base primeiro obtendo resultados para o volume normal e, em seguida, prossiga com o estresse.
Antes de passarmos para outros exemplos, casos de teste e ferramentas, vamos primeiro entender como esse teste difere do teste de carga.
Teste de volume versus teste de carga
A seguir estão algumas das principais diferenças entre os testes de volume e carga:
S.No. | Teste de Volume | Teste de carga |
---|---|---|
1 | O teste de volume é feito para verificar o desempenho do banco de dados em relação a um grande volume de dados no banco de dados. | O teste de carga é feito alterando as cargas do usuário para os recursos e verificando o desempenho dos recursos. |
dois | O foco principal deste teste está nos 'dados'. | O foco principal deste teste está nos 'usuários'. |
3 | O banco de dados é sobrecarregado ao limite máximo. | O servidor é estressado ao limite máximo. |
4 | Um exemplo simples pode ser a criação de um arquivo enorme. | Um exemplo simples pode ser a criação de um grande número de arquivos. |
Como realizar este teste?
Este teste pode ser feito manualmente ou usando qualquer ferramenta. Em geral, o uso de ferramentas vai economizar nosso tempo e esforços, mas no caso de teste de volume, de acordo com minha experiência o uso de ferramentas pode fornecer resultados mais precisos em comparação com o teste manual.
Antes de iniciar a execução do caso de teste, certifique-se de que:
- A equipe concordou com o plano de teste para este teste.
- Outras equipes de seu projeto estão bem informadas sobre as mudanças no banco de dados e seu impacto em seu trabalho.
- Os testbeds são definidos para as configurações especificadas.
- A linha de base para o teste está preparada.
- Os volumes de dados específicos para teste (scripts de dados ou procedimentos, etc.) estão prontos. Você pode ler sobre ferramentas de criação de dados em nossa página de geração de dados.
Vejamos alguns casos de teste de amostra que você pode usar na execução:
Verifique isso para todos os volumes de dados selecionados para teste de volume:
- Verifique se a adição de dados pode ser feita com sucesso e se reflete no aplicativo ou site.
- Verifique se a exclusão de dados pode ser feita com sucesso e se reflete no aplicativo ou site.
- Verifique se a atualização dos dados pode ser feita com sucesso e se reflete no aplicativo ou site.
- Verifique se não há perda de dados e se todas as informações são exibidas conforme o esperado no aplicativo ou site.
- Verifique se o aplicativo ou as páginas da web não estão expirando devido ao alto volume de dados.
- Verifique se os erros de travamento não são mostrados devido ao alto volume de dados.
- Verifique se os dados não são substituídos e se os avisos adequados são exibidos.
- Verifique se outros módulos do seu site ou aplicativo não estão travando ou expirando com alto volume de dados.
- Verifique se o tempo de resposta do banco de dados está dentro da faixa aceitável.
Ferramentas de teste de volume
Conforme discutido anteriormente, os testes de automação economizam tempo e até fornecem resultados precisos quando comparados aos testes manuais. Outro benefício de usar ferramentas para teste de volume é que podemos executar os testes à noite e dessa forma o trabalho das outras equipes ou membros da equipe não será afetado pelo volume de dados do banco de dados.
Podemos agendar os exames pela manhã e os resultados estarão prontos.
A seguir está uma lista de algumas ferramentas de teste de volume de código aberto:
# 1) DbFit:
Esta é uma ferramenta de código aberto que oferece suporte ao desenvolvimento orientado a testes.
DbFit A estrutura de teste é escrita em cima do Fitness, os testes são escritos usando tabelas e podem ser executados usando qualquer IDE Java ou ferramenta CI.
# 2) HammerDb:
HammerDb também é uma ferramenta de código aberto que pode ser automatizada, multi-threaded e até permite o script de tempo de execução. Pode funcionar com SQL, Oracle, MYSQL etc.
# 3) JdbcSlim:
JdbcSlim Os comandos podem ser facilmente integrados ao Slim Fitness e suporta todos os bancos de dados que possuem um driver JDBC. O foco é manter a configuração, os dados de teste e as consultas SQL separadamente.
# 4) NoSQLMap:
Esta é uma ferramenta Python de código aberto projetada para injetar ataques automaticamente e interromper as configurações do banco de dados para analisar a ameaça. Funciona apenas para MongoDB.
# 5) Especificação Ruby-PLSQL:
O PLSQL pode ser testado em unidades usando Ruby, pois o Oracle está disponível como uma ferramenta de código aberto. Esta usa basicamente duas bibliotecas: Ruby-PLSQL e Rspec.
Conclusão
O teste de volume é um teste não funcional feito para analisar o desempenho do banco de dados. Isso pode ser feito manualmente ou com a ajuda de algumas ferramentas.
Se você for um QA que não conhece esses testes, sugiro brincar com a ferramenta ou executar alguns casos de teste primeiro. Isso o ajudará a entender o conceito de teste de volume antes de iniciar o teste.
autenticação necessária nome de usuário e senha do roteador
Este teste é bastante complicado e tem seus próprios desafios, portanto, é muito importante ter um conhecimento completo do conceito, da criação do testbed e da linguagem do banco de dados antes de executá-lo.
Espero que este tutorial tenha aumentado seu volume de conhecimento neste tópico :)
Leitura recomendada
- Melhores ferramentas de teste de software 2021 [QA Test Automation Tools]
- Tutorial de Teste Pairwise ou Teste All-Pairs com ferramentas e exemplos
- Teste Funcional Vs Teste Não Funcional
- Tutorial de teste de configuração com exemplos
- Download do e-book do Testing Primer
- Tutorial de teste destrutivo e teste não destrutivo
- 11 melhores ferramentas de automação para testar aplicativos Android (Android App Testing Tools)
- Melhores ferramentas de teste IVR: Tutorial de teste CYARA e HAMMER