O que é teste de transição de estado?

O teste de transição de estado é conhecido como uma técnica de teste de software em que as alterações nas condições de entrada fazem com que o estado seja alterado no Aplicativo em Teste, ou seja, AUT.

O teste de transição de estado também é um teste de caixa preta em que o testador vê o comportamento do aplicativo que está sob o teste para várias condições de entrada que estão na sequência. Aqui, o testador nos fornece entradas positivas e negativas dos valores de teste e, posteriormente, registra o comportamento do sistema. É também um modelo no qual o sistema e os testes são baseados. Qualquer um dos locais de onde você obtém saída diferente para a mesma entrada, dependendo do estado que ocorreu antes, é chamado de sistema de estados finitos.

Quando usar o teste de transição de estado?

  • O teste de transição de estado é usado sempre que o testador está testando um aplicativo considerando o conjunto finito dos valores de entrada.
  • Também pode ser usado sempre que o testador estiver testando a sequência de eventos que ocorrem em um aplicativo em teste, ou seja, isso tornaria o comportamento do aplicativo de teste para a sequência dos valores de entrada.

Além disso, ele pode ser usado sempre que um sistema que estiver sob teste tiver dependência dos eventos ou valores do passado.

O diagrama de transição de estado demonstra os estados na forma de textos em caixas e a transição é demonstrada através das setas. O diagrama de transição de estado também é chamado de Gráfico de Estado ou também Gráfico. Também é bastante útil na identificação das transições válidas.

Como executar o teste de transição de estado (incluir exemplos)

Exemplo 1 :

Vamos assumir a funcionalidade do sistema ATM em que, no caso de o usuário digitar uma senha inválida por três vezes consecutivas, a conta será bloqueada.

No entanto, no mesmo sistema, caso o usuário insira uma senha válida em qualquer uma das três tentativas consecutivas, o usuário efetuará login com êxito. No entanto, caso o usuário digite uma senha inválida pela primeira ou segunda vez, é solicitado que o usuário digite novamente a senha. Por fim, caso o usuário digite a senha incorreta pela terceira vez, sua conta será bloqueada.

Sempre que o usuário digita o PIN correto, ele faz logon com o estado de acesso concedido e, no caso das chaves da senha errada, ele recebe a próxima tentativa e, se repetir sua ação pela terceira vez, o estado bloqueado da conta é alcançado.

Tabela de transição de estado

PIN corretoPIN incorreto
D1) IniciarD5D2
D2) 1ª tentativaD5D3
D3) tentativaD5D4
D4) tentativaD5D6
D5) Acesso concedido--
D6) Conta bloqueada--

Conforme fornecido na tabela acima, sempre que o usuário digita o PIN correto, o estado é movido para D5, que é chamado de Estado concedido ao acesso. Mas, caso o usuário tecle o pino errado, ele será transferido para o próximo estado. No entanto, caso ele faça o mesmo na terceira tentativa, ele estará no estado em que sua conta será bloqueada.

Exemplo 2:

Na tela de login da reserva de voos, suponha que você precise digitar o nome do agente e a senha corretos para entrar no aplicativo de reserva de voos.

Isso nos daria acesso ao aplicativo com a senha e o nome de usuário corretos, mas você sabe o que aconteceria se você digitasse a senha incorreta.

Esse aplicativo também permite apenas três tentativas e, no caso de os usuários digitarem a senha incorreta no sistema da 4ª tentativa, o aplicativo fechará automaticamente.

Os gráficos de estado são úteis para determinar as transições válidas que precisam ser testadas. Nesse caso, é obrigatório testar junto com o pino certo e com o pino errado.

Também podemos usar a Tabela de Estados para determinar transições de sistema inválidas.

Para a Tabela de estados, todos os estados válidos são fornecidos no lado esquerdo da tabela, também os eventos que os fazem ocorrer estão acima.

Todas as células denotam que o sistema de estado acabaria se movendo para sempre que o evento correspondente ocorrer.

Vamos dar um exemplo. Quando você está no estado D1, insere a senha correta e é transferido para o estado D6, que é o Estado Concedido por Acesso. Caso tenhamos digitado a senha errada na primeira tentativa, você seria movido para o estado D3 ou receberia uma segunda tentativa.

De maneira semelhante, podemos prever os estados restantes.

Destacamos dois dos estados inválidos com a ajuda deste método. Suponha que estamos no estado S6, ou seja, já estamos logados no aplicativo e depois abrimos a outra instância da reserva de voo e inserimos senhas certas ou erradas apenas para o mesmo agente. A resposta do sistema para essa condição precisa ser concluída.

Vantagens

  • Essa técnica de teste de caixa preta fornece uma representação pictórica / tabular do comportamento do sistema que permitirá que o testador seja concluído, além de entender o comportamento do sistema de maneira eficaz.
  • Ao usar esse teste, o testador de técnica pode verificar se todas as condições são cobertas usando esse teste específico. Além disso, os resultados também são capturados.

Desvantagens

  • A desvantagem mais básica da técnica de teste de transição de estado é que nunca podemos depender ou confiar neste procedimento a qualquer momento. Vamos dar um exemplo. Caso o sistema infinito do sistema, ou seja, não esteja em uma ordem sequencial, não podemos usar esta técnica.
  • A segunda desvantagem do teste de transição de estado é que precisamos mencionar todos os estados possíveis do sistema. Embora seja correto para todos os menores, no entanto, ele se resume a outros maiores, pois existe progressão exponencial quando se trata de quantos estados existem.

Artigos recomendados

Este foi um guia para testes de transição de estado. Aqui discutimos conceitos básicos, exemplos, vantagens e desvantagens do teste de transição de estado. Você também pode consultar o seguinte artigo para saber mais -

  1. Teste Funcional vs Teste Não Funcional
  2. O que é Marketing Digital?
  3. Teste de Integração do Sistema
  4. Ferramentas de Teste de Penetração