destructive testing
Diferença entre testes destrutivos e testes não destrutivos com seus tipos e métodos:
Neste artigo, vamos discutir detalhes sobre testes destrutivos e testes não destrutivos de software.
Aprenderemos sobre eles um por um e também veremos as diferenças entre esses dois tipos de teste no final do artigo.
O que você aprenderá:
- O que são testes destrutivos e quais são seus benefícios?
- O que são testes não destrutivos e quais são seus benefícios?
- Diferença entre testes destrutivos e não destrutivos
O que são testes destrutivos e quais são seus benefícios?
O Teste Destrutivo de Software (DST) é um tipo de teste de software que tenta fazer com que uma parte do aplicativo de software falhe de forma descontrolada, para testar sua robustez e detectar o ponto de falha.
Comparando com outros métodos convencionais de teste de software que verificam a funcionalidade do software, este método inspeciona o comportamento imprevisível do usuário dentro do software. Portanto, ele nos permite descobrir defeitos de software que geralmente não são encontrados por usuários comuns.
Observe que o teste destrutivo de software (DST) é uma abordagem alternativa ao teste de software de tipo convencional (CST), mas não sua substituição. É eficaz realizar o DST além do CST.
Os testes destrutivos são realizados nas mais rigorosas condições de operação e continuam até que a aplicação seja interrompida. A ideia-chave desse teste não é apenas descobrir as deficiências do projeto, se houver, que possivelmente não serão reveladas em condições normais de trabalho, mas também descobrir a vida útil do produto de software.
Esse tipo de teste compartilha semelhanças com o Teste Monkey, o Teste Ad hoc e o Teste Exploratório.
Benefícios do teste de software destrutivo
como extrair arquivos 7z no mac
- Ajuda a avaliar a robustez, capacidade de recuperação e vida útil do aplicativo.
- Revela os pontos de falha em caso de uso impróprio ou indevido do software.
- Ele define o contexto certo para o testador, pois ignora os preconceitos das histórias de usuário no teste.
- Ele nos permite descobrir defeitos de software que geralmente não são encontrados por usuários comuns.
- Este tipo de teste é único na descoberta de falhas no aplicativo que, quando tratadas, promoverão a classificação do software para o status de prova de novato.
Etapas para realizar este teste
- No início do ciclo de teste destrutivo de software, o cliente envia uma cópia do aplicativo ou credenciais de acesso e requisitos do usuário.
- O cliente então apresenta os requisitos e demonstra o aplicativo para um analista de QA.
- Em seguida, o analista de QA estabelece a função dos limites dentro do aplicativo e cria os limites de usabilidade do aplicativo dentro dos limites.
- Agora, o testador de QA testará aleatoriamente o aplicativo dentro desses limites, usando as técnicas estocásticas. Os fluxos de trabalho e defeitos do teste de QA são registrados.
- Finalmente, o diretório de defeitos é compartilhado com o cliente.
- Se houver necessidade, o ciclo de teste destrutivo pode ser repetido com base nos requisitos do cliente.
Para este teste, é bom ter algum conhecimento dos requisitos originais do software. Isso ajuda a criar uma boa estratégia de teste.
O que você verifica no Teste Destrutivo?
- Comportamento impróprio e adequado do aplicativo de software.
- Dados de entrada válidos e inválidos.
- Uso impróprio do aplicativo de software.
Métodos e estratégias de teste destrutivo de software
Existem várias maneiras pelas quais os testes destrutivos podem ser realizados:
1) Método de análise de ponto de falha:
Neste método, o aplicativo é revisado e examinado para acessar cada caminho e canto dele. É determinado o que pode falhar em vários pontos. Para este método, você pode obter a ajuda de analistas de negócios para obter uma explicação passo a passo do aplicativo.
2) Revisão por pares:
Faça com que o aplicativo seja revisado por outro testador que não esteja familiarizado com o software. Isso ajudará a encontrar alguns pontos ocultos de falha que não eram visíveis para você como testador.
3) Faça com que os casos de teste sejam revisados pela empresa:
Os usuários finais e outras partes interessadas às vezes podem pensar em cenários de teste válidos que um testador pode ter perdido. Portanto, fazer com que os casos de teste sejam revisados pela empresa pode aumentar sua cobertura de teste.
4) Teste exploratório:
Realize testes exploratórios com a ajuda de planilhas de execução. Isso o ajudará a saber o que é testado, repetir os testes e controlar a cobertura do teste.
5) Alimente o sistema com dados impróprios:
como adicionar um inteiro a um array em java
Você pode fornecer dados inválidos para o aplicativo. Isso pode incluir dados corrompidos, a sequência errada de etapas na interface do usuário, etc.
6) Use outras fontes:
Você também pode usar quaisquer outras fontes ou formas de quebrar o sistema e analisar diferentes cenários. O bom é que a história do usuário de teste de software destrutivo não pede necessariamente 'requisitos' e 'especificações', então você pode experimentar qualquer maneira adequada de conduzir esse teste.
Técnicas de teste destrutivo
O teste de software destrutivo pode ser realizado por meio de várias técnicas, como:
- Teste de aceitação
- Teste de loop
- Teste de regressão
- Particionamento equivalente
- Teste de valor limite
- Teste de interface
- Teste Alfa / Beta
- Teste de sistema
- Teste de cima para baixo
- Teste de caixa preta
Algumas dicas úteis para testes destrutivos de software
- Obtenha o máximo de conhecimento possível sobre o produto. Coloque-se no lugar do cliente e, a seguir, pense no produto a partir da perspectiva dele.
- Apague todas as informações tendenciosas da história do usuário. Esqueça a descrição da história do usuário e os critérios de aceitação e tente quebrar o aplicativo como um cliente louco.
- Procure os caminhos da exceção, não os caminhos felizes. Lembre-se de que, ao ignorar os critérios de aceitação, você não saberá o fluxo de trabalho esperado ou normal.
- Não espere uma resposta positiva de seu aplicativo. E se algo falhar? Tente simular e corromper tudo o que puder.
- Limite as condições da sua rede para uma configuração mais realista, porque todos os usuários reais não terão máquinas e condições de rede de primeira classe.
O que são testes não destrutivos e quais são seus benefícios?
O Teste Não Destrutivo (END) é descrito como uma técnica de avaliação de software que envolve interagir com o software corretamente. Ao contrário dos testes destrutivos de software, onde procuramos caminhos de exceção, nos testes não destrutivos, procuramos caminhos felizes ou dourados. NDT também é conhecido como teste positivo.
Por exemplo, se houver uma caixa de entrada que aceita um número entre 1 e 999, um caso de teste positivo seria inserir um número dentro dessa faixa e verificar a funcionalidade da caixa de entrada.
Em NDT, temos um caso de teste bem definido usando um requisito conhecido, que executa sem nenhum erro ou exceções e produz a saída desejada. Ele fornece os resultados esperados e verifica se o software está funcionando conforme o esperado.
Benefícios de teste de software não destrutivo
- A melhoria da qualidade do software e os problemas são corrigidos no fluxo principal do aplicativo.
- Útil para demonstrar que o aplicativo de software está funcionando de acordo com as especificações exigidas.
- Verifica se as expectativas do cliente foram atendidas.
- Garante que os requisitos de desempenho sejam atendidos.
- Economiza tempo e dinheiro na avaliação e solução de problemas do produto.
Quando realizar este teste
- Deve ser a primeira forma de teste e precisa ser feito no estágio inicial do SDLC porque o caminho feliz é o fluxo principal do aplicativo e se não funcionar bem, o resto do teste será bloqueado.
- Isso pode ser feito de forma rápida e fácil quando não temos tempo e orçamento suficientes para os testes. Isso pelo menos garante que os requisitos de software e os critérios de aceitação sejam atendidos.
Estratégia para teste de software não destrutivo
- A abordagem de teste positivo deve ser adotada para conduzir o teste não destrutivo.
- Ao fazer o teste, o testador deve ter em mente que o objetivo do teste não destrutivo é verificar se o aplicativo funcionará bem ao fornecer dados de entrada válidos. Assim, o objetivo é verificar o comportamento do aplicativo para o conjunto de dados positivo.
- A melhor prática é verificar se o sistema está fazendo o que foi planejado.
Diferença entre testes destrutivos e não destrutivos
Teste destrutivo | Teste não destrutivo |
---|---|
Concentra-se nos pontos fracos do design, mas não na funcionalidade. | Concentra-se nas fraquezas da funcionalidade, mas não no design. |
Não precisa necessariamente de requisitos de negócios. O teste destrutivo é feito sem se familiarizar com os requisitos pré-decididos. | O teste é feito para verificar as funcionalidades em relação aos requisitos de negócios e critérios de aceitação. |
A intenção é quebrar o software fornecendo entradas incomuns para detectar pontos de falhas. | A intenção é interagir com o software corretamente para verificar resultados positivos. |
Conclusão
Em testes destrutivos, o aplicativo é intencionalmente feito para travar para examinar a robustez do aplicativo. Ele detecta os pontos de falha no software que podem ocorrer devido ao manuseio incorreto do aplicativo pelo cliente.
Ele detecta os pontos fracos que não podem ser rastreados usando testes de software convencionais. Para uma melhor cobertura de teste, é preferível conduzir testes de software destrutivos junto com testes de software convencionais.
O teste não destrutivo é feito com o teste positivo ou abordagem de teste de caminho feliz para verificar se a funcionalidade do software está atendendo aos requisitos do cliente. Envolve interagir com o software corretamente.
Leitura recomendada
- Melhores ferramentas de teste de software 2021 (QA Test Automation Tools)
- Trabalho de assistente de controle de qualidade de teste de software
- Curso de Teste de Software: Qual Instituto de Teste de Software devo ingressar?
- Escolhendo o teste de software como sua carreira
- Trabalho de freelancer de redator de conteúdo técnico de teste de software
- Download do e-book do Testing Primer
- Algumas perguntas interessantes da entrevista de teste de software
- Comentários e análises do curso de teste de software