Caso de projeto de teste de desempenho

1. Introdução e implantação do projeto

1.1 Introdução às funções do micro shopping

O light mall é um projeto de e-commerce, sendo necessário avaliar de forma abrangente as funções de cada interface de cada projeto e dar sugestões de otimização;

estrutura funcional

  • Recepção: página inicial, detalhes da página do produto, adicionar ao carrinho de compras, pedido, pagamento, compra em grupo, cupom;
  • Bastidores: gerenciamento de produtos, gerenciamento de membros, gerenciamento de shopping

1.2 Introdução técnica ao projeto light mall

Front-end (parte visível – HTML, implementação da tecnologia JS):

  • Miniaplicativo WeChat
  • página da Internet

Backend (a parte invisível - JAVA é implementada através do código da tecnologia backend):

  • Servidor (servidor de aplicativos, servidor de banco de dados, código de lógica de negócios em segundo plano)

1) Light Mall é um projeto que suporta a separação front-end e back-end de miniprogramas da web e WeChat.

  • A separação entre front-end e back-end pode ser entendida como a separação do sistema front-end e do back-end em dois subprojetos de desenvolvimento:
  • O desempenho externo é: depois que o front-end do projeto de separação front-end e back-end envia uma solicitação, o conteúdo da resposta é uma string json;
  • Se for um projeto onde o front e o backend não estão separados, a resposta é uma página HTML

Em comparação com projetos que não separam front-ends e back-ends, projetos com front-ends e back-ends têm
alta eficiência operacional : apenas dados básicos precisam ser transmitidos durante a transmissão de dados, e o formato html não precisa ser transmitido;
boa escalabilidade : front-end e back-ends são separados por meio da interface de dados, desde que a desculpa não seja Mudança, o código front-end pode adicionar quaisquer funções que você deseja adicionar, e o código back-end também pode adicionar funções de forma independente. Se o front-end e back-end são acoplados, adicionar funções requer que o front-end e o front-end trabalhem juntos.

2) O front-end é desenvolvido usando a estrutura de tecnologia VUE, que suporta miniaplicativos WeChat, terminais móveis e páginas da web.

3) O backend usa o framework SpringBoot para desenvolvimento e MySql como banco de dados.

4) Atualmente ainda em fase de desenvolvimento e melhoria

1.3 Arquitetura técnica do projeto do micro shopping

Diagrama de arquitetura técnica:


1.4 Familiarizado com design de banco de dados

Antes do teste de desempenho, você precisa ter um certo entendimento das tabelas de banco de dados envolvidas em algumas das funções de negócios a serem testadas;

1) Estar familiarizado com a estrutura de design do banco de dados para facilitar o monitoramento posterior do desempenho do banco de dados;

2) Durante o processo de teste de desempenho, o banco de dados está sujeito a gargalos;

1.5 Processo de implantação do projeto de micro shopping

Preparação:

Instale o JDK

InstalarMySQL

Instale o nginx

Instale o node.js

Etapas de construção do projeto:

Processo de implantação do projeto:

2. Análise de requisitos de teste de desempenho

  • Teste funcional: foco nas funções de negócio nas especificações de requisitos (forward e reverse)
  • Teste de desempenho: concentre-se em quão bem o sistema atende a cenários específicos de requisitos de negócios (tempo, recursos)
    • Dimensões de preocupação: funções de negócios, código do projeto, servidores, configuração de hardware

2.1 Obtenção de requisitos de desempenho

1) Proposto pelo cliente (o cliente pode ser a Parte A ou o produto)

  • O software que pode apresentar requisitos claramente é geralmente software da indústria relacionado a finanças, bancos, telecomunicações e assistência médica.
  • Mesmo que se trate de uma exigência apresentada por um cliente, é necessária uma avaliação preliminar da razoabilidade da exigência.

2) Com base na análise de dados históricos (calcular os indicadores de desempenho que devem ser alcançados com base nos dados operacionais durante a operação do software)

  • Atividade diária - avaliação preliminar da carga estável
  • Pico - avaliação preliminar de cargas de pressão

2.2 Extração de novos pontos de teste de energia

Regras de extração de pontos de teste de desempenho:


Extração de ponto de teste de desempenho de shopping leve:

  • 1) De acordo com as regras de extração dos pontos de teste de desempenho e combinadas com as funções do projeto light mall, separar os pontos de teste a serem testados;
  • 2) Obter os indicadores de desempenho que cada ponto de teste deve atender usando o método de obtenção de indicadores de desempenho explicado anteriormente (cálculo de dados de fornecimento/operação do produto)
  • 3) Determine as metas de teste de desempenho:
    • Cada função comercial principal deve atender aos requisitos de índice de desempenho correspondentes.
    • Testar se os requisitos do índice de desempenho são atendidos com base nos processos de negócios (várias combinações de interface)
    • Simule cenários reais de negócios dos usuários e realize testes de estabilidade de longo prazo

2.3 Plano de teste de desempenho (esta parte se sobrepõe à anterior, a parte anterior é um ponto de reflexão e, finalmente, deve ser implementada no documento do plano de teste)

1) Teste de fundo

O Light Mall é um projeto de comércio eletrônico recém-desenvolvido da empresa. Para garantir que o projeto possa funcionar de forma estável após seu lançamento e possa suportar o crescimento do usuário na promoção posterior, o desempenho do projeto precisa ser testado;

2) Finalidade do teste

  • Determine o TPS para funções comerciais essenciais
  • Processos de negócios de teste de estresse (combinações multiinterface)
  • O sistema pode operar de forma estável por 24 horas sob pressão operacional real do sistema.

3) Escopo do teste


4) Estratégia de teste:

  • Teste de benchmark-----Faça primeiro o teste de benchmark para determinar o padrão de estimativa
  • Teste de carga - aumentando gradualmente a carga do sistema, testando alterações no desempenho do sistema e, em última análise, determinando o teste de carga máximo que o sistema pode suportar enquanto atende aos indicadores de desempenho do sistema;
  • Simule 5, 10, 30, 50 e 100 usuários respectivamente para testar a carga do sistema para ver se os indicadores de software do sistema atendem aos requisitos sob diferentes condições de simultaneidade;
  • Teste de estabilidade ----- Realize um teste de estabilidade ininterrupto de 7 x 24 horas no sistema com 200 usuários, verifique se há alguma anormalidade e erro no log do servidor: se há flutuações anormais em vários indicadores do sistema software e se há problemas de estouro de memória;
  • Verifique a estabilidade do sistema a longo prazo e se há problemas como estouro de memória.

5) Controle de risco:


6) Lista de entrega: corresponde aos produtos de cada etapa do cronograma;

Plano de teste de desempenho, script de teste, estatísticas de defeitos de desempenho e relatório de teste de desempenho, etc.;

7) Progresso e divisão do trabalho: O trabalho de teste de desempenho é dividido em diversas etapas, bem como o horário de início e término de cada etapa e o responsável correspondente.


2.4 Escrevendo casos de teste de desempenho

Consulte o seguinte modelo de caso de teste de desempenho para escrever:

  • Para testar o desempenho de uma única função de negócios, escreva um caso de teste para cada ponto de teste (múltiplas interfaces estão fortemente relacionadas - de acordo com a interface, múltiplas interfaces podem ser colocadas no mesmo caso de uso)
  • Para testes combinados de diversas funções de negócios, processos de negócios representativos são selecionados para escrever casos de teste de acordo com os cenários de negócios reais do usuário.

3. Desenvolvimento de scripts de testes de desempenho

Use JMeter para escrever scripts de teste e depurar;

3.1 Componentes de teste comumente usados

Insira a descrição da imagem aqui
Trabalho de inicialização:

1) Crie uma estrutura de caso de teste

Nota: Um grupo de encadeamentos é um caso de uso, independentemente de quantas solicitações existem;

2) Defina o valor padrão da solicitação HTTP

3) Variáveis ​​definidas pelo usuário

4) Adicione um ouvinte – visualize a árvore de resultados

5) Adicionar ouvinte – relatório de agregação

3.2 Escrevendo roteiros

3.2.1 Script de login




Asserções: código de status, errmsg

Se você fizer testes de interface, deverá declarar os dados de negócios na resposta e poderá adicionar código de status e informações de descrição.

Se você estiver fazendo testes de desempenho, só poderá adicionar código de status e declarações de informações de descrição



3.2.2 Obtenha dados da página inicial



3.2.3 Pesquisa de produtos

Se os parâmetros na URL estiverem em chinês, é recomendável escrevê-los na lista a seguir


Asserções: código de status, errmsg

Se for um script de teste de interface, deverão ser feitas afirmações sobre o número de itens na resposta.

3.2.4 Ver detalhes do produto


Asserções: código de status, errmsg

Se for um script de teste de interface, as afirmações deverão ser feitas sobre os detalhes do produto na resposta;

3.2.5 Adicionar ao carrinho


Adicionar Solicitação 1 – Login

Insira a descrição da imagem aqui
Adicione o extrator json:

Insira a descrição da imagem aqui
Adicionar solicitação 2 – Adicionar ao carrinho

Insira a descrição da imagem aqui
Adicione asserções: código de status, errmsg

Se for um script de teste de interface, você precisa consultar meu carrinho de compras novamente para verificar se os dados retornados pelo meu carrinho de compras são consistentes com os dados retornados pela adição ao carrinho de compras, ou seja, você precisa adicionar outra solicitação;

3.2.6 Ver carrinho de compras


Solicitação: primeiro envie uma solicitação de login, extraia as informações do token, adicione a visualização do carrinho de compras, atribua as informações do token ao campo de cabeçalho X-litemall-Token e preencha o caminho e os parâmetros da solicitação;

3.2.7 Enviar pedido



Envie um pedido: 1) Primeiro envie uma solicitação para fazer login e extrair as informações do token; 2) Adicione uma solicitação de liquidação, atribua as informações do token ao campo de cabeçalho X-litemall-token, preencha o caminho da solicitação e os parâmetros; 3) Adicione uma solicitação de pedido e atribua as informações do token ao campo de cabeçalho X-litemall-token, preencha a solicitação de caminho e os parâmetros (observe que o endereço e o ID devem corresponder ao ID do usuário)

resposta:

Código de status; errmsg

Se o script for um script de teste de interface, será necessário afirmar que os dados do pedido na mensagem de resposta são consistentes com o número de meus pedidos na tabela de pedidos no banco de dados;

3.2.8 Ver pedidos

Insira a descrição da imagem aqui
No processo de escrita de scripts, os dados estáticos comumente usados ​​podem ser gravados em variáveis ​​definidas pelo usuário e referenciados quando o script está em execução. A vantagem é que se os dados não forem modificados posteriormente, as variáveis ​​podem ser modificadas diretamente, sem ir a cada script fazer modificações;

3.2.9 Scripts de processos de negócios

Insira a descrição da imagem aqui
Parece que o caso de uso é complicado, mas escrever o script é simples, porque os scripts de interface única foram escritos e podem ser combinados diretamente;

Por fim, gostaria de compartilhar com vocês alguns dos meus materiais de aprendizagem:

O conteúdo acima deve ser o armazém de preparação mais abrangente e completo para amigos de teste de software. Para organizar melhor cada módulo, também me referi a muitas postagens de blog de alta qualidade na Internet. e projetos, tentando não perder todos os pontos de conhecimento. Muitos amigos confiaram nesses conteúdos para revisar e receberam ofertas de grandes fabricantes como BATJ. Este armazém também ajudou muitos alunos de teste de software. Espero que também possa ajudar você .

Siga minha conta oficial do WeChat abaixo para obtê-lo gratuitamente! ↓ ↓ ↓ ↓ ↓

Acho que você gosta

Origin blog.csdn.net/weixin_56331124/article/details/132625549
Recomendado
Clasificación