Por uma questão de clareza, o teste de estresse que escrevi aumenta constantemente a carga no sistema até atingir um ponto de ruptura. Teoricamente, ele é executado indefinidamente, mas, como os recursos do sistema são finitos, espera-se que falhe após algum tempo. Eu tenho uma carga esperada para o sistema, mas isso é testado separadamente em um teste de carga . O objetivo desse teste de estresse é descobrir quanta carga posso colocar no sistema antes de implementar a escala.
Estou escrevendo um teste de estresse para um sistema e estou imaginando se faz sentido ter critérios de aprovação / reprovação. Por natureza do teste, a carga aumenta constantemente até atingir um ponto de ruptura (ou seja, falha ). Obviamente, não sei qual é esse ponto de ruptura de antemão e, portanto, nenhuma expectativa da carga que o sistema possa suportar (em teoria, de qualquer maneira).
Agora eu tenho outros testes de desempenho para testar o sistema com uma carga esperada etc., para os quais posso definir facilmente critérios de aprovação / reprovação e poderia usar esses critérios como base para o teste de estresse. Em outras palavras, eu poderia definir uma linha de base mínima para o meu teste de estresse, mas não tenho certeza se é a coisa certa a fazer (isso está 'duplicando' meu outro teste?).
Espero que alguém com mais experiência em testes de desempenho possa me ajudar aqui. Quais critérios de aprovação / reprovação foram usados por outras pessoas no teste de estresse (se houver)?
fonte
Respostas:
Em um teste de estresse, seu trabalho não é definir o estresse que o sujeito deve suportar. É para medir o estresse necessário antes de falhar.
Você pode usar os critérios de desempenho para definir o que é uma falha de estresse. Mas o resultado de um teste de estresse não é aprovado / reprovado. "Falhou após 90 horas sob utilização de 100%, com ventilação 50% comprometida".
fonte
Depende dos requisitos, se seus requisitos especificarem que o resultado esperado para o desempenho do aplicativo é X e, na verdade, você obteve Y, então é uma falha.
Se você não tiver requisitos definidos, poderá estressar o sistema e coletar dados de limite e descobrir e documentar esses limites.
fonte
Você pode atualizar facilmente seu teste de estresse primário para também suportar uma verificação de aprovação / reprovação de controle de qualidade, algo como "capaz de alcançar / sustentar a carga X sem interromper". Idealmente, com o X sendo configurável (para diferentes ramificações de lançamento, por exemplo).
O resultado seria
fail
se o sistema quebrar antes que a carga atinja X epass
se não quebrar. Você apenas precisaria parar de aumentar a carga quando atingir o valor X em um cenário de "sustentação".IMHO, um teste automatizado como esse pode ser muito útil no contexto de CI / CD, especialmente em ramos de produção.
fonte